EDA框架与DDD框架的核心骨干对比 Spring Integration与Spring Cloud Bus

前端之家收集整理的这篇文章主要介绍了EDA框架与DDD框架的核心骨干对比 Spring Integration与Spring Cloud Bus前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

事件驱动框架EDA

事件驱动框架是企业级集成领域最重要的模式之一,在事件驱动框架中,系统发布事件,接着系统中相应的组件就会监听这些待定的事件、或者某种类型的事件。一旦某个订阅的事件发生了,组件就会发出警告,并做出必要的响应。

事件驱动框架的优势是耦合度低,系统扩展性好,而且生产者无需关心消费者,使得一个已存在或者旧系统中集成一个新的组件变得相对容易:该系统发布事件,配置新组件用来监听这些事件。所有事件驱动框架交互都是异步的,因此组件可以适时地处理这些消息。如果负担增加很大,一个组件处理某个消息可能消耗更多时间,这是无可避免的。

Spring Integration

基于Spring的EIP(企业集成模式)的实现,是一种便捷的事件驱动消息框架,解决不同系统之间交互的问题,通过异步消息驱动来达到系统交互时系统之间的松耦合。

Spring Integration作为一种企业级集成框架抽象了消息源和目标,利用消息传送和消息操作来集成应用环境下的各种组件。采用Spring Integration构建的应用可以在组件之间发送消息,可以穿过一个消息总线,将该消息发送到应用环境中的另一个服务器,甚至是同一台虚拟机的其它类中。

主要组成:Message(消息)、Channel(通道)、Message EndPoint(适配器)

(事件驱动的三大核心)

Message是用来在不同部分之间传递的数据。

Message组成:消息体(payload)、消息头(header)

消息体可以是任何数据类型:XML、JSON、Java对象;

消息头表示的元数据是解释消息体的内容

Channel是消息发送者发送消息的通道,消息收受者收消息的通道;

Spring Integration提供了通道拦截器(ChannelInterceptor),用来拦截发送和接收消息的操作;

Message EndPoint消息端点是真正处理消息的组件,可以控制通道的路由;

Channel Adapter:通道适配器,连接外部系统或者传输协议的端点(Endpoint)

领域驱动框架

微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共有的消息主题让系统所有的微服务实例都连接上来,由于该主题中产生的消息会被所有的实例监听和消费,所有统称为消息总线。总线上的实例可以方便地广播一些需要让其他连接在主题上的实例都知道的消息,例如配置信息的变更或者其他一些管理操作等。

Spring Cloud Bus

猜你在找的设计模式相关文章