APP下载

微服务架构在基层人民银行信息化建设中的探索

2020-09-27吴复磊

经济视野 2020年12期
关键词:用户服务网关组件

文|吴复磊

微服务概述

简而言之,微服务就是一些协同工作小而自治的服务。微服务将一个完整的应用从数据存储到业务逻辑开发垂直切分为多个不同的服务,每个服务都具有自己的独立生命周期和服务边界,可以独立部署、独立维护、独立扩展,服务与服务之间通过统一风格协议(RESTFUL)的API进行通信。微服务架构相对于传统单体架构具有足多优势:技术异构性、系统融错性好、高可扩展性、部署简单。

基于SpringCloud文件存储系统设计实现

1.主要技术框架。SpringCloud 是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、熔断器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。

SpringCloud核心组件包括:服务发现组件Eureka、服务间的调用组件Feign、熔断器Hystrix、微服务网关Zuul、基于JWT的Token认证机制JJWT等。

2.系统设计和实现。针对文件存储系统的特点,结合微服务架构的拆分原则,将其划分为用户服务、文件服务、索引服务和接入层服务。

(1)整体架构。系统分为用户服务、文件服务、索引服务和接入层服务。用户服务作为一个基础服务,主要关注与用户相关的数据操作,主要有用户管理、部门管理、角色管理、权限管理、密码管理等功能。文件服务实现文件的上传下载、共享、删除、目录管理等功能,后台使用mongodb 的gridfs存储文件。索引服务使用ElasticSearch分布式搜索引擎实现对文件的全文检索功能。接入层服务是提供给用户的接口,做数据聚合展示。

(2)数据库设计。数据库库的设计与三个服务相匹配。用户服务采用关系型数据库MySQL;文件服务使用非结构化数据库MongoDB,主要使用MongoDB的Gridfs文件系统存储文件;索引服务使用ElasticSearch分布式索引引擎保存文件的索引。(a)用户服务设计的数据库包括用户表、角色表、权限菜单表、部门表存。(b)文件服务使用MongoDB数据库。GridFS是MongoDB的一个子模块,用于存储文件,通常用来存储超过16M的大文件。文件存储系统主要用来存储大文件,刚好符合GridFS的特点。(c)索引服务使用ElasticSearch分布式搜索引擎存储文件的索引,使用logstash工具自动从MongoDB的document集合中搜集 filename字段和content字段的内容,交给ElasticSearch做索引。Logstash工具实现mongodb数据库和ElasticSearch的自动同步。

(3)微服务的实现和部署。用户微服务的实现使用SpringDataJpa,文件服务的实现使用SpringDataMongoDB,索引服务使用ElasticSearch+logstash实现。微服务通过docker容器进行部署,部署前修改每个服务的yml配置文件,添加注册Eureka服务的配置和Zuul网关的配置。使用dockerfile生成镜像,部署在k8s+docker集群中,运行服务,服务会根据配置文件中的Eureka的注册地址进行注册。微服务之间通过Feign相互调用。Zuul网关为外部请求提供一个统一的地址。SpringCloud各个组件的调用关系如下图所示。

基层央行转型微服务架构的建议

1.完善微服务架构基础环境。微服务架构的基础环境包括服务器、存储、网络和软件。建议搭建k8s+docker集群,一个存储(NAS或SAN)。搭建本地yum仓库和docker镜像仓库,便于部署k8s+docker集群。

2.开发公共基础微服务。首先开发基础服务比如部门、用户、权限等公共的服务,后期开发其它应用是可直接调用这些基础服务。

3.分析现有应用,逐步向微服务架构迁移。对先有应用进行分析,按照微服务的设计原则,拆分出具有独立功能内聚性很强的功能,作为一个微服务开发部署。有计划有步骤的将现有应用完成微服务的改造。

4.加强学习培训。微服务架构涉及的新技术较多,SpringCloud架构下就需要掌握7个以上的关键技术。建议多组织相关的培训,科技人员也要通过自学掌握微服务的技术,为向微服务架构转型做好技术及知识储备。

猜你喜欢

用户服务网关组件
无人机智能巡检在光伏电站组件诊断中的应用
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
信号系统网关设备的优化
新媒体时代老年类报刊的用户服务转型与升级对策
科学数据共享平台的建设与服务探讨
“互联网+”时代学术期刊的转型路径分析
大数据时代图书馆用户服务保障模式探讨
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”