集中式应用系统分布式改造方案研究

2019-08-09 08:23:26
[ BPO网导读 ] 经实际测试,本改造方案基本满足集中式系统分布式改造的一般性要求,但在配套的自动化部署方面并未进行更加深入的研究。要充分发挥分布式系统的特点,基础设施建设至关重要。

面对的问题:随着业务规模增长和系统运行时间的增长,传统集中式架构应用体现出越来越多的问题,例如单位成本高、并发数受限、无法弹性部署、业务模块间可用性耦合等,而且无论是应用程序变更还是数据库临时故障,该时间窗口内整套系统均无法对外提供有效服务,系统可用性已受到较大影响。

  解决措施:对大规模集中式应用系统进行轻量化改造,将其转变为性价比和吞吐量高、跨平台性好、可自动化弹性伸缩且便于快速响应的分布式系统,提高负载能力和可用性势在必行。

必须解决的问题

  分布式应用系统的基本要素是在子应用充分解耦的基础上,使各应用能高效地自动发现其他应用及其提供的所有交易与服务,并根据配置、权限许可和目标子应用的负载情况进行最合适的请求分发。同时要有相应的保障体系用于分析和监控系统运行情况。业界成熟的复杂分布式系统通常还会考虑服务降级、熔断等一些高级特性,但由于这些特性对一般集中式系统来说不是必须的,在此方案中不涉及这些内容。

  从上文可以看出,要将集中式系统拆解为分布式系统,需解决的问题主要有:必须实现拆分后各应用可用交易、服务的自动注册与发现;必须实现软负载均衡以获得最优集中式应用系统分布式改造方案研究的交易、服务流转路径;必须有易于操作的配置管理中心用于配置项管理和自动发送;必须有权限控制用以保证系统安全性;必须有统一日志收集和保障组件,用于分析和监控系统运行情况。由此得出的分布式应用系统基本架构如图1所示。

图片4.jpg
图1 分布式应用系统基本架构

  由于原有技术限制,绝大部分现有集中式系统无法使用现有的成熟分布式应用系统框架:要么改造量太大,要么组件限制不能改造。因此自主开发一套适用于现有集中式系统的分布式处理框架成为唯一的出路。经笔者调研,最终选用ZooKeeper(以下简称zk)作为管理中心,ELK作为统一日志收集处理平台来实现改造方案。此方案的物理架构及内部交互情况如图2所示,其中单向箭头表示单向访问,双向箭头表示双向访问。

图片5.jpg


BPO网版权及免责声明

1、凡本网注明:“BPO网”或者“原创”的所有作品,版权均属于BPO网所有,其他媒体、网站或个人转载使用时必须注明:“文章来源:BPO网”。违反上述声明者,本网将追究其法律责任。

2、凡本网注明“来源:XXX(非BPO网)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其产生的任何结果负责。

BPO公众号 BPO公众号
返回顶部