NebulaBootstrap事件驱动型 TCP 协议网络框架

联合创作 · 2023-10-01 14:33

Nebula作为软件名字在OSChina已经存在,只好用Nebula的分布式解决方案名NebulaBootstrap来投递。

Nebula是一个灵活,高性能的面向业务的IoC分布式网络框架,专为生产环境而设计。Nebula以C++语言开发基于事件驱动型的TCP协议,支持包括proto3、http、https、websocket多种应用层通信协议。开发Nebula框架的目的是提供一种基于C++快速构建高性能的分布式服务。Nebula自身核心代码只有2万行左右(不计算proto文件生成的代码)。

  Nebula可以作为单个高性能TCP服务器使用,不过基于Nebula搭建分布式服务才能真正体现其价值。为了能快速搭建分布式服务,开发了包括各种类型服务的NebulaBootstrap解决方案。

  Nebula是一个产线级的框架和分布式解决方案项目,适用于即时通讯、数据采集、实时计算、消息推送等应用场景,也适用于web后台服务。Nebula已有即时通讯、埋点数据采集及实时分析的生产应用案例。

许可证:Apache-2.0

托管地址: 码云gitee   Github

功能: TCP网络框架、网络服务器、IoC框架、分布式服务解决方案

适用范围:即时通讯、实时计算、数据采集、推送服务等

平台: 标准 C/C++ 开发,Linux平台

使用说明:下载压缩包后执行./deploy.sh即可完成安装部署,详见README

Nebula可以作为单个高性能TCP服务器使用,不过基于Nebula搭建集群才能真正体现其价值。为了能快速搭建分布式服务,开发了包括各种类型服务的NebulaBootstrap集群解决方案。

基于Nebula框架和NebulaBootstrap可以快速以微服务的方式构建自己的稳定可靠的分布式应用,并实现完整有效的服务治理。开发人员甚至可以不了解网络编程,仅需要理解几个接口类即可快速完成业务逻辑代码编写。

Nebula从一个从2016年5月至今在生产环境稳定运行的IM底层框架Starship发展而来。Nebula跟Starship框架(也是Bwar一人独立开发)有20%左右的结构相似度,是基于Starship经验全新开发,可以认为Nebula(C++14)是Starship(C++03)的一个高级进化版本,具有Starship的所有优点,没有Starship的所有已发现的缺点,同时提供了更多高级功能。基于Nebula的第一个应用Nebio(埋点数据采集和实时分析项目)在2018年7月底上线并稳定运行,Bwar还准备开发基于Nebula的IM应用Nebim。

Nebula将持续更新,学习和使用Nebula过程中遇到任何问题可随时@Bwar(cqc@vip.qq.com),同时欢迎有兴趣有能力的开发者加入并成为Nebula的贡献者。

Nebula集群架构图

相关项目:

成功的应用Nebio

 

浏览 4
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报