安信可nbiot模块_案例丨安信证券服务化平台实践

3f5a31cd847ac0a94f684531210dacac.gif

文 / 安信证券股份有限公司信息技术中心  段苏隆 周巍 沙烈宝 李银鹰

建设之初的思考

互联网应用的海量用户、快速迭代、不间断服务和流量突增等业务特征促进其技术架构从传统集中式到分布式SOA和微服务架构方向演进。当前,以Docker、Kubernetes和服务网格等为代表的云原生技术进一步促进微服务的发展,解决了标准化交付、自动化调度和无侵入式服务治理等复杂问题。

在工程实践方面,诞生了一系列基础框架、工具组件和基础平台支撑微服务的敏捷迭代和服务治理等特性,如Apache开源的Spring Cloud、Dubbo等框架;在同行业中,有东方证券开源的微服务治理框架gRPC-Nebula、国信证券开源的Zebra微服务框架和恒生闭源JRES3.0分布式服务开发平台等,这些框架通过嵌入SDK的方式实现如服务注册与发现、负载均衡等服务治理功能。同时,也有新一代如服务网格的无侵入式方案,通过对服务间的通信进行代理,能够在不修改源代码情况下实现复杂的服务治理功能。

随着敏态业务的逐渐增多,对业务连续性、交付效率和故障处理效率等方面提出了更多的挑战,这些需求促进着技术架构的转变。安信证券服务化平台实践,以赋能业务为中心,积极拥抱微服务、容器和云原生等新兴技术来应对业务系统研发过程中的实际问题。

1.解决什么问题

尽管微服务和容器等技术已广泛使用,但仍然需要结合具体的业务场景落地。因此,我们从实际出发,针对15个具有代表性的自研业务系统负责人进行问卷调查和访谈,同时对近两年的生产事件进行归类,梳理出不同优先级的服务化相关需求。

(1)内部调研结果。从业务系统建设方角度,期望平台提供如下能力项:使用手册、配置中心、服务网关、负载均衡、链路分析、熔断限流、注册中心、工程脚手架、指标监控等。

(2)生产事件分析。平台研发团队对近两年来1800+生产事件分析,归纳整理出中间件配置、外部调用、监控、环境差异、突发流量5类共性问题,对应能力项需求包括:中间件最佳实践、开发规范、指标监控、灰度发布、限流熔断等内容。

2.服务化探索

针对上述能力项需求与架构演进方向,安信证券服务化实践主要包括以下几个要点。

(1)演进式架构设计。实际的研发过程中,大部分业务系统的服务拆分并不是一蹴而就,当出现有多个功能模块紧耦合、不同模块需要根据业务需求独立演进等情况下才会考虑适当拆分,否则,单体架构或者“小服务”(拆分粒度相对微服务低)更能降低系统的开发、测试和运维等阶段中的复杂度。

(2)解决实际问题。从应用的全生命周期考虑,在研发阶段提供脚手架、开发规范并约定服务间通信协议等内容;在运行阶段,以应用的可观测性(主要包括指标、链路和日志数据)为中心收集并展示其运行状态数据,同时提供多种规则实现异常状态的告警。

(3)结合容器云落地。随着安信证券容器云平台建设的完善,并规划全部自研业务系统“上云”,微服务架构基于容器云平台落地,有效解决运行环境和操作系统的标准化、应用灰度发布和弹性伸缩等复杂操作。在服务治理方面,优先考虑Kubernetes和服务网格的无侵入模式,而不是以SpringCloud、Dubbo为代表的SDK嵌入模式,主要原因是这类服务治理框架会带来一些负担:一是注册中心提供动态的注册与发现功能,但不解决网络权限等问题。例如两个服务A和B间的通信,引入注册中心C后,需确保A和B、B和C、A和C之间的所有实例通信正常。二是注册中心内外调用容易混淆。服务A和B间的通信,服务A必须明确服务B是否注册在同一注册中心,如果是,则使用注册名动态发现服务的多个实例地址后发起调用,否则,需要使用IP或者域名进行调用。实际使用中,这两种调用模式往往同时存在而导致混淆。三是SDK耦合问题。SDK与业务耦合,当服务端升级且对低版本不兼容时,将面临所有业务系统需升级的大量工作。

ca902f9a813be495d16e85e3c8f578a9.png

图  服务化基础平台架构图

规划先行——服务化演进路线

结合微服务、容器等技术的演进和业务系统面临的实际问题,制定服务化演进路线如下。

POC(2018-2019):针对各类低迟延、高并发的业务应用场景,探索以gRPC通信协议为基础的低侵入服务治理框架,支持多种开发语言接入,并提供服务注册发现、负载均衡、容灾容错、服务治理、服务度量、统一配置、服务网关等一系列开箱即用的解决方案。

阶段一 (2019-2020):建设配置中心Apollo、基础框架SpringBoot、链路追踪Skywalking和运行指标Prometheus、脚手架等基础设施、打通指标、链路与日志等数据以提升应用系统的可观测性、提供数据展示的服务门户、用户对接的详细文档。

阶段二 (2020-2021):推动全部自研类业务系统进行服务化改造,根据用户反馈进一步完善基础设施,探索基于Service Mesh的限流熔断、灰度发布等功能;同期Nginx/Redis等常用中间件最佳实践、JAVA/C++/VUE等一系列开发规范同步发布,进一步提升业务系统的交付质量。

阶段三 (2021-):推广基于Service Mesh的服务治理体系,将服务治理功能与业务完全解耦,真正实现开发人员只关注业务。

解决方案——开源定制,量体裁衣

为了有效落地阶段一规划内容,安信证券和博云合作研发,基于开源组件进行个性化定制,实现链路追踪、拓扑绘制、配置中心、指标收集等功能。

 1.以应用为中心,整合统一门户

提供以应用为中心的服务画像、服务治理和观测告警等功能;展示接口慢响应、吞吐量、接口调用异常等关键运行数据,并根据预定规则进行告警;动态生成服务间和系统间链路拓扑图;收集应用及中间件的运行指标,如日志错误率、堆内存使用率、HTTP错误响应码占比等。

2.标准化开发框架,规范应用环境

标准化开发框架、基础依赖库、配置管理、日志输出等基础组件;结合CI/CD流水线提升开发测试和部署效率;实现开发工程脚手架的功能,通过代码自动生成达到基础框架和版本、工具、脚本等进行规范和标准化。

3.链路追踪,故障分析之利器

基于自动埋点TraceId方式将一次请求完整串联,并记录每个环节的耗时,再将链路追踪和日志数据关联,对于接口响应慢等常见故障的排查非常实用。

总结与展望

服务化基础平台的建设,是整个云原生架构版图的重要组成部分。经过近1年的投产使用,在平台能力建设方面已逐步完善,并推动自研类业务系统进行改造升级。目前已顺利上线29套业务系统、99个服务和319个运行实例,接口调用次数日峰值超过2亿次。主要的创新点包括以下三个方面。

1.无侵入式调用链可视化

通过无侵入插件方式实现对各业务系统方法调用埋点及数据收集,极大提升了跨系统的故障定位能力。根据系统间API调用情况,动态生成系统拓扑图,实时显示上下游系统的调用频次、调用时长等关键数据,为评估跨系统调用瓶颈提供最有力依据。

2.统一技术栈打造云原生快速开发平台

基于开源组件定制的云原生应用脚手架,实现一键生成项目工程,能够将项目构建从小时级缩短至秒级,也能够让应用更加标准化,将基础框架以代码模板的方式固化下来。

3.基础设施平台化赋能业务系统

通过制订接入规范,各业务系统可按需对接。根据已上线的项目实施过程统计,项目1至2周时间即可完成平台对接及验证。相比之前各业务系统各自实现上述非功能性需求,无论是建设效率还是建设质量,都有大幅的提升。

随着自研类业务系统逐步地迁移上云,以容器云和服务网格等云原生技术为基础的无侵入式服务治理是未来演进的重要方向,它将治理SDK的功能全部分离到Sidecar上,真正实现开发人员只关注业务。服务网格是服务化实践下一阶段的主要方向,期望能够更进一步提升业务系统的研发效率和交付质量。

往期精选:

(点击查看精彩内容)

● 案例丨华为携手合作伙伴,共建金融开放新生态

● 案例丨新疆农村信用社全力支持产业促脱贫

● 案例丨基于数据挖掘的银行业务集中耗时分析

● 案例丨从“中间件”到“中台”——技术架构与应用架构的演进

● 案例丨银行网点遭遇关停潮?深圳这家银行创新厅堂营销可否复制

关于仿冒我刊收费的声明

我刊自创刊以来,从未向投稿人收取过任何费用。任何以刊发文章为名向投稿人收取费用的行为,均属于对投稿人的欺诈行为。

我刊官网地址为 www.fcmag.com.cn。

我刊投稿邮箱为 fcmag@fcmag.com.cn。

对于仿冒我刊网站、网页的违法行为,我社将追究其侵权责任,以维护我社和投稿人的合法权益。仿冒网站、网页举报电话:010-88232443

《金融电子化》新媒体部:主任 / 邝源  编辑 / 潘婧 傅甜甜

28141f165ff00fadaac9ffb3737d2103.gif

eaf2b80f4c56604ef83914c2dc307d85.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值