广州金融科技股份有限公司
资讯中心
当前位置: 首页 > 资讯中心
浅谈微服务的设计应用
返回

综述

随着金融风险防控工作的不断推进,广州金科对风险主动识别、精准预警、深度分析的业务工作以及对金鹰系统的可靠性保障都提出了更高的要求,因此也迎来了技术架构升级、数据结构调整、功能模块优化的契机。

一、微服务的发展

微服务架构(Microservice Architecture)是一种新兴的架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦,从而降低系统的耦合性,并提供更加灵活的服务支持。

这个概念是2012年随着移动互联网的兴起而出现的。Web网站、App等渠道增多,用户群体扩大,需求变化也随之日新月异,已有的应用程序越来越难以扛住大规模的并发及频繁的版本更新迭代。人们越来越意识到,传统的单体结构扩展不够灵活,应对外界环境能力薄弱,所以,作为加快Web和移动应用程序开发进程的一种方法,微服务思想就应运而生了。

2014年微服务的概念传入中国,开始受到各方的关注,2015年可以说是微服务的元年,国内大厂开始进行项目升级,转战微服务。2018年中小型企业也开始进行微服务架构升级。越来越多的论坛、社区、blog以及互联网行业巨头开始对微服务进行讨论、实践,更近一步推动了微服务的发展和创新。

随着金融风险防控工作的不断推进,广州金科对风险主动识别、精准预警、深度分析的业务工作以及对金鹰系统的可靠性保障都提出了更高的要求,因此也迎来了技术架构升级、数据结构调整、功能模块优化的契机。

二、微服务的设计原则

微服务的核心是拆分,但某个功能能够分散化,并不代表着它就应该分散化。业界对于可扩展的系统架构设计有一个朴素的理念,就是:通过加机器可以解决容量和可用性问题(如果一台不行就两台)。其实,更全面的设计可参考《The Art of Scalability》一书提出的一个系统可扩展模型——AKF 可扩展立方,这个立方体中沿着三个坐标轴设置分别为X,Y,Z。

以金鹰系统中的重要子平台——广东省地方金融风险监测防控平台(简称:监测预警系统)为例:

X轴:X轴扩展是指水平复制,通过绝对平等地复制服务与数据,以解决容量和可用性的问题。即,将监测预警系统在多台服务器上运行几个实例,成为集群加负载均衡的模式。

Y轴:Y轴扩展是基于不同的业务拆分,会将庞大的整体应用拆分为多个服务。每个服务实现一组相关的功能,如监测预警系统可拆分为用户管理、企业管理、模型分析、报告自动化等。

Z轴:Z轴扩展通常是指基于请求者或用户独特的需求,进行系统划分,并使得划分出来的子系统是相互隔离但又是完整的。基于监测预警系统,可拆分为不同地区的子系统,提供订制服务,这些应用可独立地进行开发、管理和迭代。

因此,采用微服务架构来重构监测预警系统时,围绕业务领域组件来创建应用,在分散的组件中使用云架构和平台式部署、管理和服务功能,使产品交付变得更加简单。

三、必要性

传统行业的产品是必然要向互联网行业进行转型的,而转型的过程当中,底层的架构模式也不再是传统的单体架构了,而是全新的微服务架构模式。

相对来说,微服务与其说是一种技术创新,更像是一种意识的创新。基于微服务架构模式,产品的生命周期得到更好的延伸与拓展,通过重组一些功能比较明确、业务比较精练的服务去解决更大、更实际的问题。

本文内容为原创,转载请注明出处!