一个ESB产品项目实践案例分享
1
产品简介
•XESB全称XXX Enterprise Service Bus,即XXX企业服务总线。
•XESB是为了解决应用程序间的集成问题而产生的一种架构平台。 •XESB提供了最基本的连接中枢,使集成到一起的系统进行通信。 •XESB使现有的IT资产和应用暴露成为服务,提供给调用者使用。 它还可以消除不同应用系统之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。
•XESB还提供安全、监控和管理功能,用于对被集成系统的统一管理。
2
XESB解决的问题
随着软件行业的发展,企业越来越需要将多个系统集成在一起:
多系统导致系统间的通信关系复杂;
各系统使用的接口不同;
系统间的接口消息规范不统一;
交互系统的协议紧耦合;
系统升级导致双方都必须更改;
替换旧系统代价巨大;
系统间调用的安全性无法统一处理;
系统间调用无法统一监控和管理。
3
产品主要功能
4
传统的接口调用模式
5
服务总线
6
功能简介-服务治理
将独立的软件资产封装为总线中可用的服务;
对服务进行统一描述和管控,方便开发和管理;
服务调用过程可监控、可追溯;
支持HTTP/Webservice
7
服务的注册与调用
8
服务版本
9
服务治理
1:正常
900:未提供凭据
901:凭据不正确
910:全局IP黑名单
911:服务IP黑名单
912:全局凭据黑名单
913:服务凭据黑名单
914:全局IP白名单
915:全局IP白名单
916:凭据白名单
920:连接故障
10
服务日志记录
简要日志:
被调服务名称/版本/类别/所属组
请求ID/调用时间/日志级别
调用耗时/请求IP/请求密钥/响应码
详细日志:
实际服务地址
对外发布地址
请求参数/请求消息头
响应结果/响应结果头
11
服务调用者的疑问
12
服务集市
13
传统的数据交换
14
适配器
15
功能简介-数据交换
统一数据资源的描述和管控;
任意资源之间均可互联互通,不依赖于数据生产者或消费者任意一方;
适用于异构、不同协议、不同数据格式、单对多、多对单等多种企业集成场景;
目前数据资源支持:
ActiveMQ、Kafka、MQTT、FTP
可支持JDBC、Redis、MongoDB、HTTP、Webservice、netty、AMQP、STOMP、POP3、SMTP、File等
16
路由
17
数据交换
简要日志:
路由名称/数据源/数据目标
请求ID/记录时间
日志级别/路由耗时
详细日志:
传入数据
传出数据
特殊规则
异常信息
18
特殊规则
19
容器与组件
20
OSGi生命周期
21
XESB架构
22
更大的使用场景
23
容器集群
24
服务的负载均衡
25
数据交换的集群问题
26
为数据交换定制的集群模式
27
为数据交换定制的集群架构
28
路由的负载均衡
29
完整的产品架构图
30
产品稳定性
稳定性高达99.999999%;
在项目实际的测试环境下,十组路由,每组路由同时并发处理100条数据, 15天x24小时不间断的稳定性测试,总数据路由量超过2亿4千万条,仅丢失2条数据;
项目实际运行至现在,无一例因iESB引起的丢失数据事故。
31
使用场景—服务治理
32
使用场景—数据交换
结束语
如需完整或者更多资料,请扫描下方二维码联系我。谢谢