登录注册
请使用微信扫一扫
关注公众号完成登录
我要投稿
摘要:随着软件系统越来越庞大,单点应用模式无法适应大型企业软件的开发与部署,为了解决日益增加的应用复杂度,迫切需要引入微服务架构。文中使用开源框架和容器技术进行微服务开发,将服务统一发布、自动化构建、独立分发等微服务组件应用在实际生产环境中,这种微服务架构具有学习成本低、使用简单、高可移植性、易于测试、性能高、部署简单和易于监控的特点。实践证明,微应用架构不但对开发人员屏蔽了技术细节,还提高了开发人员对业务的关注度,提升了开发效率,具有较高的参考和推广价值。
关键词:微服务;微应用;容器;服务发现;服务注册
作者:刘辉军,刘培锋,邱钰锋,戴桂灶
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等)。
特别声明:北极星转载其他网站内容,出于传递更多信息而非盈利之目的,同时并不代表赞成其观点或证实其描述,内容仅供参考。版权归原作者所有,若有侵权,请联系我们删除。
凡来源注明北极星*网的内容为北极星原创,转载需获授权。
在“双碳”目标的引领下,加快构建清洁低碳、安全充裕、经济高效、供需协同、灵活智能的新型电力系统,已成为国家能源产业发展的核心使命。电力系统的转型升级不仅要求技术层面的革新,更需借助数字化手段,实现产业链的高效协同与精细化管理。远光供应链协同云平台,以数字化技术深度应用,精准对接新
近日,远光软件旗下企业管理大模型——远光智言,正式通过中国信息通信研究院(以下简称“中国信通院”)大模型基础能力完备性测评,成为国内首批通过该项权威认证的企业级大模型解决方案之一。中国信通院构建的“大模型基础能力完备性”测评体系,旨在通过科学的方法与标准,全方位、多维度地对大模型
国产大模型的崛起为软件产业提供了新的发展机遇,“国产软件+国产大模型”的融合创新模式,正在成为推动企业数智化转型的重要路径。近日,远光软件已全面集成DeepSeek大模型,依托DeepSeek“高效推理能力与低延迟响应”特性,极大地提升了远光DAP等产品在私域知识分析、自然语言交互和场景理解等的流畅
12月18日,第二届粤港澳大湾区高价值商标品牌培育大赛(以下简称“湾商赛”)颁奖典礼在东莞举行,本届大赛以“培育高价值商标品牌,助力大湾区高质量发展”为主题,吸引了来自大湾区及粤东西北地区的共1135家优秀企业踊跃参与,远光软件获颁“商标品牌培育百强”奖。图1湾商赛颁奖典礼现场湾商赛于202
12月20日,央国企数智时代的企业文档智慧管理革新与高质量发展专题交流会在京举办。远光软件受邀出席并作专题演讲,分享了公司在人工智能领域的技术研究与实践成果,与参会嘉宾共同交流企业文档数据化、知识化、智慧化管理创新的应用案例与实践经验。本次交流会由中央企业电子商务协同创新平台主办,旨
12月21日,2024(第十届)国企管理年会暨国企管理创新成果发布仪式在北京召开,远光软件服务的5项客户项目获评2024(第十届)国企管理创新成果。国企管理创新成果评选活动由中国工业合作协会、中国管理科学学会学术委员会、《创新世界周刊》《国企管理》杂志等机构发起,旨在总结提炼全国国企创新典范
12月21日,在2024中国管理科学大会暨第九届管理科学奖颁奖典礼上,远光软件服务的两大客户项目斩获殊荣:“中国电建财务共享及全球司库管理体系”入选第九届“管理科学奖”实践奖一等奖;“国网河北电力财智链云服务中心”入选第九届“管理科学奖”促进奖(团体)。“管理科学奖”是中国管理科学学会报
12月21日,2024中国管理科学大会暨第九届管理科学奖颁奖典礼在北京举行。通过大会搭建的高端学术交流平台,中国管理科学界泰斗、精英汇聚一堂,其中包括六位中国工程院院士的参与,充分彰显了管理科学在自然科学与社会科学之间的双重属性与交叉价值。大会还表彰了在推动管理科学普及与应用方面作出卓越
“数电票在全国范围内推广应用,对提升财税生产力、推动业财融合的影响是深远的,作为国内主流的信息技术产品和服务提供商,远光软件持续探索数电票系统与前沿技术的融合,为提升企业数智化管理水平赋能。”远光软件云服务事业部总经理赵峰表示。2024年12月1日起,数电票在全国范围内正式推广应用。这
11月28日至30日,以“数智万象无界新生”为主题的“2024中国数字化年会”在成都举行。期间,“2024第七届数字化转型与创新评选”揭晓获奖名单并举行颁奖,远光软件凭借“全面数字化的电子发票解决方案”斩获“财税创新产品”奖。图1获奖奖杯在金税四期“以数治税”背景下,远光软件紧密贴合政策导向,
12月13日,第十四届中国能源企业信息化大会在北京举行。大会以“推进能源数字化转型,加快发展新质生产力”为主题,吸引能源领域超过600位政产学研界代表参加。远光软件副总裁曾增出席会议并作主旨报告,分享公司运用数字技术助力能源企业数字化转型升级的创新应用成果。图1第十四届中国能源企业信息化
最近,盐城供电亭湖区供电服务中心组织青年志愿者成员前往立铠精密科技(盐城)有限公司开展网上国网APP推广活动,耐心地向用户讲解“网上囯网”APP优势,现场演示交费、报修、查询、业扩等各项业务服务功能,现场共注册绑定网上国网账户300余个,为客户提供“零距离”的优质服务。我们知道,“网上国
为进一步弘扬雷锋精神,让雷锋精神扎根人心,3月13日下午,在国网昌都供电公司团委组织下,昌都供电公司青年志愿者前往昌都市嘎东街社区开展以“展形象微服务”为主题的志愿服务活动。昌都供电公司青年志愿者来到嘎东街社区独居老人家里,帮助老人实现他们的“微需求”,为老人送上慰问品和祝福。帮助
大娘,这是您的缴费本和找您的零钱,您收好。5月17日,杞县供电公司城郊供电所工作人员为腿脚不便的孤寡老人提供上门服务。这是该公司微服务中的一个缩影。为全面提升供电营业厅服务质量,杞县供电公司推出营业窗口微服务。一是建立客户咨询微信群,主动电话提醒,编发安全用电常识,提供上门服务。二
你绑定电网微信公众号了吗?近日,这句话已成为连江供电公司职工见面打招呼的新口头禅。自从连江供电公司积极推进缴费电子化渠道宣传以来,该公司上下形成了全员推广微信公众号、掌上电力App户号绑定的浓厚氛围。据了解,国网福建省电力有限公司微信公众号是继掌上电力APP之后又推出的一项线上便民服务
5月21日上午9点,襄州区供电公司微信公众智能平台配抢修指挥中心大厅,8名调度员分成两组,静静坐在两排电脑前。屏幕上不断的闪烁变化,即时反映着整个襄州区供电、用电情况。公司客户服务中心副主任王峰拿出手机,登录国网襄州供电微信公众智能平台,点击在线办理进入在线报修栏,手机上立即弹出信息
3月12日,郸城县电业局秋渠乡供电所流动服务小分队来到位于该乡街西头的木材加工厂,主动帮助用户义务检查设备,用心听取客户意见。该局以供电所为单位成立21支2至3人组流动服务不分队,以定期循环上门服务的方式,为小微企业打造良好的供用电环境。对小微企业申报的用电项目,坚持做到资料齐全立即办,资料不全指导办,特殊项目跟踪办,紧急项目突击办;结合企业生产经营、用电需求,量身定制节电方案,指导客户节能降耗、合理避峰错峰、科学安全用电,帮助企业降低生产成本;对企业供电电源配置、自备应急电源和设备健康情况进行季节性安全隐患排查,提出建议,督促消缺,确保设备安全稳定运
一、如何定义微服务器?当我们对服务器的认知尚且停留在塔式、机架式以及刀片服务器时,一种新型的服务器系统--微服务器,已经孕育而生。与其说市场在变,不如归结为用户的需求在变更加贴切。在云计算、大数据、移动互联网飞速发展的今天,服务器作为基础层的支撑设备,高性能与低能耗成为用户的最终诉求。因此,微服务器拥有比刀片服务器更高的部署密度以及更低的能耗。本期,笔者将从十个方面带大家了解微服务器那些事。未来数据中心新贵 十点带你读懂微服务器 大数据时代的来临,将海量数据涌入数据中心,导致数据中心将承载着大量并行化、海量小负荷的工作需求,使得传统的数据中心
当我们对服务器的认知尚且停留在塔式、机架式以及刀片服务器时,一种新型的服务器系统--微服务器,已经孕育而生。与其说市场在变,不如归结为用户的需求在变更加贴切。在云计算、大数据、移动互联网飞速发展的今天,服务器作为基础层的支撑设备,高性能与低能耗成为用户的最终诉求。因此,微服务器拥有比刀片服务器更高的部署密度以及更低的能耗。本期,笔者将从十个方面带大家了解微服务器那些事。未来数据中心新贵 十点带你读懂微服务器大数据时代的来临,将海量数据涌入数据中心,导致数据中心将承载着大量并行化、海量小负荷的工作需求,使得传统的数据中心将面临巨大的挑战。的确,大数据的出
微服务器能够给用户带来诸如低功耗和节省空间的好处,采用向外扩展的方式,结合大量的相对轻量级的节点来满足复杂的工作负载。主流的服务器厂商已经推出了相关的产品,服务器芯片厂商也在关注微服务器市场。虽然微服务器正在成为数据中心市场新的增长点,不过我们仍需要对微服务器进行正确认识。对于微服务器来说,目前仍然很难用准确的概念去定义什么是微服务器。通常我们将搭载多个低功耗处理器的共享基础架构的服务器称为微服务器。一些微服务器的外形与刀片服务器很像,但是他们确实两种不同类型的服务器。微服务器正在试图占领刀片服务器的地盘。我们看到微服务器和刀片服务器虽然都具有高密度的
请使用微信扫一扫
关注公众号完成登录
姓名: | |
性别: | |
出生日期: | |
邮箱: | |
所在地区: | |
行业类别: | |
工作经验: | |
学历: | |
公司名称: | |
任职岗位: |
我们将会第一时间为您推送相关内容!