事件驱动微服务:原理、优势与实践
1. 事件驱动微服务的概念
在当今计算机系统架构不断演进的背景下,事件驱动微服务逐渐崭露头角。正如 Marshall McLuhan 所说:“媒介即信息”,新的媒介会对人类和社会产生深远影响。计算机系统架构也是如此,网络通信、关系数据库、大数据发展和云计算等发明,不仅改变了软件项目中技术的使用方式,还改变了组织、团队和人员之间的沟通方式。
现代技术从根本上改变了异步生产和消费事件的媒介。如今,这些事件可以大规模、无限期地持久化,并且可以被任何服务根据需要多次消费。计算资源可以按需轻松获取和释放,便于微服务的创建和管理。微服务能够根据自身需求存储和管理数据,其规模曾经只有基于批处理的大数据解决方案才能实现。
事件驱动微服务架构中,系统通过发布和消费事件进行通信。与消息传递系统不同,这些事件在消费后不会被销毁,而是可供其他消费者根据需要随时读取。服务通常规模较小且目标明确,旨在满足组织的业务目标。一个典型的“小”服务定义是编写时间不超过两周,或者在概念上可以被一个人完全理解。这些服务从输入事件流中消费事件,应用特定的业务逻辑,并可能发出自己的输出事件、提供请求 - 响应访问的数据、与第三方 API 通信或执行其他所需操作。服务可以是有状态或无状态的,复杂或简单的,并且可以实现为长期运行的独立应用程序,也可以使用函数即服务(Functions-as-a-Service)作为函数执行。
事件流和微服务的结合形成了业务组织内相互关联的活动图,与传统的单体架构有相似的图结构。要使这个图结构高效运行,需要关注两个主要组件:节点和连接。
2. 领域驱动设计与边界上下文
领域驱动设计引入了构建事件驱动
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



