当前位置: 首页 > news >正文 l临沂互助系统网站开发我的世界怎么做赞助网站 news 2025/10/28 23:52:21 l临沂互助系统网站开发,我的世界怎么做赞助网站,合肥市公司网站建设,中国营销大师排名#x1f389;#x1f389;欢迎光临#xff0c;终于等到你啦#x1f389;#x1f389; #x1f3c5;我是苏泽#xff0c;一位对技术充满热情的探索者和分享者。#x1f680;#x1f680; #x1f31f;持续更新的专栏《Spring 狂野之旅#xff1a;从入门到入魔》 欢迎光临终于等到你啦 我是苏泽一位对技术充满热情的探索者和分享者。 持续更新的专栏《Spring 狂野之旅从入门到入魔》 本专栏带你从Spring入门到入魔 这是苏泽的个人主页可以看到我其他的内容哦 努力的苏泽http://suzee.blog.csdn.net/ Spring Cloud Stream构建在SpringBoot之上提供了KafkaRabbitMQ等消息中间件的个性化配置引入了发布订阅、消费组和分区的语义概念 没学过消息中间件的可以看我之前的文章Kafka、RabbitMQ 下面是正片 按照自己的口味来食用哦有比较难懂的地方 目录 本文是通过大量阅读 和最近的一些项目的思考和总结 写出来的 关于Spring Cloud Stream的文章不少 但我更想以观众能够轻松理解并且运用到自己的项目当中 我认为这才是技术存在的意义 Spring Cloud Stream: 消息驱动架构 引言 Spring Cloud Stream的概念和目标 事件驱动架构在现代微服务应用程序中的重要性 先来认识Spring Cloud Stream架构 消息驱动架构MDA 两者之间的关系 Spring Cloud Stream作为实现MDA的框架 他是怎么做的呢 我把他分成以下几点 那么我们了解了其思想和架构 我们要如何建立到我们自己的项目当中应用这种方式呢 这是一个很关键的问题 实例讲解 步骤 1: 定义平台无关模型PIM 步骤 2: 配置消息中间件绑定器 步骤 3: 实现消息转换和处理 步骤 4: 实现消息发送和接收的代码 步骤 5: 实现业务逻辑 以上就是一个很简单的MDA框架的业务demo的实现啦 再结合中间件的知识学习加以实践 就能较好的构建一个云原生的项目啦 希望能够帮到有需要的读者 如有纰漏 望指出 关注我 深入学习Spring云原生系列一起努力~ Spring Cloud Stream: 消息驱动架构 引言 随着云计算、微服务和大数据技术的快速发展构建可扩展、高性能和弹性的应用程序变得越来越重要。为了满足这些要求许多开发人员转向了事件驱动架构它允许应用程序通过基于事件的方式相互通信从而提高了系统的响应速度和伸缩性。在这个背景下Spring Cloud Stream应运而生它是一个用于构建基于事件驱动的微服务应用程序的框架可以与现有的消息中间件如Apache Kafka和RabbitMQ无缝集成。 Spring Cloud Stream的概念和目标 Spring Cloud Stream是一个用于构建基于事件驱动的微服务应用程序的框架其核心目标是简化开发过程降低消息通信的复杂性从而使开发人员能够专注于编写业务逻辑。Spring Cloud Stream通过提供Binder抽象将应用程序与消息中间件解耦让开发人员无需关心底层通信细节。同时它还提供了一套丰富的API和特性如消息分组、分区和错误处理使得构建强大、可扩展的事件驱动应用程序变得更加简单。 事件驱动架构在现代微服务应用程序中的重要性 事件驱动架构是指应用程序组件之间通过事件进行通信的架构。在这种架构中组件之间的通信是异步的基于发布-订阅模式这有助于实现以下几个关键优势 可伸缩性应用程序可以通过增加或减少组件实例来应对不断变化的负载而不会对整个系统产生负面影响。解耦组件之间的通信是基于事件的它们无需知道对方的内部实现这有助于降低系统的复杂性和维护成本。高性能事件驱动架构允许应用程序以并行方式处理事件从而提高了系统的响应速度和吞吐量。弹性由于组件之间的通信是异步的当某个组件出现故障时其他组件可以继续处理事件降低了单点故障的风险。 先来认识Spring Cloud Stream架构 消息驱动架构MDA 想象一下我们要建造一座房子。传统的方式是我们需要手工完成从设计到建造的每一个步骤。我们首先创建设计图纸然后按照图纸上的规格和要求一步步地建造房子。 而在MDA的方式下我们使用了一种自动化的工具来简化这个过程。我们首先创建一个高度抽象的模型就像是一个概念上的房子草图。这个模型与具体的实现技术无关只关注房子的整体结构和功能。 接下来我们使用工具将这个高级模型转换为与特定实现技术相关的模型就像是根据草图创建了一份针对具体施工工艺的图纸。例如我们可以将高级模型转换为使用钢筋混凝土结构的房子模型。 最后我们使用工具将这个特定实现技术的模型转换为实际的代码就像是根据图纸建造房子的过程。这些代码与应用技术密切相关最终实现了我们所设计的系统。 这种方式的好处是自动化工具帮助我们完成了从高级模型到具体代码的转换省去了手工操作的繁琐过程。这样开发人员可以更加清晰地理解整个系统的架构而不会受到具体实现技术的干扰。同时对于复杂的系统也减少了开发人员的工作量。 两者之间的关系 Spring Cloud Stream作为实现MDA的框架 他是怎么做的呢 我把他分成以下几点 定义平台无关模型PIM 在Spring Cloud Stream中你可以定义一个高度抽象的PIM它描述了消息的生产者和消费者之间的通信和交互方式而与具体的消息中间件实现无关。PIM可以包括消息的格式、结构、交换模式等。这个PIM可以作为系统设计的核心模型独立于具体的实现技术。 选择和配置绑定器Binder Spring Cloud Stream提供了与多种消息中间件集成的绑定器如Kafka、RabbitMQ等。绑定器可以将PIM与特定的消息中间件进行连接使得消息的发送和接收可以与具体的消息中间件实现进行交互。通过选择和配置适当的绑定器你可以将PIM转换为特定的平台相关模型PSM以便与消息中间件进行通信。 实现消息转换和处理 Spring Cloud Stream提供了消息转换的机制允许你定义如何将原始消息转换为特定的领域对象并在消费者之间传递。你可以使用消息转换器来处理消息的序列化和反序列化以及将消息转换为应用程序所需的数据结构。这样你可以在系统中实现解耦合和灵活的消息处理。 自动化生成代码 Spring Cloud Stream提供了自动化的代码生成能力将PSM转换为具体的代码实现。你只需要定义好PIM和PSM之间的映射关系Spring Cloud Stream会根据这些映射关系自动生成生产者和消费者的代码从而实现消息的发送和接收。这样你可以专注于定义PIM和PSM并通过自动生成的代码实现实际的消息处理逻辑。 那么我们了解了其思想和架构 我们要如何建立到我们自己的项目当中应用这种方式呢 这是一个很关键的问题 实例讲解 拿之前做过的一个商城系统来说其中包含订单服务和库存服务之间的消息通信。订单服务负责接收订单创建请求并发送订单信息给库存服务库存服务接收订单信息并更新库存。 步骤 1: 定义平台无关模型PIM 在订单服务和库存服务之间定义一个平台无关模型例如一个名为Order的Java类表示订单信息。 public class Order {private String orderId;private String productId;private int quantity;// 其他订单相关的属性和方法// Getters and setters } 步骤 2: 配置消息中间件绑定器 在订单服务和库存服务的配置文件中配置Spring Cloud Stream使用合适的消息中间件绑定器。在这个例子中我们使用RabbitMQ作为消息中间件。 订单服务的配置文件application.properties spring.cloud.stream.bindings.sendOrder-out-destinationorder-exchange 库存服务的配置文件application.properties spring.cloud.stream.bindings.receiveOrder-in-destinationorder-exchange 步骤 3: 实现消息转换和处理 在订单服务中定义一个消息发送接口并实现消息转换和发送逻辑。 EnableBinding(OrderSource.class) public class OrderService {Autowiredprivate OrderSource orderSource;public void createOrder(Order order) {// 执行订单创建逻辑// 发送订单消息orderSource.sendOrder().send(MessageBuilder.withPayload(order).build());} }interface OrderSource {Output(sendOrder)MessageChannel sendOrder(); } 在库存服务中定义一个消息接收接口并实现消息处理逻辑。 EnableBinding(OrderSink.class) public class InventoryService {StreamListener(target receiveOrder)public void handleOrder(Order order) {// 执行库存更新逻辑} }interface OrderSink {Input(receiveOrder)SubscribableChannel receiveOrder(); } 步骤 4: 实现消息发送和接收的代码 在订单服务中定义一个消息发送接口并实现消息发送逻辑。 EnableBinding(OrderSource.class) public class OrderService {Autowiredprivate OrderSource orderSource;public void createOrder(Order order) {// 执行订单创建逻辑// 发送订单消息orderSource.sendOrder().send(MessageBuilder.withPayload(order).build());} }interface OrderSource {Output(sendOrder)MessageChannel sendOrder(); } 在库存服务中定义一个消息接收接口并实现消息处理逻辑。 EnableBinding(OrderSink.class) public class InventoryService {StreamListener(target receiveOrder)public void handleOrder(Order order) {// 执行库存更新逻辑} }interface OrderSink {Input(receiveOrder)SubscribableChannel receiveOrder(); } 步骤 5: 实现业务逻辑 根据具体的业务需求在订单服务和库存服务中编写业务逻辑来处理接收到的消息。例如在库存服务中你可以根据接收到的订单消息更新库存信息。 EnableBinding(OrderSink.class) public class InventoryService {Autowiredprivate InventoryRepository inventoryRepository;StreamListener(target receiveOrder)public void handleOrder(Order order) {// 根据订单消息更新库存信息String productId order.getProductId();int quantity order.getQuantity();// 执行库存更新逻辑inventoryRepository.updateInventory(productId, quantity);} } 以上就是一个很简单的MDA框架的业务demo的实现啦 再结合中间件的知识学习加以实践 就能较好的构建一个云原生的项目啦 希望能够帮到有需要的读者 如有纰漏 望指出 关注我 深入学习Spring云原生系列一起努力~ 文章转载自: http://www.morning.kaylyea.com.gov.cn.kaylyea.com http://www.morning.znsyn.cn.gov.cn.znsyn.cn http://www.morning.rdymd.cn.gov.cn.rdymd.cn http://www.morning.zwzwn.cn.gov.cn.zwzwn.cn http://www.morning.wnhml.cn.gov.cn.wnhml.cn http://www.morning.qnbgk.cn.gov.cn.qnbgk.cn http://www.morning.sjjq.cn.gov.cn.sjjq.cn http://www.morning.kbbmj.cn.gov.cn.kbbmj.cn http://www.morning.ypzr.cn.gov.cn.ypzr.cn http://www.morning.qbtj.cn.gov.cn.qbtj.cn http://www.morning.hlmkx.cn.gov.cn.hlmkx.cn http://www.morning.nwwzc.cn.gov.cn.nwwzc.cn http://www.morning.qcztm.cn.gov.cn.qcztm.cn http://www.morning.ykrss.cn.gov.cn.ykrss.cn http://www.morning.hpmzs.cn.gov.cn.hpmzs.cn http://www.morning.zydr.cn.gov.cn.zydr.cn http://www.morning.qcygd.cn.gov.cn.qcygd.cn http://www.morning.gtbjf.cn.gov.cn.gtbjf.cn http://www.morning.nlffl.cn.gov.cn.nlffl.cn http://www.morning.txmlg.cn.gov.cn.txmlg.cn http://www.morning.cxlys.cn.gov.cn.cxlys.cn http://www.morning.rzmsl.cn.gov.cn.rzmsl.cn http://www.morning.lywcd.cn.gov.cn.lywcd.cn http://www.morning.shangwenchao4.cn.gov.cn.shangwenchao4.cn http://www.morning.httpm.cn.gov.cn.httpm.cn http://www.morning.mhnd.cn.gov.cn.mhnd.cn http://www.morning.cffwm.cn.gov.cn.cffwm.cn http://www.morning.qtzwh.cn.gov.cn.qtzwh.cn http://www.morning.yhywr.cn.gov.cn.yhywr.cn http://www.morning.kphsp.cn.gov.cn.kphsp.cn http://www.morning.qcdtzk.cn.gov.cn.qcdtzk.cn http://www.morning.jgrjj.cn.gov.cn.jgrjj.cn http://www.morning.srrzb.cn.gov.cn.srrzb.cn http://www.morning.yrjym.cn.gov.cn.yrjym.cn http://www.morning.shsh1688.com.gov.cn.shsh1688.com http://www.morning.gxfzrb.com.gov.cn.gxfzrb.com http://www.morning.rjfr.cn.gov.cn.rjfr.cn http://www.morning.rrdch.cn.gov.cn.rrdch.cn http://www.morning.rkrcd.cn.gov.cn.rkrcd.cn http://www.morning.qdrhf.cn.gov.cn.qdrhf.cn http://www.morning.gbsfs.com.gov.cn.gbsfs.com http://www.morning.rkqzx.cn.gov.cn.rkqzx.cn http://www.morning.grpbt.cn.gov.cn.grpbt.cn http://www.morning.kqzrt.cn.gov.cn.kqzrt.cn http://www.morning.rmyt.cn.gov.cn.rmyt.cn http://www.morning.zlchy.cn.gov.cn.zlchy.cn http://www.morning.bdzps.cn.gov.cn.bdzps.cn http://www.morning.wqpsf.cn.gov.cn.wqpsf.cn http://www.morning.cspwj.cn.gov.cn.cspwj.cn http://www.morning.mjkqj.cn.gov.cn.mjkqj.cn http://www.morning.jcxqc.cn.gov.cn.jcxqc.cn http://www.morning.lqgtx.cn.gov.cn.lqgtx.cn http://www.morning.sjftk.cn.gov.cn.sjftk.cn http://www.morning.zlnkq.cn.gov.cn.zlnkq.cn http://www.morning.ybnzn.cn.gov.cn.ybnzn.cn http://www.morning.jzykq.cn.gov.cn.jzykq.cn http://www.morning.wfwqr.cn.gov.cn.wfwqr.cn http://www.morning.osshjj.cn.gov.cn.osshjj.cn http://www.morning.qjldz.cn.gov.cn.qjldz.cn http://www.morning.xwzsq.cn.gov.cn.xwzsq.cn http://www.morning.wfhnz.cn.gov.cn.wfhnz.cn http://www.morning.blxor.com.gov.cn.blxor.com http://www.morning.trmpj.cn.gov.cn.trmpj.cn http://www.morning.pamdeer.com.gov.cn.pamdeer.com http://www.morning.wjhnx.cn.gov.cn.wjhnx.cn http://www.morning.qgjwx.cn.gov.cn.qgjwx.cn http://www.morning.yqfdl.cn.gov.cn.yqfdl.cn http://www.morning.cthkh.cn.gov.cn.cthkh.cn http://www.morning.fsqbx.cn.gov.cn.fsqbx.cn http://www.morning.rzmkl.cn.gov.cn.rzmkl.cn http://www.morning.fylqz.cn.gov.cn.fylqz.cn http://www.morning.tpnch.cn.gov.cn.tpnch.cn http://www.morning.lgkbn.cn.gov.cn.lgkbn.cn http://www.morning.yckwt.cn.gov.cn.yckwt.cn http://www.morning.tplht.cn.gov.cn.tplht.cn http://www.morning.byjwl.cn.gov.cn.byjwl.cn http://www.morning.qbzdj.cn.gov.cn.qbzdj.cn http://www.morning.stsnf.cn.gov.cn.stsnf.cn http://www.morning.kqfdrqb.cn.gov.cn.kqfdrqb.cn http://www.morning.qscsy.cn.gov.cn.qscsy.cn 查看全文 http://www.tj-hxxt.cn/news/219310.html 相关文章: 网站建设推广99元个人理财的网站开发 双语cms网站企业网站建设的研究开发方法及技术路线 企业网站建设方案如何网站建设相关的比赛 使用他人商标做网站搜索词目前最好的oa系统 廊坊网站建设团队wordpress dux主题5.0版本 罗湖小学网站建设wordpress登陆界面修改 如何做网站 做论坛wordpress wiki插件 建筑公司排名前100seo专业培训 毕设做网站什么主题比较好咸阳网站建设方案 爱站工具有加超人下拉系统教育培训机构报名 自己做网站能挣钱吗wordpress占内存 济南网站建设开发与制作广州微网站建设机构 中英语双语网站咋做杭州互联网企业有哪些 网站流量提升方法二级域名做很多网站 网站建站主题北京企业网站建设飞沐 敬老院网站建设方案网页排版设计软件 微网站平台微网站建设方案模板网站开发承包合同 网站系统平台的安全策略是什么建站平台 在线提交表格功能 网站的功能和作用途牛企业网站建设 企业网站建设原则是( )网络营销业务流程 苍南网站制作手机怎么制作图文广告 九江市住房和城乡建设局官方网站雅安移动网站建设 南宁自助模板建站动易网站 价格 网站程序语言那个好用vps刷网站流量要怎么做 解释自己做的网站多平台网页制作 高端网站开发公司wordpress raw 使用腾讯云建设网站教程天猫店怎么申请 长春建设网站制作电子商务网站建设讨论 有关大学生做兼职的网站软件工程项目开发的步骤 济南建设网站 概况一个完整网站制作的实例