145
基于Spring Cloud 微服务架构的风控运营平台设计与实现
何金璐1,黄语倬2,韦海峰1,谭
亮1
(1.广西北投信创科技投资集团有限公司;2.广西交科集团有限公司,
广西南宁530201)摘要:随着网络的高速发展以及在安全方面得到了更多的重视,很多企业都需要开发自己的风控系统,因此建立一个比
较完善的风控系统或者中型风控平台是必不可少的一环。如果使用原来单一的业务框架模型开发,随着企业业务的进一步开展,其可能由于不够复杂而不能支持业务的迅速拓展进而威胁到企业业务的迅速扩张。文章以Spring Cloud 微服务架构为基础,设计了一种风控运营平台,希望能为相关人员提供参考。关键词:Spring Cloud ;微服务架构;风控运营平台;设计与实现中图分类号:TP311文献标识码:B 文章编号:2096-9759(2023)03-0145-03近年来,我国各行各业与网络的联系日益密切。而且,随着消费者对网络安全要求的日益增强,互联网安全也日益引起网络使用者的注意。因此,通过构建较为灵活有效的风险管理系统和运行机制,来有效预防公司网络安全风险已经成为了公司的当务之急,而较为
完善的风控运营方法之一也就成为了公司风险管理体系中不可或缺的重要内容。随着一般公司的业务模式和客户规模均呈现着不断上升发展的态势,而传统单一的应用方式已经难以满足快速成长型企业的需求,信息系统必须在原有的基础上继续保持在单一应用的基础上,开发变更新产品应用。
1Spring Cloud 微服务框架概述
1.1Spring Cloud 概述
Spring 是一个诞生于2003年的轻量级Java 编程框架。但是由于它的进步,框架中的代码数量不断增加,集成、数据集等功能也变得更加繁琐。2014年,Spring 社区引入了Spring Boot 框架,改进了Spring 应用的开发和发布流程,并使用自动集成了大量第三方数据库服务,以便能够使用现成的盒子,从而促进了那些为逻辑对象付出大量金钱的人的发展,以改善开发者体验。由于近年来关于分布式系统和微服务架构的新思想和方法的出现,Spring 社区也根据Spring Boot 设计得方便,引入了Spring Cloud 构架来用作微服务架构的方案,以便开发人员迅速构造出一个优秀的分布式系统。
Spring Cloud 的主要优点是社区更强大,可以鼓励开发者根据自己的需要选择技术,适用于很多领域。Spring cloud 不是造新轮子,而是通过整合众多公司成熟的服务体系,对spring boot 进行重新包装,并保护安装过程和使用标准,从而提高使用的构建。经过深思熟虑,最终打造了一个简单易用、易于安装、易于维护的分布式生成工具。
1.2Spring Cloud 相关组件
1.2.1服务的注册与发现组件
Spring Cloud 中推出的用户注册和发现服务,也涵盖了Eu-reka 和Consul 。充分考虑到在微服务架构下,整个服务的运作流程中可根据实际需要随意地对业务信息加以扩展、压缩、失效和更改,对于运维部门来说无疑是非常低效的。这样,系统的主动工作可以利用业务的注册和发布来完成,方便于客户迅速完成对客户的录入、管理和维护的作业。1.2.2服务调用组件
业务调度组件分为Hystrix 、Ribbon 和OpenFeign 。由于在操作系统中可以产生微服间的相互依赖关系,为防止在调度某些业务时发生故障所产生的连锁效果从而造成整个操作系统雪崩,所以采用了Hystrix 实现熔断业务来完成容错管理。Ribbon 则用来执行服务器端的负载平衡,透过选取适当的业务实例来完成申请的转发,以便分摊服务系统压力。而Open-Feign 则是通过一种声明式的Restful 网络,要求服务器端用来减少业务申请。
1.2.3路由和过滤组件
路由的网关模块中既包含API 网关,又包含Zuul 和Spring Cloud Gateway 。微服务架构,是指在服务器与云平台服务器之间通过API 网关连接后,对每个服务器的所有请求都能够通过API 网关实现转发,从而实现了路由转发、流量管理和鉴权认证等功能的服务。1.2.3配置中心组件
由于使用范围的扩展,各类的设置项将更加复杂,根据配置文件进行的静态化设置在需要进行参数调整时会十分不方便,而且易产生配置文件过于离散的现象。Spring Cloud 通过Config 组件的设置中心可以完成配置项目的管理和动态刷新的工作。
2系统整体架构设计
2.1风控运营平台需求分析
近年来的电商行业越来越火热,因为电商具有产品覆盖
面广,成交频次多以及商品种类众多的优势,吸引了不少“黑行业”。这些黑产损害了平台上企业和消费者的权益,从而对平台的收益产生冲击。因此,有必要建立安全可靠的风险管理体系,避免出现黑设备问题。其中,操作风险管理平台是风险管理后风险防范职责的重要组成部分,主要职责是发现、检测并应对风险管理情况。目前系统主要管理两种状态,投资者风险状态和消费者风险状态,当风控主系统检测到具体的风控情况后将数据交给风控运行系统,由操作系统承担对情况的事后处理工作。
据研究,系统特点主要有:全服务商户系统,涵盖了被管理商户的全部基础数据,能够对被控制企业的交易过程和付款结算进行整体管理;导入风险商户信息,相应的风险商户数据采集;险商的申请、审批与控制;输入风险信息,评估、控制等对经营风险的整体控制。此外,风控运营系统也具有以下优点:风控运营系统所包含的服务点很丰富,可以实现
收稿日期:2023-02-18作者简介:何金璐(1995-),男,广西百人,毕业于同济大学电子与信息工程院,本科,工学学士,主要从事交通板块信息化与政企数字化转型建设项目相关工作。
2023年第03期(总第243期
高速迭代开发;对系统业务拓展的水平也很高,系统需要不断添加新的业务节点;对系统稳定性和可用性的要求也相当高,对节假日系统的并发率也有相应的要求;系统也需要与公司内部进行一些服务绑定;系统还需要同时配备多台服务器。2.2系统整体架构设计
根据上述风控管理系统的讨论结果,项目拟引入前后端分离的设计,利用后端实现微服务架构设计,利用SpringBoot、SpringMVC、MyBatis等架构实现微服务的敏捷发布,并使用spring cloud管理整个系统
的微服务,使用Jenkins、Docker等搭建自动化服务,引入Redis、Kafka、ES等中间件,页面也将利用Vue.js 的架构进行设计,从而形成了一套具有高可用度,高扩展度,高弹性,自动化运维等优点的服务体系。系统总体结构如图1显示
:图1系统整体架构图
2.2.1Nginx集
由于这些操作的前后台服务器都是以组的形式实现的,所以首先要引入Nginx组件。当用户向服务器发出请求时,Nginx 可直接把请求转发给集中的服务器。负载均衡组件Nginx系统也出现“重大故障”的结果。为克服这种问题,系统通过重新安装主从Nginx操作系统,并启动了功能稳定性较好的Keep-alived,从而自动实现了对主从节点之间的功能切换,从而保证了在宿主节点上的服务仍可以使用。
2.2.2前端服务集
考虑到时间和前端开发复杂度等技术难点,选择Vue.js构架作为系统的前台服务构架,该架构能够完成网页间的切换,向后台服务发出Ajax请求以接收数据、发送数据等。用户在浏览网页时,只需要使用Vue-router的功能即可完成各种网页的导航。后端系统收到申请后,将完成的数据返回。使用我们服务的Vue.js项目,然后使用Nginx完成用户浏览器应用的传输,完成前端服务。
3基于Spring Cloud微服务架构的风控运营平台的实现
3.1配置数据库
在进行完项目的初步设置之后,最后进行了配置数据库,MySQL框架方案的具体实现过程如下:
(1)建立MySQL:根据主从架构,我们在MySQL主库系统中搭建一个从库系统,然后我们将主库系统的表备份并复制到从库系统,然后我们从主库执行命令系统根据需要:
微服务网关和注册中心区别GRANT REPLICATION SLAVE ON*.*TO'root'e'192. 168.195.131'IDENTIFIED BY"
这个任务是先从主库中取数据,然后安装主从库的数据库配置文件。完成binlog的安装后,还需要安装同步数据库的日志软件,然后运行主从数据库。数据库,那么我们就重新安装从数据库,然后把从数据库和主数据库连接起来。Library,然后启动从库,这就实现了对MySQL主从框架的使用,从库可以将所有的数据块和binary log以一个大库形式提供到从库。
(2)提高Mycat的安全性和高容量:通过与Mycat中间件公司读取单独开源转换,配置Mycat常用l和l配置文件,常用l。创建逻辑数据库。(可以理解为一个虚拟库,用户只需要连接整个逻辑库就可以工作,mycat会决定在哪个服务器上执行sql语句)。
3.2后端服务集的实现
3.2.1风险商家服务
危险商户业务管理系统,主要是指风险商户信息定型、风险商户数据收集、风险商家信息收集等的业务管理系统。风险管理的主要任务是首先发出风险交易者名单和交易者具体业务的明细,然后操作进入业
务风险管理,然后风险管理将信息发送给被识别的贸易商。以及他们提供的信息。风险管理信息,这是最终的风险业务信息。管理人员还可以要求将信息连同具体说明一起发送给风险交易员。销售经理还可以查看每个商家的推荐详情。
3.2.2商家管理服务
风险管理报告在中国高风险交易者后,会针对商户风险
146
管理的程度不同,而进行不同的处罚方式。而目前的惩罚主要分为:冻结店铺、关闭商店、冻结店铺。在风险交易员进行过风险管理之后,交易者还需要进行恢复操作,如:回归原客户、恢复重新销售产品、和交易员们进行磋商等等。
3.2.3风险用户服务
风控发现用户交易过程中出现问题后,将暂时停止交易并交由风控平台进行管理。项目经理将检查和评估每个客户在平台上的风险。用户将帮助他们毫无问题地回到原来的业务,从而使业务公平。
3.2.4搜索服务
为使客户可以迅速地查询数据,项目中采用了ElasticSearch 等分布式搜索引擎来实现查询工作。ES根据数据库中的索引信息建立了一些简单问题的框架。通过这个方式,人们能够十分容易的进行对企业信息的搜索。因为一般人们在选择检索软件时采用了中文搜索方式,但由于ES本身的中文分词方法模块还没有建立,导致人们只能通过ES提供的软件检索中文分词方式信息,以增加问题的准确性.想要很简单的把MySQL中的企业信息导入到ES数据库中,可通过中央数据管理的Logstash,可以提高从MySQL数据库同步数据到ES集数据库的效果。
3.2.5电话服务
风险完成风险管理后,经理必须通过电话联系客户,确定是否存在风险,在这个过程中,必须使用呼叫中心提供的外部服务,并且因为信息必须是正确的。之后,将其记录在案,在存储、网络游戏和下载上下功夫。其中,大部分移动呼出业务是通过第三方软件完成的,当捕捉到用户呼出后,声音将存储在电脑的文件数据库中。当运营商向互联网提出广播录制数据的申请之后,前端浏览器将向后端移动平台提出Ajax申请,对下载的视频内容进行广播。而前端收集到url后,在标签的src对象中提取音频内容进行广播。
4系统测试
4.1测试环境
考虑到实验室硬件有限,实验室现有部分用户都是先通过KVM获取虚拟机,然后作为虚拟机在这里进行本次研究规模的构建。基于微服务架构创建云平台服务器共需要14台虚拟机。其中,三个虚拟机组成一个微服务管理组;三台虚拟机之间使用分组传输数据,其中两个MySQL数据库和一个Redis缓存数据库;为我们的虚拟机创建计算机硬件,并提供服务;二台虚拟机,都用来传递给现有云平台服务器的业务代码;另外,资源存储、通信业务、Git服务等都托管给虚拟机供应用。
4.2系统高可用性测试
解决系统可能存在的“故障之一”问题,只有解决导出模块的问题,才能发挥系统的潜能。在验证测试中,只衡量Eur-eaka的容量、Zuul网关的可用性、特殊业务服务的分布情况。
4.2.1服务高可用性测试
在微服务架构下,系统被划分为多个微服务,它是通过与微服务的交互而发挥重要作用。所以,后端业务的可用性和稳定性决定着整个系统的可用性。接下来重点测试风险商户业务,先配置好Eureka服务注册中心(包括3个Eureak Server节点)和API网关(2个Zuul节点),然后同时开启这二种风险商户业务,在Eureka服务注册中心在的后台页面上,这是3个es-Eureka-Server例子,2个API-gateway例子,和2个riskshop例子。
为了模拟服务停机时间,其中一个riskshop节点被关闭。从Eureka后台页面可以看到只剩下一个riskshop实例。
我们把riskshop节点关掉,相当于模拟一下机器宕机后,用户可以发现其他节点仍然可以进行业务,仍然可以在请求中使用Postman进行查询,这样也保证了系统在某些设备已关闭的状态,仍能正常开展业务,实现高可用性。
4.2.2Zuul网关的高可用性测试
接下来,关闭了Eureka的注册表中的一个Zuul节点。根据检测结果我们可以发现,原来的两个Zuul节点已经因为宕机而变成了一个,然后我们还是可以给Zuul网关发出申请,查看是不是仍然可以使用。风险商户服务也能够得出同样的结论,说明了在部分Zuul网络关节点宕机后,Zuul网关还是能够正常路由使用,保持了高可用性。
4.2.3系统可扩展性以及可伸缩性分析
(1)系统可扩展性
在微服务架构下,系统服务之间相互独立,解耦,单独部署。因此,当业务访问压力波动时,能够随着市场负荷变化动态灵活进行业务使用的单台设备。在给用户增加服务、Nodes,甚至减少服务节点数量
后,Eureka就能够自动感知,而无须自动更改配置数据,在服务还需要使用前通过服务去Eureka了解服务的配置地址名称,进而进行服务的使用。如此一来,服务的配置就会非常灵活,而服务的可扩展性也会非常好。
(2)系统可伸缩性
根据微服务架构,业务流程是相互独立和分离的。在系统中引入新服务时,不需要关注旧业务的内部逻辑,只需要添加新设备,创建新服务,调用时设置raise关系即可。第一个业务可以直接从Feign调用,服务非常容易扩展。
5结语
论文中探讨了微服务架构的设计特点,左右端分别的设计方式,以及用来处理传统微服务架构中业务处理问题的SpringCloud结构,并针对传统背景的风控系统设计进行了研究,同时考虑了现代风控服务运营系统的发展特点和原有的设计框架所面临的技术困难,并以此对现代风控业务系统的功能选型和系统结构进行了研究,并给出了一种左右端分别的设计模式,并通过微服务架构的设计系统的后台部分实现了架构设计,并通过SpringCloud结构进行了传统微服务架构下的业务处理,并要求所形成的服务体系必须具有按需求可伸缩式、多延伸性,多并发、高可靠、设计灵活、自动化及运维简单的设计特点。
参考文献:
[1]Li Chunying,李春颖,Di Xiaokun,等.基于北斗和NB_IoT
的低功耗金融风控终端设计与实现[C]//中国卫星导航年会.中国卫星导航学术年会组委会,2019.
[2]张明森,黄宏敏,詹瑞典.基于Spring Cloud微服务架构的
广告系统的设计与实现[J].电子世界,2020(8):2.
[3]吴铭程,顾芒芒.基于Spring Cloud微服务架构的私有云
管理系统的设计与实现[J].数码设计.CG WORLD, 2021,010(003):P.57-57.
[4]杨旆.基于数据挖掘的电信运营商商机运营分析平台设计
与实现[D].西南交通大学.
[5]张广鑫.基于Spring Cloud微服务架构的智慧校园系统设
计[J].船舶职业教育,2020,8(4):5.
147

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。