登录注册
请使用微信扫一扫
关注公众号完成登录
我要投稿
摘要:随着软件系统越来越庞大,单点应用模式无法适应大型企业软件的开发与部署,为了解决日益增加的应用复杂度,迫切需要引入微服务架构。文中使用开源框架和容器技术进行微服务开发,将服务统一发布、自动化构建、独立分发等微服务组件应用在实际生产环境中,这种微服务架构具有学习成本低、使用简单、高可移植性、易于测试、性能高、部署简单和易于监控的特点。实践证明,微应用架构不但对开发人员屏蔽了技术细节,还提高了开发人员对业务的关注度,提升了开发效率,具有较高的参考和推广价值。
关键词:微服务;微应用;容器;服务发现;服务注册
作者:刘辉军,刘培锋,邱钰锋,戴桂灶
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等)。
特别声明:北极星转载其他网站内容,出于传递更多信息而非盈利之目的,同时并不代表赞成其观点或证实其描述,内容仅供参考。版权归原作者所有,若有侵权,请联系我们删除。
凡来源注明北极星*网的内容为北极星原创,转载需获授权。
随着新能源电动汽车产业飞速发展,充电基础设施建设和布局规划成为推广新能源汽车应用和产业发展的关键,目前充电基础设施仍存在布局不够完善、结构不够合理、服务不够均衡等问题,为此远光软件所属远光能源互联网产业发展(横琴)有限公司利用大数据、人工智能技术,推出车网互动充电站规划解决方案,构
近日,2024中国国际数字经济博览会在河北成功举办。该展会作为经党中央、国务院批准的首个国家级数字经济盛会,首发了一系列产业数字化、数字产业化及人工智能大模型创新成果案例。远光虚拟数字人创作平台凭借其技术领先性、应用场景多样化、易用安全等优势,经多位院士和专家多轮严格评审后,获评优秀
10月26日,2024年中国工业企业创新大会暨第五届现代工业企业创新成果名单发布会在济南成功举办。会上发布了第五届现代工业企业管理创新成果名单,远光软件“基于业财融合的电网物资采购结算数字化协同平台”荣获“第五届现代工业企业管理创新成果二等奖”,体现了其在推动电力行业产业链上下游业务协同
10月25日,远光软件公布2024年第三季度报告,公司前三季度实现营业收入15.39亿元,同比下降1.44%;归属于上市公司股东的净利润1.10亿元,同比下降27.21%;归属于上市公司股东的扣除非经常性损益的净利润1.08亿元,同比下降22.94%;基本每股收益0.0579元。
10月24-25日,由中国物流与采购联合会主办,上海市数据局和上海市静安区人民政府支持的“数通链谷·通全球链世界”2024产业区块链大会在上海成功召开。大会发布了“2024产业区块链企业50强”,远光软件连续第四年荣耀登榜。作为国内区块链应用的领航者,远光软件始终致力于区块链技术和实体经济的深度
10月25日,中国电力大数据创新平台理事会二届一次会议在京顺利召开。会上对2023年中国电力大数据创新平台大数据创新实践成果优秀案例进行了表彰,国网四川电力与远光软件联合申报的“基于智能物联的资金支付U盾安全管控解决方案”成功入选十大优秀案例。中国电力大数据创新平台由国家电网公司牵头,联
10月24日,由中国电子信息行业联合会举办的第二十六届中国国际软件博览会(以下简称“软博会”)在天津国家会展中心盛大开幕。本次软博会以“软件赋能产业变革,智能驱动数实结合”为主题,吸引了来自全国各地的260多家知名软件企业参展,展示了最新的科研成果和解决方案,并评选出“第二十六届软博会
北极星输配电网获悉,10月26日,远光软件公告,因工作调动,秦秀芬女士不再担任高级副总裁职务,新任公司总裁。资料显示,秦秀芬女士,中国国籍,1979年生,中共党员,研究生学历。现任公司总裁。自2001年以来,秦秀芬女士一直在公司任职,历任项目经理、实施中心副总经理、南方区总经理、营销管理部总
近日,中国软件行业协会公布2024年度优秀软件产品活动(第3季度)通过名单,远光软件自主研发的“基于区块链技术的电子签约平台”(又名“存道签”)凭借其卓越性能,荣获“2024年度优秀软件产品”。在数字化浪潮的席卷下,企业正加速推进智能化与绿色化转型,对高效、安全、环保的无纸化电子签约服务
近日,远光软件新一代企业数字核心系统远光达普(YG-DAP)、远光全球司库管理系统、基于智能物联的资金支付U盾安全管控解决方案,成功入选2024中国信通院“铸基计划”《高质量数字化转型技术解决方案集》。数字化转型是企业适应未来市场环境、提升竞争力的关键。2021年,中国信通院推出“铸基计划-高质
远光软件股份有限公司于2024年10月11日发布选举第八届董事会董事长的公告显示,石瑞杰聘任为公司董事长,详情如下:新任领导人的简历情况:石瑞杰先生简历中国国籍,1973年生,中共党员,硕士研究生学历,正高级工程师。现任公司董事,还担任国网数字科技控股有限公司(国网雄安金融科技集团有限公司)总工程
最近,盐城供电亭湖区供电服务中心组织青年志愿者成员前往立铠精密科技(盐城)有限公司开展网上国网APP推广活动,耐心地向用户讲解“网上囯网”APP优势,现场演示交费、报修、查询、业扩等各项业务服务功能,现场共注册绑定网上国网账户300余个,为客户提供“零距离”的优质服务。我们知道,“网上国
为进一步弘扬雷锋精神,让雷锋精神扎根人心,3月13日下午,在国网昌都供电公司团委组织下,昌都供电公司青年志愿者前往昌都市嘎东街社区开展以“展形象微服务”为主题的志愿服务活动。昌都供电公司青年志愿者来到嘎东街社区独居老人家里,帮助老人实现他们的“微需求”,为老人送上慰问品和祝福。帮助
大娘,这是您的缴费本和找您的零钱,您收好。5月17日,杞县供电公司城郊供电所工作人员为腿脚不便的孤寡老人提供上门服务。这是该公司微服务中的一个缩影。为全面提升供电营业厅服务质量,杞县供电公司推出营业窗口微服务。一是建立客户咨询微信群,主动电话提醒,编发安全用电常识,提供上门服务。二
你绑定电网微信公众号了吗?近日,这句话已成为连江供电公司职工见面打招呼的新口头禅。自从连江供电公司积极推进缴费电子化渠道宣传以来,该公司上下形成了全员推广微信公众号、掌上电力App户号绑定的浓厚氛围。据了解,国网福建省电力有限公司微信公众号是继掌上电力APP之后又推出的一项线上便民服务
5月21日上午9点,襄州区供电公司微信公众智能平台配抢修指挥中心大厅,8名调度员分成两组,静静坐在两排电脑前。屏幕上不断的闪烁变化,即时反映着整个襄州区供电、用电情况。公司客户服务中心副主任王峰拿出手机,登录国网襄州供电微信公众智能平台,点击在线办理进入在线报修栏,手机上立即弹出信息
3月12日,郸城县电业局秋渠乡供电所流动服务小分队来到位于该乡街西头的木材加工厂,主动帮助用户义务检查设备,用心听取客户意见。该局以供电所为单位成立21支2至3人组流动服务不分队,以定期循环上门服务的方式,为小微企业打造良好的供用电环境。对小微企业申报的用电项目,坚持做到资料齐全立即办,资料不全指导办,特殊项目跟踪办,紧急项目突击办;结合企业生产经营、用电需求,量身定制节电方案,指导客户节能降耗、合理避峰错峰、科学安全用电,帮助企业降低生产成本;对企业供电电源配置、自备应急电源和设备健康情况进行季节性安全隐患排查,提出建议,督促消缺,确保设备安全稳定运
一、如何定义微服务器?当我们对服务器的认知尚且停留在塔式、机架式以及刀片服务器时,一种新型的服务器系统--微服务器,已经孕育而生。与其说市场在变,不如归结为用户的需求在变更加贴切。在云计算、大数据、移动互联网飞速发展的今天,服务器作为基础层的支撑设备,高性能与低能耗成为用户的最终诉求。因此,微服务器拥有比刀片服务器更高的部署密度以及更低的能耗。本期,笔者将从十个方面带大家了解微服务器那些事。未来数据中心新贵 十点带你读懂微服务器 大数据时代的来临,将海量数据涌入数据中心,导致数据中心将承载着大量并行化、海量小负荷的工作需求,使得传统的数据中心
当我们对服务器的认知尚且停留在塔式、机架式以及刀片服务器时,一种新型的服务器系统--微服务器,已经孕育而生。与其说市场在变,不如归结为用户的需求在变更加贴切。在云计算、大数据、移动互联网飞速发展的今天,服务器作为基础层的支撑设备,高性能与低能耗成为用户的最终诉求。因此,微服务器拥有比刀片服务器更高的部署密度以及更低的能耗。本期,笔者将从十个方面带大家了解微服务器那些事。未来数据中心新贵 十点带你读懂微服务器大数据时代的来临,将海量数据涌入数据中心,导致数据中心将承载着大量并行化、海量小负荷的工作需求,使得传统的数据中心将面临巨大的挑战。的确,大数据的出
微服务器能够给用户带来诸如低功耗和节省空间的好处,采用向外扩展的方式,结合大量的相对轻量级的节点来满足复杂的工作负载。主流的服务器厂商已经推出了相关的产品,服务器芯片厂商也在关注微服务器市场。虽然微服务器正在成为数据中心市场新的增长点,不过我们仍需要对微服务器进行正确认识。对于微服务器来说,目前仍然很难用准确的概念去定义什么是微服务器。通常我们将搭载多个低功耗处理器的共享基础架构的服务器称为微服务器。一些微服务器的外形与刀片服务器很像,但是他们确实两种不同类型的服务器。微服务器正在试图占领刀片服务器的地盘。我们看到微服务器和刀片服务器虽然都具有高密度的
请使用微信扫一扫
关注公众号完成登录
姓名: | |
性别: | |
出生日期: | |
邮箱: | |
所在地区: | |
行业类别: | |
工作经验: | |
学历: | |
公司名称: | |
任职岗位: |
我们将会第一时间为您推送相关内容!