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


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 里,基本没用到

视频演示效果:

  • for H5
    • https://www.bilibili.com/video/BV1ck4y197BV/
    • 演示源码
  • for UniAPP
    • https://www.bilibili.com/video/BV1T94y1T7sp/
    • 演示源码

代码仓库:

  • https://gitee.com/noear/socketd
  • https://github.com/noear/socketd

官网:

  • https://socketd.noear.org

相關推薦

2024-01-04

有用户说,“Socket.D 之于 Socket,尤如 Vue 之于 Js、Mvc 之于 Http” 主要特性 基于事件,每个消息都可事件路由 所谓语义,通过元信息进行语义描述 流关联性,来回相关的消息会串成一个流 语言无关,使用二进制输传数

2024-01-31

Socket.D 是基于"事件"和"语义消息""流"的网络应用层传输协议。有用户说,“Socket.D 之于 Socket,尤如 Vue 之于 Js、Mvc 之于 Http”。支持 tcp, udp, ws, kcp 传输。协议特点可参考《官网介绍》。 pyton 已开发完成,再在测试中;go, rust, c

2023-12-19

一、Socket.D 的主要特性 首先,Scoket.D 是高效一个二进制的网络通讯协议(官方的讲法是:基于事件和语义消息流的网络应用协议),能够满足很多场景下使用。其次,Scoket.D 是温和的响应式(采用回调风格)。 1、三种通

2023-12-05

有用户说,“Socket.D 之于 Socket,尤如 Vue 之于 Js、Mvc 之于 Http” 主要特性 基于事件,每个消息都可事件路由 所谓语义,通过元信息进行语义描述 流关联性,有相关的消息会串成一个流 语言无关,使用二进制输传数据

2023-12-07

有用户说,“Socket.D 之于 Socket,尤如 Vue 之于 Js、Mvc 之于 Http” 与其它协议的简单对比 对比项目 socket.d http websocket rsocket socket.io 发消息(Qos0) 有 无 有 有 有 发送并请求(Qos1) 有 有

2024-01-12

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

2024-01-23

Socket.D 是基于"事件"和"语义消息""流"的网络应用层协议。有用户说,“Socket.D 之于 Socket,尤如 Vue 之于 Js、Mvc 之于 Http”。支持 tcp, udp, ws, kcp 传输。协议特点可参考《官网介绍》。 pyton 已开发完成,再在测试中;go, rust, c++ 正

2024-01-10

于事件和语义消息流的网络应用层协议。 有用户说,“Socket.D 之于 Socket,尤如 Vue 之于 Js、Mvc 之于 Http”。支持 tcp, udp, ws, kcp 传输。 主要特性 基于事件,每个消息都可事件路由 所谓语义,通过元信息进行语义描述 流

2024-02-19

etty jsp tld 对 templates 目录支持(简化 tld 的使用) 添加 SocketdProxy 对 socket.d 集群的支持 添加 @Addition 注解(用于间接附加注解) 添加 相对应用目录的文件获取接口 调整 Plugin组件和动态组件注解的弃用提醒级别为 error 调

2024-01-03

行" + "快照持久化" + "Broker 集群模式"(可选) 基于 Socket.D 网络应用协议 开发。全新设计,自主架构! 角色 功能 生产端 发布消息(Qos0、Qos1)、发布定时消息(Qos0、Qos1)、发布重试   &nb

2023-11-18

cronaut、Quarkus 和 Spring Native。 (2)99% 换血重构了: Socket.D 通讯应用协议 (它是 Solon 的二级项目,已孵化两年) 它是一种通讯应用协议,也是一个网络开发框架。未来, 必会成为各种网络开发场景的优选。开发 Mq, Im,

2023-07-23

版本相比,v2.4.3 的新功能和优化包括: 新增三类南向协议驱动,包含Modbus、OPCUA和BACnet,支持这三类协议的设备接入。设备接入相关介绍及操作已更新到Baetyl开源文档,详细介绍了如何使用Baetyl下发Modbus模拟器及对应驱动,

2023-12-16

" + "快照持久化" + "Broker 集群模式"(可选)+ 基于 Socket.D 网络应用协议 开发。全新设计,自主架构! 角色 功能 生产端 发布消息(Qos0、Qos1)、发布定时消息(Qos0、Qos1)、发布重试    

2024-02-24

行" + "快照持久化" + "Broker 集群模式"(可选) 基于 Socket.D 网络应用协议 开发。全新设计,自主架构! 角色 功能 生产端 发布消息、定时消息、顺序消息、可过期消息、事务消息。发送请求(rpc)。