Socket.D 协议框架 v2.4 年关发布!

来源: 投稿
2024-02-08 12:41:00

Socket.D 协议

是基于"事件"和"语义消息""流"的网络应用层传输协议。有用户说,“Socket.D 之于 Socket,尤如 Vue 之于 Js、Mvc 之于 Http”。支持 tcp, udp, ws, kcp 传输。协议特点可参考《官网介绍》

pyton 已开发完成,再在测试中;go, rust, c++ 正在开发中。

Socket.D v2.4 在 Broker 集群“可用性”方面有了极大的增强

  • 增加安全停止模式
  • 增加二段式停止协议
  • 增加 ip_hash 转发模式(可用于有状态或需要序顺的场景)
    • Broker 的四种转发模式:name,name!,name*,*
  • 调整了几个配置名,突出语义性

关于Broker 集群模式相关,可参考:《Broker 集群模式》

for Java 更亲

  • 添加 LoadBalancer 集群负载均衡工具
  • 添加 BrokerListener 新的转发路由机制,固定给某个接收者(name!)
  • 调整 Socketd 开头的异常类改为 SocketD 开头(与 python 统一)
  • 调整 几个配置名
接配置名 新配置名 备注
maxThreads exchangeThreads 交换线程数,用于消息接收等(原来的名字,语义不明)
coreThreads codecThreads 解码线程数,用于编解码等(原来的名字,语义不明)
/ ioThreads Io线程数,用于连接等
sequenceMode sequenceSend 有锁顺序发送(原来的名字,语义不明)
/ nolockSend 无锁发送

备注:关于线程配置,在不同的适配时使用情况不同。其中 exchange 支持直接配置线程池(以支持 jdk21 的虚拟线程池)

for JavaScript 更新

  • 添加 LoadBalancer 集群负载均衡工具
  • 调整 Socketd 开头的异常类改为 SocketD 开头(与 python 统一)
  • 调整 几个配置名
接配置名 新配置名 备注
maxThreads exchangeThreads 交换线程数,用于消息接收等(原来的名字,语义不明)
coreThreads codecThreads 解码线程数,用于编解码等(原来的名字,语义不明)
/ ioThreads Io线程数,用于连接等

备注:关于线程配置在 js 里,基本没用到

视频演示效果:

代码仓库:

官网:

展开阅读全文
点击加入讨论🔥(2) 发布并加入讨论🔥
本篇精彩评论
别太累了,过年歇两天吧
2024-02-08 18:13
1
举报
2 评论
0 收藏
分享
返回顶部
顶部