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


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

    版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经同意转载等行为保留法律追究的权利!

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

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

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

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

      

     

    通讯平台:

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

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

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

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

    状态中心:

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

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

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

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

    系统管理:

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

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

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

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

     

    整体系统架构图:

     

     

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

    下一篇:(二): 基于ZeroMQ的实时通讯平台

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

     

  • 相关阅读:
    项目笔记三
    ASP.NET小收集<9>:HTML解析
    TSQL数据维护:更改表所有者
    [转贴]SQL2005:数据类型最大值
    TSQL存储过程:ROW_NUMBER()分页
    JS收集<7>:浏览器event兼容
    统计SQLServer2005表记录数
    ASP.NET小收集<8>:JS创建对象
    JS收集<8>:HTML控件的坐标
    MySql按指定天数进行分组数据统计分析 1
  • 原文地址:https://www.cnblogs.com/cdap/p/7793069.html
Copyright © 2020-2023  润新知