文本描述
数据库技术?Data Base Technique 基于 SOA 技术架构的多并发异构业务系统中台技术设计 文/沈进波 表 1:SOA技术分层架构特点 面对传统商业欧亿·体育(中国)有限公司信息系统 建设中出现的信息孤岛问题,本 文采用 SOA技术架构,利用对应 用层的二次分层架构设计,将复 杂的中间应用组件进行松耦合处 理,同时对不同分层的关键技术 加以研究,有效实现信息系统的 快速迭代和敏捷开发,解决多异 构系统的业务一体化整合中的关 键问题。 摘 要 展现层 应用层 基于会话的 数据库层 横向扩展 纵向扩展 缓存 Nginx集群 单 schema多门店 应用服务器按功能分组 Docker集群按性能分 配 Nginx集群 Nginx集群 Nginx、Docker集群 SpringCloud负载均衡 SpringCloud服务网关 主从 DB+读写分离 Memcache/Redis Memcache/Redis Nginx、Docker集群 SpringCloud负载均衡 负载均衡 DAL读写分离、领域寻址 分组间故障隔离 主 /从 DB双机 微应用粒度数据分库 高并发数据库预分配 树形 Nginx集群双机, Nginx、Docker集群 高可用性 安全性 Keepalive SpringCloud Hystrix 请求异步、队列、降级 【关键词】商业信息系统 分层架构 异构系统 HTTPS JAAS/加密传 输,DMZ 基于角色的权限 DAL+数据范围 融合 负载均衡 SOA 微应用服务集成框架 共享注册程序间公用 授权、管理、监控 良好体验 易于管理 开发者透明 开发者透明 应用性能监控和报警 数据库性能、容量监控和报警 1 背景 商业零售业信息管理管理系统应用超过 20年,随着各种零售业务的不断出现,信息 系统也从单一的商品进销存管理系统,逐步 扩展为功能细分的 ERP进销存、CRM会员、 SCM供应链、WMS仓储、TMS物流配送等 等几十种独立系统。近些年,随着线上线下一 体化业务的兴起,又衍生出更多的线上运维管 理业务系统。这些异构系统在提供各类专业业 务的同时,也在企业内形成了一个个系统孤岛。 以满足消费者多种多样的需求为目标, 现在商业业务变得日趋复杂多变,亟需打通各 个异构系统之间的壁垒,使得各个系统可以灵 活地按业务功能要求交互运转。技术的发展提 供了可能, SOA技术架构应运而生。为了适 应零售业业务的快速多变的需求,可以在复杂 的系统之上,采用基于 SOA技术架构的中台 设计,实现在各个系统间的破壁运行,快速完 成软件开发的落地工作,让信息系统变得更好 用。 2 SOA技术架构优势分析 2.1 SOA技术架构 SOA(service-oriented architecture ),面 向服务的体系结构,通过在中间层建立一系列 的模块化组件 ,可以把中间应用程序的各种功 能单元,按更细的维度进行划分,在接口中以 契约的方式进行联系。利用这些标准接口的协 议,构建系统的各个服务之间,都使用统一的 方式来联系。 SOA技术架构自身具有多种新 图1:SOA技术四层架构示意图 的特性,如架构的松耦合、模块的可复用、标 准接口模式、外部访问支持、标准消息模式等。 实时集成。对数据和应用采用集中式系统,易 于部署和管理,也易于技术功能调整,可以提 高业务响应速度,并保持系统的稳定性。通过 选用成熟的中间件,实现一个架构支持多种应 用,降低成本(架构和人员)。在与第三方的 2.2 SOA技术架构优势 SOA技术架构利用新的业务和管理能力, 168 ? 电子技术与软件工程Electronic Technology & Software Engineering Data Base Technique?数据库技术 3.1 业务分割架构 分割架构主要是指业务拆分。根据具体 的业务内容和高内聚、低耦合的原则,将复杂 的业务进行模块化的划分,单独部署,接口化 操作数据,实现业务的横向分割。细粒度分割 复杂的业务系统,可以降低业务系统的复杂度, 按照模块进行开发和维护,降低整体系统的宕 机时间。 一般来说,分割架构需要开发、业务为主, 运维、测试为辅,架构师统一主导进行,共同 进行系统划分工作。 业务划分因公司的业务不同而异,支 持服务化的开源技术框架也很多,常见的有 Dubbo、Dubbox以及比较新的 Spring Boot、 Spring Cloud等。 首先是不可避免。一般系统初期,公司 为了业务尽快上线,大多将业务功能堆加在一 起。随着公司业务发展,系统拆分、系统重构 不可避免。 做好计划,持久作战。系统拆分、系统 重构时间相对较长,一定要提前做好计