微服务体系架构版本。
1.1 术语与缩写
术语/缩写 | 描述 |
PSI | purchase-sale-inventory,进销存 |
psi-service | 进销存服务器,对应原主站服务器 |
psi-gateway | 进销存服务网关 |
psi-registry | 进销存服务注册中心,由jhipster-registry提供 |
lbm-master | 前置机接入服务器 |
lbm-work | 前置机接入服务工作库,存储待发送消息 |
1.1 系统结构
服务端结构如下图所示:
1.1.1 数据库
l 分区数据库
即原主站数据库。
原主站id即为分区数据库id。
l lbm_work
lbm-master的工作库。
主要用于消息传输,确认,失败重做。
存储消息待发送给前置机的消息。
具体有:待发送消息队列表,待确认消息队列表,失败重做队列表,系统序列表。
l 平台数据库
数据库信息表(t_sys_db):包含涉及数据同步的数据库的信息,包括各个分区数据库
数据库模式表(t_sys_dbschema)和数据同步任务类型(t_sys_dstt)用于数据同步,需要用脚本初始化数据。
1.1.2 psi-registry
提供服务注册,查找功能。
1.1.3 psi-gateway
基于Zuul的服务网关。
客户端HTTP请求验证后借助psi-registry路由到psi-service服务器。
1.1.4 psi-service
原主站服务器的服务划分为3类,在系统中的位置如下:
psi-service在兼容和过渡期,保留TCP端口服务。
另外,有java程序通过此端口访问,在改造java程序前必须保留TCP端口。
1.1.5 psi-deamon
负责psi的后台服务,包括:
l 异步任务:async_task插件
l Java应用接口事件:iep_b插件
l 自动审核:sd插件
l 消息中心短信发送:mcp插件
l 数据统计:deew插件
这些后台任务都是处理分区数据库的。
可以部署多个服务实例,指定每个实例处理的分区。
需要访问平台服务器。
1.1.6 data-sync-service
数据同步服务(data-sync-service)系统结构如下图所示:
l 应用(平台,psi应用等)产生的事件由各目标数据源的代理捕获,再由对应的事件引擎处理
l 统一集中配置数据节点,同步方案,同步任务信息
lbm-master和前置机广义上可近似看作数据同步的一部分。
1.1.7 lbm-master
负责接入部署在客户企业内部的前置系统,前置系统与企业内部系统交互,实现与平台的实时数据交换。
每个前置机有一个服务器证书,lbm-master需要认证。
前置机与企业绑定,服务端记录机器特性信息。
lbm-master通过处理事件队列把需要传输给前置系统的数据提取,发送。
接收数据后写入分区数据库,并重抛事件,激发后续的到平台的同步。
1.1.8 前置机
部署在客户企业内部,作为企业ERP与平台的接口系统的主要成分。