博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FFLIB 框架Broker 之Master/Slave 模式
阅读量:5875 次
发布时间:2019-06-19

本文共 854 字,大约阅读时间需要 2 分钟。

          在FFLIB的两篇介绍中,已经介绍了FFLIB是基于Broker模式构建的框架,核心组件关系图如下:

         

    

    

 

         这种情况,比较明显的瓶颈是Broker 只有一个。在Client 和 Service 节点不断增多的情况下,单个Broker 将会无法承载。所以本文将探究如何扩展FFLIB 。

         其实解决之道也很直接,就是增加Broker 。为了能够为FFLIB 增加Broker 节点, 参考了Mysql 中的Master/Slave 结构, 设计FFLIB 的多Broker 框架如下图:

    

     

         Service 调用注册服务和接口时只通过Broker Master节点, Master将注册的服务和接口信息同步给所有的Slave节点,而所有的Service 接口和Client 节点和Slave 都是有连接的,所以不同的Service 就实现了通过不同的Slave 完成消息转发,实现了负载均衡。而且消息转发的开销和原来单个Broker的开销完全相同。

         关于 Master 和 Slave 节点核心通信逻辑如下图所示:

    

总结:

  • Master/Slave 模式是可选的,但Broker 仍然是可以工作的。
  • 源码 svn co
  • 构建borker : cd example/broker && make
  • 开启Broker Master(默认就是Master): ./app_broker –l tcp://127.0.0.1:10241
  • 开启BrokerSlave :./app_broker –l tcp://127.0.0.1:10242 -node slave –master_host  tcp://127.0.0.1:10241
  • 构建Echo 测试Service :cd example/echo_server && make && ./app_echo_server
  • 构建 Echo 测试Client:dd example/echo_client && make && ./app_echo_client

转载地址:http://ezkix.baihongyu.com/

你可能感兴趣的文章
socket
查看>>
Highcharts使用表格数据绘制图表
查看>>
Thinkphp5笔记三:创建基类
查看>>
hdu5373
查看>>
4.单链表的创建和建立
查看>>
Android 好看的搜索界面,大赞Animation
查看>>
查询反模式 - GroupBy、HAVING的理解
查看>>
[转]动态加载javascript
查看>>
【协议】5、gossip 协议
查看>>
基于配置文件的redis的主从复制
查看>>
hasura graphql 角色访问控制
查看>>
springmvc中controller内方法跳转forward?redirect?
查看>>
C#委托,事件理解入门 (译稿)转载
查看>>
容器的end()方法
查看>>
[转] Agile Software Development 敏捷软件开发
查看>>
HDU 1007 Quoit Design (最小点对,模板题)
查看>>
Windows Phone 7 自定义事件
查看>>
Objective-c 网址中带中文解决方法
查看>>
向函数传递数组的问题
查看>>
上班族的坐姿
查看>>