我们的目标是:
1、业务Server集群部署,从网关发来的请求处理,程序自动找一台空闲的业务Server来处理这个请求,并将结果异步分发到服务网关,从而Push给客户端;
2、一套业务Server挂了不会影响整个服务端程序运行;
3、当Req过载时,即发送的大量请求在服务端堆积时,服务端“热部署”挂一个新的Req-Server,而不需要重新启动服务端程序;

约束条件:
1、前端暂时用tcp连接
2、服务内部可以用zmq连接

服务提供一个Router套接字a,供worker连接,worker封装服务标识信封,以区分不同worker service, 另提供一个Router套接字(也可共用a),供client连接,收发client包;

应用面向服务的可靠队列(管家模式)

Broker基本的数据结构:

struct worker
{
std::string m_identity; // Address of worker
service * m_service; // Owning service, if known
int64_t m_expiry; // Expires at unless heartbeat
};

struct service
{
std::string m_name; // Service name
std::list<worker*> m_waiting; // List of waiting workers
size_t m_workers; // How many workers we have
};

class broker {
std::map<std::string, service*> m_services; // Hash of known services
};

转载于:https://www.cnblogs.com/jasw/p/7197347.html

GateSvr的设计2相关推荐

  1. 2022-2028年中国UI设计行业现状调研分析及发展趋势研究报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国UI设计行业市场行业相关概述.中国UI设 ...

  2. 【VB】学生信息管理系统2——窗体设计

    这次学生系统是照着书敲的,先敲完然后开始调试!中途遇到了很多问题,查了很多,这里不容易系统的总结!所以就针对各个问题,各个击破! 问题一:VB 6.0中,状态栏控件(sbstatusbar):右击选项 ...

  3. LeetCode简单题之设计 Goal 解析器

    题目 请你设计一个可以解释字符串 command 的 Goal 解析器 .command 由 "G"."()" 和/或 "(al)" 按某种 ...

  4. LeetCode简单题之设计停车系统

    题目 请你给一个停车场设计一个停车系统.停车场总共有三种不同大小的车位:大,中和小,每种尺寸分别有固定数目的车位. 请你实现 ParkingSystem 类: ParkingSystem(int bi ...

  5. 单周期十条指令CPU设计与verilog实现(Modelsim)

    目录 一.实验目的 二.实验内容 三.实验原理 1. 规定 2. 原理图 四.实验步骤 1. CPU各部件实现 pc insMem acc alu cu dataMem 2. CPU例化实现 3. 编 ...

  6. EDA电子设计技术与应用

    EDA电子设计技术与应用 电子设计自动化(英语:Electronic design automation,缩写:EDA)是指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功 ...

  7. AI中pass架构设计优化

    AI中pass架构设计优化 Relay 和 TVM IR,包含一系列优化passes,可提高模型的性能指标,例如平均推理,内存占用,或特定设备的功耗.有一套标准优化,及特定机器学习的优化,包括常量折叠 ...

  8. MegEngine 框架设计

    MegEngine 框架设计 MegEngine 技术负责人许欣然将带了解一个深度学习框架是如何把网络的定义逐步优化并最终执行的,从框架开发者的视角来看待深度学习. 背景 AI 浪潮一波又一波,仿佛不 ...

  9. AI框架精要:设计思想

    AI框架精要:设计思想 本文主要介绍飞桨paddle平台的底层设计思想,可以帮助用户理解飞桨paddle框架的运作过程,以便于在实际业务需求中,更好的完成模型代码编写与调试及飞桨paddle框架的二次 ...

最新文章

  1. 开源人工智能算法一种新颖的超像素采样网络深层特征来估计任务特定的超像素
  2. html左右阴影效果图,css实现横向菜单带阴影效果(不用滤镜实现)
  3. 利用 python 的各种开源工具自制浏览器
  4. 使用linux内核编译独立系统,编译linux内核以及depmod的使用
  5. Unity3d LookAt参数说明
  6. 项目实战大全,提升经验的最好办法(一)
  7. lisp如何调用linux头文件,Lisp之 程序的交互执行和非交互执行
  8. 解放双手,基于github travis-ci docker自动化部署java项目
  9. vivado 设计约束学习笔记1
  10. C#-反射知识点(转载)
  11. gsoap开发webservice
  12. C语言实现约瑟夫环代码
  13. 如何使用工资短信生成器
  14. LaTex实战笔记 3-宏包与控制命令
  15. 白光led 计算机模拟,高显色指数LED白光的色度学模拟方法研究
  16. Iphone开发(九)理解subView,手动实现多个视图切换
  17. springcloud微服务学习笔记(五十一):Config配置总控中心搭建
  18. 希腊字母读音及科学上的应用
  19. 计算机组成原理基础知识总结
  20. 【UWB 定位】高精度定位

热门文章

  1. python pyttsx3文本转语音_Python-文字转语音-pyttsx3
  2. java查找一个数等于一组数中哪些数字相加的和_快速入门二分查找
  3. android自定义view实现原理,android随笔之自定义View基本原理
  4. Java poi 列移动_如何在java xssf中移動列poi
  5. C语言丨线性表(二):线性链表(单链表)
  6. mysql 分组group
  7. linux 文件路径操作
  8. Pandas DataFrame GroupBy.Apply
  9. Hadoop sqoop
  10. Java JDBC PreparedStatement类