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
功能: 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的贡献者。
相关项目:
成功的应用Nebio。
摘要 本文描述了如何在 RT-Thread 中,如何根据具体的硬件配置网络驱动,并灵活运用调试手段解决问题。 简介 在 RT-Thread 所支持的 BSP 中,大部分都有支持以太网驱动。但具体到用户的硬件中,可能会和默认的代码有所差异。本文选择相对以太网驱动比较完善的 stm32 BSP,介绍了驱动的主要实现方式,以及针对不同硬件的修改方法。 本文准备资料如下: RT-Thread 源码 Env
TCP 的特性 TCP 提供一种面向连接的、可靠的字节流服务 在一个 TCP 连接中,仅有两方进行彼此通信。广播和多播不能用于 TCP TCP 使用校验和,确认和重传机制来保证可靠传输 TCP 给数据分节进行排序,并使用累积确认保证数据的顺序不变和非重复 TCP 使用滑动窗口机制来实现流量控制,通过动态改变窗口的大小进行拥塞控制 注意:TCP 并不能保证数据一定会被对方接收到,因为这是不可能的。T
This file describes the network protocol used by Ceph. In order to understand the way the structures are defined it is recommended to read the introduction of Network Encoding first. Hello The protoco
2. 基于TCP协议的网络程序 下图是基于TCP协议的客户端/服务器程序的一般流程: 图 37.2. TCP协议通讯流程 服务器调用socket()、bind()、listen()完成初始化后,调用accept()阻塞等待,处于监听端口的状态,客户端调用socket()初始化后,调用connect()发出SYN段并阻塞等待服务器应答,服务器应答一个SYN-ACK段,客户端收到后从connect()
两台计算机是怎样进行数据传递的
假设我们有一个订单管理服务和一个运输管理服务。运输服务发出由订单服务接收的s。 如果我们删除了中的字段,我希望首先对Order服务进行更改,使其停止读取旧字段。部署它。然后在传送服务中进行更改并部署它。这样,服务就不会停机。 但是,我相信Pact会希望首先部署航运服务(它是事件的提供者),以便在部署消费者之前可以验证合同。在这种情况下,首先部署提供者会破坏我的使用者。 为了提供更多的上下文,我们可
TCP 的特性 TCP 提供一种面向连接的、可靠的字节流服务 在一个 TCP 连接中,仅有两方进行彼此通信。广播和多播不能用于 TCP TCP 使用校验和,确认和重传机制来保证可靠传输 TCP 给数据分节进行排序,并使用累积确认保证数据的顺序不变和非重复 TCP 使用滑动窗口机制来实现流量控制,通过动态改变窗口的大小进行拥塞控制 注意:TCP 并不能保证数据一定会被对方接收到,因为这是不可能的。T
主要内容:RPL协议,CORPL协议,CARP协议,6LoWPAN,6LowPAN安全措施,6LowPAN协议的属性网络层分为两个子层:处理从源到目的地的数据包传输的路由层,以及形成数据包的封装层。 RPL协议 RPL代表低功耗和有损网络的路由协议。它是一种距离矢量协议,支持各种数据链路协议。RPL构建了一个面向目标的有向无环图(DODAG),它只有一个从每个叶节点到根节点的路由。此DODAG中的所有流量都通过根路由。最初,每个节点发送一个DODAG信息对象(DIO),声明它们是自己的根。这些信