登录注册
请使用微信扫一扫
关注公众号完成登录
我要投稿
摘要:随着软件系统越来越庞大,单点应用模式无法适应大型企业软件的开发与部署,为了解决日益增加的应用复杂度,迫切需要引入微服务架构。文中使用开源框架和容器技术进行微服务开发,将服务统一发布、自动化构建、独立分发等微服务组件应用在实际生产环境中,这种微服务架构具有学习成本低、使用简单、高可移植性、易于测试、性能高、部署简单和易于监控的特点。实践证明,微应用架构不但对开发人员屏蔽了技术细节,还提高了开发人员对业务的关注度,提升了开发效率,具有较高的参考和推广价值。
关键词:微服务;微应用;容器;服务发现;服务注册
作者:刘辉军,刘培锋,邱钰锋,戴桂灶
0引言
微服务(Microservices)是目前业界非常受欢迎的架构模式,企业和服务提供商正在寻找更好的方法将应用程序部署在云环境中,微服务被认为是未来的方向。通过将应用分解成更小的、松散耦合的微服务,这些微服务更加容易升级和扩展,主要特点如下。
1)学习成本低:学习和入门成本比较低,可以即学即用;学习准备不会花费太长时间。
2)使用简单:微服务开发样例清晰,很容易上手,不会出现开发一个简单的样例比开发一个功能还艰难。
3)高可移植性:微服务体量较小,功能较单一,这使得移植工作更容易。
4)易于测试:微服务依赖比较少,主要聚焦在功能测试,由于功能单一,代码对测试友好,无需过度测试。
5)高性能:不会出现性能瓶颈,引入的相关依赖很小。
6)部署简单:微服务相关应用可以独立进行开发和部署,使用微服务架构和平台,这些应用的部署和功能交付将非常简单。
7)易于监控:完善的日志记录,出现问题能被监控、告警,对系统运行状态及各种指标能随时掌握。
8)易于运维:对突发事件有运维调度能力,防止雪崩效应。能够对系统进行弹性三维伸缩,快速开启和优雅关闭等。
1微服务架构
1.1微服务架构优点
首先,微服务架构本身就是一个化繁为简的过程。传统软件架构是集中部署一套大的Web应用,将各类服务方法集中到整个应用中,所有的开发者都在一个整体应用环境下开发各个功能模块。微服务架构开创了全新的理念,提供了系统的模块化的解决方案,该架构将整个系统的每个服务方法单独拆解出来,独立成一个模块,这样拆解每个服务单独开发、部署和测试,大大提高扩展性与可维护性。
其次,微服务架构是一个技术创新的过程,由于每个服务独立,这就可以使服务实现的技术更加灵活,不拘束原有的技术实现,可以自由选择最新技术,只要对外保持一致的服务即可。
再次,微服务部署简单快速。由于每个服务都是独立的,体量较小,每个服务可以单独部署,可以告别整套系统应用部署的尴尬局面,更加灵活快速地部署到位。
最后,微服务架构是具有高性能的分布式架构模式。微服务中每个服务都是独立部署,部署时可以按需部署分布,可以选择适合服务部署的软件环境与硬件资源。
1.2微服务架构不足
微服务架构的每个服务是独立的、分布的,给服务间的通信与服务的管理带来挑战,开发者要编写代码实现不同服务间的进程或网络通信,同时,要面对不同服务间通信所带来的问题,如网络时延、网络故障等问题,这相对一个大系统内的不同服务通信略显复杂。
微服务架构的每个服务都是独立的,允许采用不同的语言来实现、不同的数据库存储,这样对数据库架构要求也很高。针对数据时效要求高、更新频度高的业务场景,由于要针对不同的服务实现,更新不同数据库中的数据,势必是一个挑战,要求数据库支持分布性。因此,设计人员与开发人员在微服务的设计与技术选型上要考虑分布式的问题,需要相关人员有一定的技术积累。
微服务架构的测试,由于分布式与独立的特点,需要针对不同的服务进行测试,相比传统集中式部署的风格,测试的复杂度提高。
1.3微服务架构应用场景
通常来讲单体应用是更好的选择,对于简单和中等复杂程度的应用,无论是长期还是短期来看其成本开销都好于微服务架构,但对于非常复杂的应用,微服务架构长期来看会有回报,但是需要经历很长时间来弥补前期的巨大投资。如果企业出现了下面的问题,则可以尝试采用微服务架构进行应用设计。
1)开发一个应用需要100个以上开发者。
2)应用的源代码超过10M。
3)需要按照月份或者季度发布应用。
1.4架构抉择
微服务架构并不是万能的,不能解决全部问题,而且没有一种开发模式,在技术和管理领域,可以承诺在10年内,无论是生产效率、可靠性还是简化程度可以领先其他技术一个数量级,所以需要根据实际的应用业务需求结合未来的发展趋势,做相应的抉择,选择最适合自己的软件架构。
2ECP微服务架构平台介绍
远光企业云平台(EnterpriseCloudPlatfrom,ECP)微服务架构平台满足下列要求。
1)微服务开发:允许使用各种语言/工具/框架开发微服务;在JavaEE/Spring体系的微服务开发中可以复用其他ECP基础服务;考虑已有的企业应用系统(财务管控)接入方式。
2)微服务调用:服务发现、负载均衡、限流与容错、不同语言/框架都可以支持的调用方式等。
3)微服务管理与监控:提供微服务运行环境,支持扩容缩容、运行时监控、错误追踪等。
2.1基本目标
ECP微服务架构平台的最初目标主要包括:
1)服务调用:依托服务注册与发现机制,通过反向代理实现动态的负载均衡;
2)服务监控:提供必要的服务监控能力,即便不是应用级的服务监控(调用次数、平均耗时等),也需要系统级的服务运行状态监控(当前服务实例个数以及每个服务实例CPU/内存/网络等系统资源占用情况)。
2.2微服务调用
案例实现的微服务架构运行时,服务调用相关的技术方案实现方式如下。
1)所有微服务均暴露为RestAPI,任何语言/框架均可以用来实现微服务;同时所有对微服务的调用都是直接访问RestAPI,无需针对不同的语言/框架提供相应的API;
2)服务注册:每个微服务启动时向注册中心进行自注册。负载均衡:反向代理(负载均衡器)通过注册中心动态感知微服务变化情况,并基于微服务示例运行状态动态更新自己的负载均衡策略;服务发现:微服务客户端(包括远程客户端和集群内的微服务)以固定地址访问所需微服务对应的反向代理(负载均衡器),无需关心反向代理(负载均衡器)后面的微服务运行状态。在上述方案中没有网关(APIGateway)的存在,但此方案中的反向代理(负载均衡器)可以在后期被APIGateway取代,在提供上述功能的同时,并不对微服务的调用方产生影响。
通过HTTP+REST对开发使用友好。但是治理起来较困难,连接无状态,以及附带的服务端推送、调用链路监控埋点等,增强了系统的附加能力,对调用方提出了新的要求。综合来看,远程方法调用(RemoteProcedureCall,RPC)从性能、契约优先来说具有优势,引入gateway层,让REST与RPC的优点进行融合,在gateway层提供REST的接入能力。
2.3微服务监控
运行环境基于容器集群管理产品/项目,通过运行环境实现下列功能。
1)统一软件交付形式:以镜像作为软件交付形式,便于DevOps的实施;
2)支持扩容缩容:基于容器集群实现微服务扩容缩容,甚至实现自动扩容缩容;
3)运行时监控:可以通过容器集群实现容器运行状态监控,当容器与服务一一对应时,容器运行状态可以被认为近似于服务运行状态。
3微服务实践
上述微服务运行环境依赖容器集群管理,建议选择GoogleKubernetes或者DaoCloud产品实现。
3.1微服务开发
微服务可以通过各种协议暴露其接口,并允许使用任何语言/框架实现。基于ECP微服务架构平台只开发包含符合下列特征的微服务:服务接口为基于http(s)的RestAPI;语言/框架基于JavaEE/SpringOSGi体系。
另外,所有RestAPI都应该满足分布式部署(实现无状态)并保证业务功能正确(最终一致性)。
3.1.1基于ECP平台(OSGi)的微服务架构
基于ECP平台OSGi版本的软件开发工具包(SoftwareDevelopmentKit,SDK)微服务,就是将RestController暴露为微服务(RestAPI),但通过ECP平台SDK实现微服务,有下列优势:
1)重用ECP中涵盖的基础设施(消息、缓存、调度、流程等),无需自行集成这些能力;
2)简化安全认证:微服务所需的安全认证机制,可以重用。
与此对应,基于ECP微服务架构开发的微服务将被构建为war,需要打包部署到JavaEEServlet容器中(Tomcat/Jetty等)。
特别声明:北极星转载其他网站内容,出于传递更多信息而非盈利之目的,同时并不代表赞成其观点或证实其描述,内容仅供参考。版权归原作者所有,若有侵权,请联系我们删除。
凡来源注明北极星*网的内容为北极星原创,转载需获授权。
12月26日,广东电网公司电子会计档案单套管理建设总结汇报暨评估验收会在广州供电局成功举行。在南方电网公司、广东省档案局、广东省财政厅的见证下,由国家级档案、会计、信息化等权威专家组成的评审组进行评估和验收。经综合评审,专家组一致认为:广东电网公司电子会计档案单套管理工作符合国家标准
近日,2023中数联盟会员代表大会暨数字经济高质量发展论坛在京举行。会上发布了《2023数字化应用场景与解决方案》研究报告,经专家评议审核,远光软件司库管理-“资金数智支付体系”入选2023数字化应用场景优秀解决方案,承建的客户项目——国网四川省电力公司“基于生物识别和物联网技术的智能化U盾安
12月15日,以“驭见大模型智领新征程”为主题的2023年粤港澳大湾区人工智能产业大会在广州圆满落幕。在大会颁奖环节,「智推力」2023年度广东人工智能风云榜正式揭晓获奖名单,远光软件凭借在人工智能领域的创新突破与技术优势,荣登“人工智能企业风云榜”,远光专注于电力行业企业应用的轻量化大语言
近日,由中国总会计师协会信息化分会主办,广东省总会计师协会、英国特许公认会计师公会(ACCA)协办的“财务数字化实践创新论坛”在深圳召开,远光软件受邀出席论坛并作主题演讲,分享对数智司库转型趋势、建设路径的前沿思考和服务央国企司库体系建设的创新实践。当前,随着数字技术应用与数字化转型
近日,中国管理科学学会和《企业家》杂志社联合发布了第二届(2023)国有企业深化改革实践成果,活动旨在遵循习总书记和党中央的指示、落实国务院国资委“国有企业改革深化提升行动”要求,总结提炼出一批有影响力的标志性成果,并积极探索建立成果共享与转化机制,进而推动国有企业高质量发展。由“远
近日,甘肃电投金昌发电有限责任公司(以下简称“金昌公司”)厂侧煤质运行管理系统项目顺利验收通过,正式投入运行。这是金昌公司燃料管理领域全栈自主可控领域的重要突破,标志着金昌公司煤质管理迈上了一个新台阶。金昌公司是甘肃省电力投资集团有限责任公司的全资子公司,承担着甘肃河西电网和金昌
11月16日、11月24日,2023高顿咨询名家讲坛巡讲活动先后在北京、成都举行。活动以“回归本质,驭变而行”为主题,邀请财经领域一众名家,聚焦企业财管核心热点话题,解读世界一流财务管理,引领企业财务价值创造。远光软件携新一代企业数字核心系统DAP及全球司库管理系统亮相讲坛,展示公司智慧财务实
11月26日,由上海国家会计学院主办,远光软件等单位协办的2023年度第十一届管理会计论坛在上海举行。公司大数据专家在会上作主题报告,聚焦集团企业数据资产管理,探讨企业侧数据要素化的过程,解析数据资产管理要义,分享集团企业数据资产管理新模式和案例实践。本届论坛以“数字资产:入表与应对”为
物资管理是企业对所需物资的采购、使用、储备等行为进行计划、组织和控制,对企业优化资源配置、减少资源浪费、控制成本支出等具有重要意义,是企业数字化转型升级中绕不开的核心环节。远光DAP物资管理应用,通过构建一套集团企业纵向体系贯通、横向专业协同的物资管理体系,对需求、订单、库存、资金
11月10日,由中国信息协会主办的第十三届能源企业信息化大会在北京召开,来自政府主管部门、能源领域大型国央企、行业机构、科研院所、信息技术企业的专家和代表近千人共同出席会议。远光软件受邀参会,公司副总裁陈婷代表公司作主题报告,分享远光新一代企业数字核心系统的产品理念,探讨能源企业数字
党的十八大以来,我国工程建设领域改革发展和践行“一带一路”国际工程建设中项目管理创新工作取得了跨越式发展,涌现出一系列新理论、新方法、新经验。而当前纷繁复杂的国际形势,也要求各企业抢抓新一轮科技革命和产业变革的重要战略机遇,深化项目管理模式创新,发展和运用绿色建造、智能建造、数字
最近,盐城供电亭湖区供电服务中心组织青年志愿者成员前往立铠精密科技(盐城)有限公司开展网上国网APP推广活动,耐心地向用户讲解“网上囯网”APP优势,现场演示交费、报修、查询、业扩等各项业务服务功能,现场共注册绑定网上国网账户300余个,为客户提供“零距离”的优质服务。我们知道,“网上国
为进一步弘扬雷锋精神,让雷锋精神扎根人心,3月13日下午,在国网昌都供电公司团委组织下,昌都供电公司青年志愿者前往昌都市嘎东街社区开展以“展形象微服务”为主题的志愿服务活动。昌都供电公司青年志愿者来到嘎东街社区独居老人家里,帮助老人实现他们的“微需求”,为老人送上慰问品和祝福。帮助
大娘,这是您的缴费本和找您的零钱,您收好。5月17日,杞县供电公司城郊供电所工作人员为腿脚不便的孤寡老人提供上门服务。这是该公司微服务中的一个缩影。为全面提升供电营业厅服务质量,杞县供电公司推出营业窗口微服务。一是建立客户咨询微信群,主动电话提醒,编发安全用电常识,提供上门服务。二
你绑定电网微信公众号了吗?近日,这句话已成为连江供电公司职工见面打招呼的新口头禅。自从连江供电公司积极推进缴费电子化渠道宣传以来,该公司上下形成了全员推广微信公众号、掌上电力App户号绑定的浓厚氛围。据了解,国网福建省电力有限公司微信公众号是继掌上电力APP之后又推出的一项线上便民服务
5月21日上午9点,襄州区供电公司微信公众智能平台配抢修指挥中心大厅,8名调度员分成两组,静静坐在两排电脑前。屏幕上不断的闪烁变化,即时反映着整个襄州区供电、用电情况。公司客户服务中心副主任王峰拿出手机,登录国网襄州供电微信公众智能平台,点击在线办理进入在线报修栏,手机上立即弹出信息
3月12日,郸城县电业局秋渠乡供电所流动服务小分队来到位于该乡街西头的木材加工厂,主动帮助用户义务检查设备,用心听取客户意见。该局以供电所为单位成立21支2至3人组流动服务不分队,以定期循环上门服务的方式,为小微企业打造良好的供用电环境。对小微企业申报的用电项目,坚持做到资料齐全立即办,资料不全指导办,特殊项目跟踪办,紧急项目突击办;结合企业生产经营、用电需求,量身定制节电方案,指导客户节能降耗、合理避峰错峰、科学安全用电,帮助企业降低生产成本;对企业供电电源配置、自备应急电源和设备健康情况进行季节性安全隐患排查,提出建议,督促消缺,确保设备安全稳定运
请使用微信扫一扫
关注公众号完成登录
姓名: | |
性别: | |
出生日期: | |
邮箱: | |
所在地区: | |
行业类别: | |
工作经验: | |
学历: | |
公司名称: | |
任职岗位: |
我们将会第一时间为您推送相关内容!