什么是事物
例如:事物 所有看到的一切都是事物,不能看到的也是事物
例如:团队微服务,成员微服务,聚合微服务,网关api,认证中心等等包括类,对象
所有的事件都是事物变化的结果
什么是事件
事件就是指事物状态的变化,每一次事物变化的结果都称作为事件
什么是事件总线
就是用来管理所有的事件的一种机制就称作为事件总线
包括事件发布,事件存储,事件订阅,事件处理的统称
作用:
事件总线是一种机制,它允许不同的组件彼此通信而不彼此了解。 组件可以将事件发送到Eventbus,而无需知道是谁来接听或有多少其他人来接听。 组件也可以侦听Eventbus上的事件,而无需知道谁发送了事件。 这样,组件可以相互通信而无需相互依赖。 同样,很容易替换一个组件。 只要新组件了解正在发送和接收的事件,其他组件就永远不会知道.
以上都是事件驱动的模式
事件和事件处理器是多对多的关系,我们通过一种机制去连接两者之间这个机制就是事件总线,发布者(事件) ,订阅者(事件处理器)
为什么要使用事件总线
将微服务系统各组件之间进行解耦
使用业务的发展来说
如图 ,如果添加团队和成员同步情况下问题不大, 但是如果增加了 视频,回很卡顿 客户端就会长久的等待 订阅 发布 消费
事件总线框架
CAP
masstransit
CAP内部概念
事件 : 就是一些类的状态信息 (结果)(只要执行一个方法就叫事件)
发布者:发布事件的角色 cap
订阅者:订阅消费(处理事件)事件的角色 cap
消息传输器:传输事件的角色 消息队列 ===传输消息====事件等于消息 可以是 内存 可以是数据库
消息存储器:存储事件的角色
CAP存储事件消息队列类型Transport (消息传输器)
Azure
rabbitmq
kafaka
In Memory Queue 内存的队列
CAP存储事件持久化类型 (消息存储器)
SQL Server
MySQL
PostgreSQL
MongoDB
InMemoryStorage
CAP事件监控
Dashboard