MOOON分布式消息结构

MOOON主要消息结构如下,缺点是消息本身占用字节数较多:

/***

 * 分布式消息头结构

 */

typedef struct TDistributedMessage

{

    net::common_message_header header; // 消息头

    nuint32_t flags; // 标志字段



    nuint32_t source_ip[IP_BYTES]; // 消息源的IP地址,如果是IPV4地址,则N值为1,否则为4

    nuint32_t destination_ip[IP_BYTES]; // 消息目的地的IP地址,如果是IPV4地址,则N值为1,否则为4



    nuint16_t source_port; // 消息源的端口号

    nuint16_t destination_port; // 消息目的地的端口号



    nuint32_t source_service_id; // destination_Service ID

    nuint32_t destination_service_id; // 消息目的地的Service ID



    nuint32_t source_session_id; // destination_Session ID

    nuint32_t destination_session_id; // 消息目的地的Session ID



    nuint32_t source_sequence_number; // 序列号,从0开始,依次递增,直到重来,用于解决类似于TCP中的timed_wait问题

    nuint32_t destination_sequence_number; // 序列号,从0开始,依次递增,直到重来,用于解决类似于TCP中的timed_wait问题



    nuint32_t source_thread_affinity; // 线程亲和值,为的是和线程建立绑定关系

    nuint32_t destination_thread_affinity; // 线程亲和值,为的是和线程建立绑定关系



    char data[0]; // 消息内容



    std::string to_string() const;

}distribted_message_t;

通信示意图:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Aloys的开发之路

ssh相关原理学习与常见错误总结

SSH基本原理与运用 SSH原理与运用(一): 远程登录: http://www.ruanyifeng.com/blog/2011/12/ssh_remote_...

26210
来自专栏GreenLeaves

Spring.Net学习系列一

废话不多说,如果在看本文之前,你还不知道spring.net是什么,还不知道什么是控制反转、IOC容器、依赖注入、面向切面编程那么请你先去了解这些概念,再来看本...

2116
来自专栏吴伟祥

Linux任务/进程前后台切换

一、 & 加在一个命令的最后,可以把这个命令放到后台执行 ,如gftp &, 二、ctrl + z 可以将一个正在前台执行的命令放到后台,并且处于暂停状态...

1422
来自专栏视觉求索无尽也

Markdown离线编辑工具:Haroopad参考资料:Haroopad介绍

1903
来自专栏北京马哥教育

五分钟搞定Bash功能与使用技巧

一个完整计算机的体系结构包括:硬件与软件,而软件又分为系统软件与应用软件,负责对硬件仅需管理与操作的是系统软件的内核部分,用户是无法与硬件或内核打交道的,用户通...

3347
来自专栏后端沉思录

Dubbo服务搭建

之前公司一直用的RPC分布式框架是新浪的motan,由于在测试环境服务很不稳定,最近已经开始换Dubbo,而且自从阿里宣布开始从新维护Dubbo后,一直更新不断...

7392
来自专栏web编程技术分享

亲测可用,markdown编辑器js插件,附demo下载地址

4657
来自专栏JAVA技术站

Linux常用命令之netstat 原

-a (all)显示所有选项,默认不显示LISTEN相关 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,...

692
来自专栏Web 开发

ST3内网安装插件手札

去ST的官网下载最新版(Sublime Text 3),免费用户会不时有弹窗,不过不影响使用。

1100
来自专栏吴伟祥

Linux 文件类型+目录结构+常用命令(二)

1、/- 根 每一个文件和目录从根目录开始。 只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/.不一样

2076

扫码关注云+社区

领取腾讯云代金券