分布式平台技术规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分布式平台技术规范
1范围
本文件规定了面向联机交易系统的分布式平台应覆盖的范围及应具备的基础功能。
本文件适用于联机交易系统所使用的分布式平台的建设。
2规范性引用文件
本文件没有规范性引用文件。
3术语和定义
下列术语和定义适用于本文件。
3.1
数据data
信息的可再解释的形式化表示,以适用于通信、解释或处理
注:可以通过人工或自动手段处理数据。
[GB/T5271.1-2000,01.01.02]
3.2
分布式distributed
<计算机>物理上由多个不同的机器参与执行,但在逻辑上完成的是一个任务
注:对使用者来说,就像一台计算机在执行一样。
3.3
微服务micro service
<计算机>职责单一的、轻量化的服务单元
注:一个微服务有自己独立的应用和数据库。
3.4
事务transaction
<计算机>访问并可能更新事务资源中各种数据项的一个程序执行单元(unit)
注:一个事务如果执行成功就全部提交,如果有一个失败就全部回滚。
4概述
分布式平台需要为系统提供全方位的分布式能力,当性能遇到瓶颈时可通过横向扩展的机制予
以解决,并且需对分布式带来的事务问题提供完备的解决方案。不同领域的联机交易系统对分布式的需求存在一定差异,在进行系统建设时可按需选择,分布式联机交易系统的参考架构见图1,其中分布式平台应包括:
a)微服务平台:提供应用层的分布式能力,将一个复杂系统拆分为多个微服务,每个微服务可
同时运行多个实例,不仅提升了系统的扩展性、可用性,还可以快速灵活的应对业务变化;
b)分布式数据:将大数据量表中的数据进行水平拆分,用多个物理库来承载,不仅降低了单表
的数据量,还增加了可用的物理资源;
c)分布式缓存:对于大量的数据查询请求,采用分布式缓存进行存储,降低对数据库的交互次
数,缩短服务的响应时间;
d)全局序列:提供跨多个微服务实例的序列服务,以防止不同实例中的序列重复;
e)分布式调度:提供统一的分布式调度机制,协调多个微服务节点及数据库节点共同参与运行,
充分利用物理资源,将批量处理的时间控制在有效范围内;
f)分布式事务:由于微服务和分布式数据,就会带来分布式事务的问题,所以需提供跨数据库、
跨微服务的事务一致性的保证机制。
图1分布式联机交易系统架构
5微服务平台
5.1概述
微服务平台的主要目的是为联机交易系统提供应用分布式的运行机制,以及配套的管理体系,主要包括:接入网关、微服务引擎和运维监控三大部分。
5.2接入网关
接入网关为外部系统访问提供统一的接入及控制,应包括:
a)服务鉴权:对服务的访问进行控制,只有在权限范围内的才可以访问,否则将被拒绝;
b)流量控制:对请求的总量进行控制,如果超过限制,后续的请求将会被拒绝或者等待,还可
以按具体的业务维度进行更细粒度的控制,例如:按交易渠道进行控制;
c)熔断降级:如果某个服务的失败率比较高,或者发现一些明确的异常情况,有可能影响到其
他服务的正常运行,自动切断该服务的所有请求(直接抛错或者返回约定信息),以保护
系统整体的可用性。
5.3微服务引擎
微服务引擎为微服务平台提供运行保障,应包括如下功能:
a)服务注册/发现:服务提供者在启动时将服务相关信息注册到“注册中心”,服务消费者通
过“注册中心”获取到最新的服务列表,当服务提供者下线时,注册信息从“注册中心”
删除,服务消费者更新服务提供者列表;
b)负载均衡:服务消费者调用提供者时,根据本地列表并依据指定的算法选择具体的提供者进
行调用,整体需保证到多个提供者上的负载相对均衡,平台需提供多种常用的负载均衡策
略,例如:轮训、随机、最小并发数等;
c)自动隔离/恢复:当服务提供者出现异常情况(例如宕机),自动从“注册中心”删除,当
其恢复后又自动加入,期间消费者同步获取到最新的服务提供者列表;
d)集群容错:当服务调用发生异常时,提供多种容错机制,例如:重试(可以设定重试次数)、
直接抛错等机制。
5.4运维监控
运维监控为微服务平台提供管理能力,应包括:
a)灰度发布:服务有新的版本发布时,可通过灰度发布只对部分用户开放,运行一段时间如果
达到预期,再对所有用户开放;
b)统一配置:通过统一的配置中心快速完成多个微服务实例相关参数的调整,同时提供配置信
息的版本管理,防止配置出现问题时统一回退;
c)服务治理:服务治理主要对服务运行态的情况进行动态调控。
1)负载策略调整:对多个服务提供者的负载均衡策略进行调整,防止某个提供者上的负载
过高;
2)流控策略调整:根据实际需要,对流量控制的策略进行动态调整;
3)熔断降级控制:对服务的熔断及降级的策略进行调整;
4)路由控制:通过配置对服务的路由策略进行干预,例如:暂时把某一个服务提供者屏蔽。
d)调用链跟踪:支持查看服务调用过程的完整链路信息,以主动发现和追踪业务系统的调用关
系,快速定位系统瓶颈;
e)分布式日志:把分布式系统下的相关日志信息进行采集、汇总,并把跨多个微服务的日志串
接起来,提供统一的页面按不同维度进行日志信息的查询;
f)监控告警:对相关的监控对象制定对应的告警策略,当达到告警条件时产生告警信息,以便
运维人员及时处理。
注:监控对象应至少包括系统运行资源、服务的运行情况。
6分布式数据