前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MOOON分布式消息结构

MOOON分布式消息结构

作者头像
一见
发布2018-08-07 16:48:46
1920
发布2018-08-07 16:48:46
举报
文章被收录于专栏:蓝天蓝天

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;

通信示意图:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-07-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档