Chris Richardson 在微服务架构领域的研究非常新颖,我们为大家精选了三篇微服务架构系列文章进行翻译,本文为该系列第一篇:「事件驱动型微服务」。
Chris Richardson 是谁?

微服务加速企业创新进程
为了保持竞争优势,企业必须有更快的创新速度。软件是创新的基础,企业需要显著提高软件的开发和部署效率。
不仅要部署云端服务,运用灵活策略,还必须用微服务来取代笨重不堪的大型软件应用。
微服务面临的问题:分布式数据管理
在开发微服务的过程中,分布式数据管理是必须解决的问题。每个微服务都有其私有的数据库,有时是关系型数据库(SQL),有时是非关系型数据库(NoSQL)。
开发企业事务往往牵涉到多个服务,要想对其进行整体升级优化并非易事。同样,在多个服务之间进行数据查询也很有挑战。
解决之道:事件驱动架构
对于大多数应用而言,要实现微服务和管理分布数据,都需要采用事件驱动架构。在事件驱动架构中,某个服务在发生重要事情的时候,比如,升级了一个业务对象,会发布一个事件,而其他服务订阅这些事件。作为对事件的回应,接收事件的服务通常会更新自身的状态,或许会发布更多事件,让其他服务进行更新。
1)运用事件驱动保证事务的一致性
你可以运用事件来跨越多服务并达到事务的一致性。ACID 事务将被多步的事件驱动的终期一致工作流取代。在每一步中,服务更新其数据,然后发布新的事件,触发下一步骤。
2)通过事件更新具体视图
你可以运用事件来更新同步一个或多个具体视图,每个视图都对特定的一系列查询进行优化处理。服务通过订阅系统记录更新时发布的事件,来更新同步这些具体视图。
挑战
想要与大师面对面吗?想要了解微服务领域最前沿的动态吗?
DaoCloud 现联手世界著名软件大师 Chris Richardson 为您现场布道微服务架构,助力企业应用的成功转型。我们为您推荐由 Chris Richardson 和《 Docker 源码分析》一书的作者孙宏亮共同讲授的 微服务架构及容器技术高端系列课程。
报名链接:http://form.mikecrm.com/f.php?t=dUJI3G
未经允许不得转载:DaoCloud道客博客 » Chris Richardson 微服务系列之「事件驱动型微服务」