C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)----(一):整体介绍
C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)
在现今软件系统纷纷“云化”的浪潮下,各种支持“云化”的框架、工具层出不穷,但这些现成的工具大多基于JAVA,go等语言,且应用场景均为非实时系统。但基于C++语言,且支持毫秒级响应、大吞吐量的分布式实时应用框架一直是这一领域的空白,Cpp Distributed Real-time Application Framework(CDRAF)也因此应运而生。
我们致力于将CDRAF打造成一款通用C++分布式实时系统框架,使之可以服务于任何一款对响应、吞吐量有高要求的业务系统——不管是游戏后台系统或者电信行业系统等等。用户只要将原有业务代码基于CDRAF做少许改动,就可以使用系统轻松地获得所有"分布式实时系统"所具备的特性,如:
- 大吞吐量、低时延、模式多样、稳定可靠的通讯平台
- 新节点启动后自动注册联网,旧节点无需重启
- 计算节点根据业务量自动动态扩缩容
- 单点故障不影响集群,故障节点自动检测,自动退网
- 节点实时性能统计数据,自动上报
- 自动负载均衡,不同节点根据自身处理能力自动进行负载
- 过载保护,预防系统因流量过大而发生阻塞甚至引发宕机
- 优雅启停,双通道消息线路保证启停过程中不丢消息
- 灰度发布,支持测试节点与正常业务节点同网测试
- 提供集群节点管理Restful接口,方便用户做节点管理的二次开发
CDRSF核心由三个部分构成,分别是:通讯平台、状态中心、系统管理。如下图所示:

通讯平台:
➢ 具备低时延(毫秒级)、高吞吐量(200000pps/s级)的通讯能力
➢ 提供多样化通讯方式(点对点、广播、分发、单双通道等)满足各种业务需求
➢ 完全配置式的节点通讯关系,通讯与业务程序完全解耦
➢ 实时性性能统计输出,实时应用程序监控管理
状态中心:
➢ 提供新节点自动发现联网运行,故障节点自动检测退网的能力
➢ 各业务节点主动上报详细的运行状态数据,实时监控全网节点运行信息
➢ 具备向各业务节点下发管理命令能力
➢ 注册、触发机制保证所有命令、数据即刻到达
系统管理:
➢ 实现系统的自主管理及外部对系统的管理
➢ 自主管理提供了动态扩缩容、节点过载保护、故障节点重启等能力
➢ 外部管理通过RESTful接口,提供了外部对系统进行各种操作的能力
(如:优雅关停节点、开关日志、单号码日志跟踪、容器测试等等)
整体系统架构图:

通讯平台负责所有业务进程的通讯,包括进程间和节点间的通讯。SmartMonitor还可实时监控业务进程的心跳健康状况,实时统计性能数据。SmartAgent实时上报每个节点的各种数据到状态中心,并接受状态中心下达的命令。SmartService根据系统运行状况,对整个集群进程管理,同时也接受来自外部的命令,对系统进程各种操作。
未完待续……
技术交流合作QQ群:436466587 欢迎讨论交流
C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)----(一):整体介绍的更多相关文章
- (一):C++分布式实时应用框架----整体介绍
C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework) 版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经 ...
- (四):C++分布式实时应用框架——状态中心模块
C++分布式实时应用框架--状态中心模块 上篇:(三):C++分布式实时应用框架--系统管理模块 技术交流合作QQ群:436466587 欢迎讨论交流 版权声明:本文版权及所用技术归属smartguy ...
- (五):C++分布式实时应用框架——支撑复杂的业务通讯关系
C++分布式实时应用框架--支撑复杂的业务通讯关系 技术交流合作QQ群:436466587 欢迎讨论交流 版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经同意转载等行为保留法 ...
- (三):C++分布式实时应用框架——系统管理模块
C++分布式实时应用框架--系统管理模块 上篇:(二): 基于ZeroMQ的实时通讯平台 一个分布式实时系统集群动辄上百台机器,集群的规模已经限定这将是一个"封闭"的系统.你不可能 ...
- (五):C++分布式实时应用框架——微服务架构的演进
C++分布式实时应用框架--微服务架构的演进 上一篇:(四):C++分布式实时应用框架--状态中心模块 版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经同意转载等行为保留法律 ...
- (七):C++分布式实时应用框架 2.0
C++分布式实时应用框架 2.0 技术交流合作QQ群:436466587 欢迎讨论交流 上一篇:(六):大型项目容器化改造 版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经同 ...
- C++分布式实时应用框架——系统管理模块
一个分布式实时系统集群动辄上百台机器,集群的规模已经限定这将是一个”封闭“的系统.你不可能再一台台去操作上百台机器,传统的人工运维方式早已不能满足当下需要,所有对集群或者集群中某个节点的操作都必需通过 ...
- [开源]CSharpFlink(NET 5.0开发)分布式实时计算框架,PC机10万数据点秒级计算测试说明
github地址:https://github.com/wxzz/CSharpFlinkgitee地址:https://gitee.com/wxzz/CSharpFlink 1 计算 ...
- Storm分布式实时流计算框架相关技术总结
Storm分布式实时流计算框架相关技术总结 Storm作为一个开源的分布式实时流计算框架,其内部实现使用了一些常用的技术,这里是对这些技术及其在Storm中作用的概括介绍.以此为基础,后续再深入了解S ...
随机推荐
- java之装饰器模式
Decorator Pattern(装饰器模式),定义:Attach additional responsibilities to an object dynamically. Decorators ...
- linux debian 9 配置postgresSQL数据库
#读者注意:本文可以选择不看解释,直接执行每段的0中的代码 (〇):一些概念(可以跳过直接使用(一)0的代码) 1. 客户端:psql.postgreSQL的命令行客户端程序,在终端输入psql进入p ...
- 用ESP8266+android,制作自己的WIFI小车
整体思路ESP8266作为TCP服务器,,手机作为TCP客户端,自己使用Lua直接做到了芯片里面,省了单片机,,节约成本,其实本来就是个单片机(感觉Lua开发8266真的很好,甩AT指令好几条街,,而 ...
- Elevator poj3539
Elevator Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 1072 Accepted: 287 Case Time ...
- OpenVPN CentOS7 安装部署配置详解
一 .概念相关 1.vpn 介绍 vpn 虚拟专用网络,是依靠isp和其他的nsp,在公共网络中建立专用的数据通信网络的技术.在vpn中任意两点之间的链接并没有传统的专网所需的端到端的物理链路,而是利 ...
- myeclipse的快捷键
------------------------------------MyEclipse 快捷键1(CTRL)-------------------------------------Ctrl+1 ...
- ES6的变量解构赋值
前 言 ES6 解构赋值: ES6允许按照一定模式从数组和对象中提取值,然后对变量进行赋值,这被称为解构. 1.1 数组的结构赋值 1.1.1基本用法 JS中,为变量赋值直接指定.例如下面代码: ...
- Java 多态、内部类、异常、包
一.多态 1. 概述 理解:多态可以理解为事物存在的多种体(表)现形态. 例如: 动物中的猫和狗. 猫这个对象对应的是猫类型,例如:猫 x = new 猫(); 同时猫也是动物中的一种,也可以把猫称为 ...
- C# 使用itextsharp 读取pdf中文字坐标
程序调用: using iTextSharp.text.pdf; using System; using System.Collections.Generic; using System.Linq ...
- 张高兴的 Xamarin.Android 学习笔记:(三)活动生命周期
本文将直接解释我写的一个示例.示例目的在于展示 Android 活动在 Xamarin 中的用法.如果有朋友对基础知识不太了解建议先学 Android . 新建一个 Xamarin.Android 项 ...