基于微服务架构的智慧党建平台设计

软件设计开发
本栏目责任编辑:谢媛媛
基于微服务架构的智慧党建平台设计
王文兵,史春林,杨真
(93705部队,河北唐山063000)
摘要:为了解决智慧党建平台系统功能复杂、开发维护成本高、可靠性和可扩展性低的问题,提出了基于微服务架构的设
计方案,将系统模块功能拆分成微服务。平台采用开源的Spring Cloud 微服务框架,实现了服务注册与发现、路由网关、容错处理以及负载均衡等技术,降低了系统的耦合性,提高了开发速度以及使平台部署和扩展更加灵活。该平台目前响应迅速,运行稳定,验证了基于微服务架构设计理念的有效性。关键词:微服务;智慧党建;虚拟容器;Spring Cloud 中图分类号:TP311光纤收发器机架
文献标识码:A
文章编号:1009-3044(2021)09-0083-02
开放科学(资源服务)标识码(OSID ):
近些年,随着信息化的持续进步,敏捷开发和持续交付的设计理念也在持续的更新和拓展,此外,虚拟化技术和容器(Docker )技术也越来越成熟,软件设计者越来越喜欢采用微服务架构模式进行开发设计。
目前阿里旗下的Dubbo 服务化治理框架是国内最出名的微服务框架,除了阿里外,很多国内的互联网公司也在使用。Spring Cloud 是国外开源的微服务框架,包含了微服务开发所必需的多个组件,是相对成熟的技术框架。
为了解决智慧党建平台建设中存在的问题,本文采用开源的Spring Cloud 微服务框架,将平台中高度
耦合的多个子系统拆分成多个离散的服务,多个服务可以同步开发,提高了系统的研发速度并且便于平台功能的拓展。
1建设目标
以党组织和党员等为核心,以党务监督管理和综合服务为重点,优化党务业务流程,共享党建网络服务,搭建信息化平台。上传下达,落实中央和上级的精神、政策、决议等,使党务活动更加规范,管理更加精准、高效。进一步实现动态了解党员、党组织的情况,实现“三会一课”、发展党员、主题党日等党务活动的线上开展。
2微服务架构介绍
精益、敏捷和持续交付是目前软件开发的主流思想,配合DevOps 技术的快速发展,传统的单体式软件开发架构已无法适应需求的快速变化,主要存在以下问题:
1)代码维护成本高:项目中多个子系统和模块高度耦合在一起,需要修改某一功能时,会涉及其他正在运行的功能,牵一发而动全身。
2)开发效率低:开发人员在同一个项目中编写代码,提交代码时很容易引起冲突,解决起来非常麻烦。
汽车智能防盗系统
3)部署难度大:单体式架构修改一个小功能都必须重新部署整个系统,其他正常的模块不能正常提高服务。而且,随着
系统越来越复杂,部署花费的时间也更多。
4)可靠性低:出现的任何一点小问题都会让整个系统崩溃。
5)扩展能力低:由于功能模块耦合在一起,在增加新的功能时,需要对整个项目进行改动。
微服务架构是最近在软件开发领域兴起的新的软件架构,把单体架构中的各个模块拆分成多个服务,每个服务之间都是独立的,都由独立的进程运行,彼此间采用轻量级的通信协议互通(RPC 、HTTP 等),可独立伸缩拓展,并且每个服务都有其明确的边界,不同的服务可由独立的团队开发,也可以由不同的编程语言编写。
微服务架构相对于单体式架构,主要具备以下优势[1]:1)复杂度可控:每个服务的业务逻辑清晰,代码量小,功能简单明了,开发和维护相对简单,可以提高开发效率。
2)独立部署:每个服务都有独立的运行进程,当需要改变某一需求时,只需要重新编译相关服务,其他服务可正常使用。
3)异构:不同的团队根据自身的优势可以选择最适合的技术栈。
4)扩展:每个服务都可以独立进行细粒度的扩展。5)容错:系统故障被隔绝在独自的服务进程中,不影响其他服务的正常运行。
3微服务架构核心组件和关键技术
图1微服务架构核心组件
收稿日期:2020-10-23作者简介:王文兵(1983—),男,河北唐山人,高级工程师,硕士,研究方向为大数据、软件开发、网络安防;史春林(1985—),男,山西
晋中人,助理工程师,学士,研究方向为导航设备维修;杨真(1989—),男,湖南株洲人,助理工程师,学士,研究方向为自动化、通信设备维修。
83
本栏目责任编辑:谢媛媛
软件设计开发Computer Knowledge and Technology 电脑知识与技术第17卷第9期(2021年3月)
城市三维建模通过对微服务架构研究,其核心的功能包括服务容器、服务注册发现、服务安全、服务通信、管理接口、限流容错、序列化、日志管理和服务配置等,如图1所示。3.1服务注册与发现
尼龙螺杆
微服务把单个服务部署在Docker 容器中,在运行时各个服务可能随时被销毁或克隆,所以需要一种机制去动态的发现服务,这就要求服务提供者要注册发布服务地址,注册中心管理实例地址并提供心跳检测机制,服务消费者通过注册中心查询可用的实例地址进行调用。目前主要有两种实现方案:
1)提供者服务发现
在提供者和使用者中间设置一个独立运行的负载均衡器,其中存有所有服务的地址列表。当使用者调用某个服务时,首先请求负载均衡器,负载均衡器收到请求后根据策略做负载均衡,然后将请求转发到相应的服务。此方法使用者无须维护发现逻辑,实现起来比较简单,但在负载均衡组件需要在系统中保持持续运行,而且在服务提供者和使用者之间增加了负载均衡器,增加了性能开销,
剥离力测试方法
容易形成单点瓶颈。
校园网管理系统图2提供者负载均衡
2)使用者服务发现
该方案将负载均衡器集成到了使用者服务进程内,此时所有使用者都要维护一份实例列表,该列表源自注册中心。和方案一相比,服务提供者和使用者之间直接调用,不增加开销,解
决了单点瓶颈问题。
图3使用者负载均衡
3.2路由网关
为了让不同服务对外提供统一的API 地址,需要设置路由
网关,我们只需要访问网关地址即可访问不同服务[2]。这样就解决了前端调用服务地址管理复杂的问题。除此之外,网关路由还要提供身份认证、权限校验、流量控制、负载均衡等功能,如图4
所示。
图4网关路由基本结构
3.3服务容错
在微服务架构中,各个服务间相互依赖,服务之间相互调
用时可能会由于某个实例出现错误或响应超时等原因导致调用失败,肯定会导致系统崩溃,所以需要进行容错处理。
本系统采用Hystrix [3]
微服务容错框架,其综合考虑了多种因素,包括:错误、超时、服务隔离、负载等,它把服务调用逻
辑进行封装,使其运行在单独的线程中,通过资源隔离、熔断器和调用超时三方面来保障微服务的可靠性。
4智慧党建平台框架设计
充分借鉴其他区域“互联网+党建”、智慧党建及党建信息化建设经验,利用微服务架构技术,重点突出党建区域工作特,设计出符合省级党建业务发展和符合安全的平台架构。按“层次化设计”思路,以展现交互、业务应用、应用支撑、信息资源、基础设施为五层,党建信息安全保障、党建运维服务保障和党建标准规范为三纵的总体架构进行设计,建成一个低耦合、高内聚的党建平台,并且随时可以对其进行扩展。具体如图5
所示。
图5党建平台架构图
5结语
本文对目前流行的微服务架构进行了介绍,并在智慧党建平台的建设中进行了应用,相对于传统的单体架构开发模式具有十分明显的优势,提高了开发效率,简化了开发难度。目前,该平台运行稳定、响应迅速、维护方便。
参考文献:
[1]周建丁.七牛技术总监肖勤:微服务架构实践经验分享[EB/OL].(2015-08-12)[2020-04-18].www.csdn/article/2015-08-07/2825412.[2015-08-12]
[2]郑彬彬.基于微服务的OJ 系统重构与优化[D].上海:东华大学,2017.
[3]吴磊,湛健,宋丽华.微服务架构在智能家居网关系统中的应用研究[J].计算机技术与发展,2019,29(11):200-205.
【通联编辑:代影】
84

本文发布于:2024-09-21 19:36:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/155467.html

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

标签:服务   架构   平台   开发
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议