Xebo中间件

1      定位

Xebo是一个C++开发的通信服务器框架,用于开发应用插件实现网络业务。

它由多个模块化的组件构成,以扩展接口的方式,提供应用逻辑的嵌入以适配具体应用。

利用框架提供的基础能力,可简化应用的开发,包括:

l  通信:主动/被动连接器,是构建分布式系统的通信基础;协议支持(TCP/UDP,UMX/UMXT);异步通信上的同步调用

l  数据库访问:通过数据库扩展支持跨数据库应用

l  消息调度:请求消息被分派到响应的协议处理函数

l  事件机制:同步/异步事件提供插件之间松耦合的协同能力

l  后台任务调度:内置任务调度策略,统一管理运行后台任务.应用可扩展调度策略

l  消息缓存:可配置服务端缓存消息

l  通道认证接口:由应用决定需限制访问的协议,在验证客户端后置信通道

l  调试日志:可配置的全局/插件私有/SQL日志为调试提供便利

2      特点

Xebo特性如下:

l  跨操作系统平台

l  支持多种数据库

l  插件化开发

l  主动/被动连接器,支持UDP,TCP协议,支持SOCK5,HTTP/1.1代理,异步通信上的同步调用

l  支持UMX/UMXT,JSON,RESTful调用接口

l  支持消息分级

l  支持控制台,服务启动方式

l  具有服务揭示能力

l  提供路由扩展接口

l  可管理:通过管理接口控制,查看运行状态

l  可配置:框架配置和插件私有配置

3      体系结构

Xebo体系结构如下图所示:

Xebo运行在操作系统之上。

支持多种主流关系数据库。

ACE作为通信框架,Windows采用IOCP,Linux采用epoll模式。

OpenSSL作为通信安全库,用于敏感信息加密,通信端点身份验证。

Hoard作为内存优化器使用。

Xerces用于XML格式配置文件的解析。

CppCMS作为Web框架,为Xebo的管理,配置,监控提供服务。

Xebo的服务有2种:请求-响应式的交互式服务,后台计划任务。服务由插件实现。

通信模块提供客户连接接入,主动连接器构建,数据接收/发送处理。接收的消息进入内存消息队列,由消息调度线程调用插件的协议处理函数进行处理。

事件Reactor用于框架,插件之间的事件方式的通信。

日志模块负责记录Xebo服务运行日志,用于问题诊断,可选择异步或同步方式,同步仅用于调试问题使用。

框架管理为管理客户端提供访问接口,用于对服务的配置,运行监控。

资源容器提供框架,插件之间共享对象的机制。

UMX/UMXT是二进制通信协议。

l  UMX是通信应用层协议,规定了消息的格式.

l  支持分布式通信环境

l  每种消息用域,消息类型,消息编号来区分

l  单个消息可以用命令字标记

l  消息在端到端之间传输,消息头中包含了版本,源端地址,目标段地址,字符集,优先级,扩展属性等信息

l  UMXT是指定消息传输属性的协议

传输属性指定存储转发属性,是否送达确认,时序控制键,加密属性等信息。

跨数据库支持采用数据库扩展技术实现,定义非标准的SQL接口,每种支持的数据各自实现一个动态库。


猜你喜欢

转载自blog.csdn.net/wherwh/article/details/80629793