微服务与无服务器知识大放送(二)
发布日期:2021-08-23 10:16 | 文章来源:IDC点评
【YINGSOO提示】本文部分内容收集整理于网络,不代表本站观点!若有了解“微服务与无服务器知识大放送(二)”等有关服务器、云主机租用、托管、配置、价格问题,请免费咨询YINGSOO客服,获取最新优惠!
【畅销主机】马来西亚云服务器 | 柬埔寨物理服务器 | 美国显卡服务器
【精选好文】香港大带宽服务器租用全面解析!
我们将一个微服务分为命令端、查询端和事件处理器,这三个部分可以相互独立地部署。命令端本示例中的命令端提供了REST API,可接受通过HTTP发送的请求。请求采取命令的形式,可以驱动对微服务所拥有的领域数据的状态更改。简单来说,对领域数据的任何写入都将以命令形式从API请求流出,处理导致数据库发生更改的操作。命令触发操作,操作触发领域事件。领域事件保存在事件存储中,也就是“一个将数据库与消息代理相结合的系统。”最合适入门使用的事件存储是Eventuate,是由Chris Richardson创建的项目,旨在帮助将CQRS和Event Sourcing应用到微服务。领域事件存储为按时间顺序排列的一系列事件,附加在日志上。由于每个命令都生成一个事件,我们能够根据收集的事件历史记录重新构建当前系统的总体状态。事件处理器我们要探讨的下一个组件是事件处理器。这个CQRS组件采用Worker应用的形式,负责摄取领域事件。事件处理器是无状态的,并侦听来自事件存储的消息,对传入的事件消息采取操作。事件处理器可通过很多有用的方式对新的领域事件作出响应。一个领域事件可以生成多个事件,这些事件可以发送到其他微服务。这就是为什么大多数微服务开发人员都被CQRS吸引,因为通过这种方法可以发布和订阅来自限界环境之外的应用的领域事件。这种方法为我们提供了一种机制,可确保领域数据的引用完整性。来自其他微服务的消息可用来处理领域事件,从而让我们能够维护分布式系统中与其他记录的领域数据相关的恼人的外键关系。查询端事件处理器首要负责应用可改变领域整合状态的领域事件。每个领域事件都可用来更新数据库记录,形成描述整合的增量实体化视图。反过来,查询端将提供一个REST API,允许HTTP客户端读取从已处理事件生成的实体化视图。查询端组件中的限制是领域数据是只读的。此系统中的所有状态更改都会从命令端流入,然后形成可在查询端读取的实体化视图。
推荐产品:美国服务器去首页享优惠!YINGSOO推出PHA挖矿服务器、PHA挖矿教程、Chia奇亚服务器、Swarm物理节点服务器、Swarm母鸡服务器、Swarm云节点服务器、《Phala PHA挖矿资料大全》、《swarm bzz挖矿资料大全》,Swarm Bee节点租用请咨询YINGSOO客服!
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。
相关文章