• 作者:老汪软件技巧
  • 发表时间:2024-10-29 10:50
  • 浏览量:

使用 Socket 实现的分布式事件总线,支持 CQRS,不依赖第三方 MQ。

CodeWF.EventBus.Socket 是一个轻量级的、基于 Socket 的分布式事件总线系统,旨在简化分布式架构中的事件通信。它允许进程之间通过发布/订阅模式进行通信,无需依赖外部消息队列服务。

Command

Query

特性通信协议

通过 TCP 协议进行数据交互,协议包结构如下:

安装

redis分布式缓存实现_mq的内部实现_

通过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));