C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)----(一):整体介绍

时间:2022-02-16 09:40:22

C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)

  在现今软件系统纷纷“云化”的浪潮下,各种支持“云化”的框架、工具层出不穷,但这些现成的工具大多基于JAVA,go等语言,且应用场景均为非实时系统。但基于C++语言,且支持毫秒级响应、大吞吐量的分布式实时应用框架一直是这一领域的空白,Cpp Distributed Real-time Application Framework(CDRAF)也因此应运而生。

  我们致力于将CDRAF打造成一款通用C++分布式实时系统框架,使之可以服务于任何一款对响应、吞吐量有高要求的业务系统——不管是游戏后台系统或者电信行业系统等等。用户只要将原有业务代码基于CDRAF做少许改动,就可以使用系统轻松地获得所有"分布式实时系统"所具备的特性,如:

  • 大吞吐量、低时延、模式多样、稳定可靠的通讯平台
  • 新节点启动后自动注册联网,旧节点无需重启
  • 计算节点根据业务量自动动态扩缩容
  • 单点故障不影响集群,故障节点自动检测,自动退网
  • 节点实时性能统计数据,自动上报
  • 自动负载均衡,不同节点根据自身处理能力自动进行负载
  • 过载保护,预防系统因流量过大而发生阻塞甚至引发宕机
  • 优雅启停,双通道消息线路保证启停过程中不丢消息
  • 灰度发布,支持测试节点与正常业务节点同网测试
  • 提供集群节点管理Restful接口,方便用户做节点管理的二次开发

  CDRSF核心由三个部分构成,分别是:通讯平台、状态中心、系统管理。如下图所示:

C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)----(一):整体介绍

通讯平台:

➢    具备低时延(毫秒级)、高吞吐量(200000pps/s级)的通讯能力

➢    提供多样化通讯方式(点对点、广播、分发、单双通道等)满足各种业务需求

➢    完全配置式的节点通讯关系,通讯与业务程序完全解耦

➢    实时性性能统计输出,实时应用程序监控管理

状态中心:

➢    提供新节点自动发现联网运行,故障节点自动检测退网的能力

➢    各业务节点主动上报详细的运行状态数据,实时监控全网节点运行信息

➢    具备向各业务节点下发管理命令能力

➢    注册、触发机制保证所有命令、数据即刻到达

系统管理:

➢    实现系统的自主管理及外部对系统的管理

➢    自主管理提供了动态扩缩容、节点过载保护、故障节点重启等能力

➢    外部管理通过RESTful接口,提供了外部对系统进行各种操作的能力

(如:优雅关停节点、开关日志、单号码日志跟踪、容器测试等等)

整体系统架构图:

C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)----(一):整体介绍

  通讯平台负责所有业务进程的通讯,包括进程间和节点间的通讯。SmartMonitor还可实时监控业务进程的心跳健康状况,实时统计性能数据。SmartAgent实时上报每个节点的各种数据到状态中心,并接受状态中心下达的命令。SmartService根据系统运行状况,对整个集群进程管理,同时也接受来自外部的命令,对系统进程各种操作。

未完待续……

技术交流合作QQ群:436466587 欢迎讨论交流

C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)----(一):整体介绍的更多相关文章

  1. (一):C++分布式实时应用框架----整体介绍

    C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework) 版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经 ...

  2. (四):C++分布式实时应用框架——状态中心模块

    C++分布式实时应用框架--状态中心模块 上篇:(三):C++分布式实时应用框架--系统管理模块 技术交流合作QQ群:436466587 欢迎讨论交流 版权声明:本文版权及所用技术归属smartguy ...

  3. (五):C++分布式实时应用框架——支撑复杂的业务通讯关系

    C++分布式实时应用框架--支撑复杂的业务通讯关系 技术交流合作QQ群:436466587 欢迎讨论交流 版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经同意转载等行为保留法 ...

  4. (三):C++分布式实时应用框架——系统管理模块

    C++分布式实时应用框架--系统管理模块 上篇:(二): 基于ZeroMQ的实时通讯平台 一个分布式实时系统集群动辄上百台机器,集群的规模已经限定这将是一个"封闭"的系统.你不可能 ...

  5. (五):C++分布式实时应用框架——微服务架构的演进

    C++分布式实时应用框架--微服务架构的演进 上一篇:(四):C++分布式实时应用框架--状态中心模块 版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经同意转载等行为保留法律 ...

  6. (七):C++分布式实时应用框架 2.0

    C++分布式实时应用框架 2.0 技术交流合作QQ群:436466587 欢迎讨论交流 上一篇:(六):大型项目容器化改造 版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经同 ...

  7. C++分布式实时应用框架——系统管理模块

    一个分布式实时系统集群动辄上百台机器,集群的规模已经限定这将是一个”封闭“的系统.你不可能再一台台去操作上百台机器,传统的人工运维方式早已不能满足当下需要,所有对集群或者集群中某个节点的操作都必需通过 ...

  8. [开源]CSharpFlink(NET 5.0开发)分布式实时计算框架,PC机10万数据点秒级计算测试说明

    github地址:https://github.com/wxzz/CSharpFlinkgitee地址:https://gitee.com/wxzz/CSharpFlink  1         计算 ...

  9. Storm分布式实时流计算框架相关技术总结

    Storm分布式实时流计算框架相关技术总结 Storm作为一个开源的分布式实时流计算框架,其内部实现使用了一些常用的技术,这里是对这些技术及其在Storm中作用的概括介绍.以此为基础,后续再深入了解S ...

随机推荐

  1. 关于listview视图的 作业

    代码运行目录 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=& ...

  2. javascript作用域和作用域链摘录

    作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理.今天这篇文章对JavaScript作用域和作用域链作简单的介绍,希望 ...

  3. C&num;键盘事件处理&lpar;来源网上&rpar;

    C#键盘事件处理 如果你希望用户按F1弹出chm帮助,代码如下: private void FrmMain_Load(object sender, EventArgs e) { this.KeyPre ...

  4. JQuery实战---窗口效果

    在前面的相关博文中,小编对jquery的相关知识进行了简单的总结,关于jquery的很多小的知识点,都需要我们自己去动手和实践,一行行代码都需要我们自己亲自动手去敲,今天我们继续来学习jquery的相 ...

  5. 架构书籍推荐:Java中高级、架构师值得一读!

    上周我们免费送出了6本关于Python的重量级技术书籍,推出后反响特别强烈,有一个和最后一名仅差了一个赞,不过我们还是额外加送了一本送给这位朋友,以资鼓励,从另一面也可以看出Java程序猿对Pytho ...

  6. Spring MVC 学习笔记9 —— 实现简单的用户管理(4)用户登录显示局部异常信息

    Spring MVC 学习笔记9 -- 实现简单的用户管理(4.2)用户登录--显示局部异常信息 第二部分:显示局部异常信息,而不是500错误页 1. 写一个方法,把UserException传进来. ...

  7. CodeForces - 682B 题意水题

    CodeForces - 682B Input The first line of the input contains a single integer n (1 ≤ n ≤ 100 000) — ...

  8. CentOS6&period;8部署MongoDB集群及支持auth认证

    三个节点的副本集如下图所示: 实验目的: 配置MongoDB的3节点副本集 3个节点的副本集都要开启auth认证,并且开启认证后,能互相通信 第一步 - 准备环境 准备三个虚拟机,其中一个用作Prim ...

  9. Linux系统入门命令100条 转

    https://www.howtoforge.com/linux-commands/ 2017-04-27 RiboseYim 睿哥杂货铺 Author : Himanshu Arora 原文:htt ...

  10. 【BZOJ2625】&lbrack;Neerc2009&rsqb;Inspection 最小流

    [BZOJ2625][Neerc2009]Inspection Description You are in charge of a team that inspects a new ski reso ...