- 作者:老汪软件技巧
- 发表时间:2024-10-29 10:50
- 浏览量:
使用 Socket 实现的分布式事件总线,支持 CQRS,不依赖第三方 MQ。
CodeWF.EventBus.Socket 是一个轻量级的、基于 Socket 的分布式事件总线系统,旨在简化分布式架构中的事件通信。它允许进程之间通过发布/订阅模式进行通信,无需依赖外部消息队列服务。
Command
Query
特性通信协议
通过 TCP 协议进行数据交互,协议包结构如下:
安装
通过NuGet包管理器安装CodeWF.EventBus.Socket:
Install-Package CodeWF.EventBus.Socket
服务端使用运行事件服务
在服务端代码中,创建并启动EventServer实例以监听客户端连接和事件:
using CodeWF.EventBus.Socket;
// 创建事件服务器实例
IEventServer eventServer = new EventServer();
// 启动事件服务器,监听指定IP和端口
eventServer.Start("127.0.0.1", 9100);
停止事件服务
当不再需要事件服务时,调用Stop方法以优雅地关闭服务器:
eventServer.Stop();
客户端使用连接事件服务
在客户端代码中,创建EventClient实例并连接到事件服务器:
using CodeWF.EventBus.Socket;
// 创建事件客户端实例
IEventClient eventClient = new EventClient();
// 连接到事件服务器,使用eventClient.ConnectStatus检查连接状态
eventClient.Connect("127.0.0.1", 9100));