您好,欢迎来到华佗健康网。
搜索
您的当前位置:首页基于Spring Cloud实现业务系统微服务化的设计与实现

基于Spring Cloud实现业务系统微服务化的设计与实现

来源:华佗健康网
软件开发·Software Development 基于Spring Cloud实现业务系统微服务化的设计与实现 文/王方旭 由的团队来维护。H前,随着互联网思维 微服务架构是一种先进的架 构模式,它将业务系统彻底组件 化、服务化的思想是IT应用应对 互联网思路、云端部署的最佳解 决方案之一,而Spring C1oud对 和云平台部署越来趋势化,微服务架构在应用 系统的建设中所体现出的价值越来越大。 微服务架构具有如F优势: (1)微服务架构将业务系统彻底的组件 微服务架构提供了全面的技术支 持,是实践微服务架构案例最优 技术框架 基于Spring Cloud框 架实现微服务架构的应用显著地 提升了响应速度和持续集成能力, 实现了开发、测试、部署运维的 一化、服务化,微服务专注于业务逻辑,服务功 能简单,边界清晰。复杂度低,接口明确,服 务利于开发、部署。 (2)服务耦合度低,每个服务是一个微 型的应用,有完整的架构,可部署。 体化。 (3)微服务架构允许根据服务的功能和 团队的自身条件选择不同的技术路线,允许服 [关键词】微服务Spring Cloud Spring )0t 务由不同的开发团队开发。 (4)优良的容错机制和熔断机制,保障 微服务之间交互的友好性。 微服务架构虽是一种先进的架构模式, 图1 引言 互联网、云计算技术的高速发展,人们 f信息化系统服务的依赖程度日益加深 随着 但仍有它的不足: (1)微服务架构的应用是分布式系统, 相较于单体架构的应用系统具有较大的复杂 性,尤其是需要在RPC或者消息传递之间选 择并完成进程间的通讯机制:此外.消息传递、 l务、数据的爆炸式增长,自上世纪9O年代 【单体架构建设的IT服务系统越来越无法满 现实要求。虽然SOA(面向服务的架构)的 5现在一定程度上能够缓解单体架构的弊端, i SOA架构系统的服务通信机制的高成本和 『企业服务总线的依赖决定了仍不是最佳解决 f案。“微服务”概念适时的出现为我们解决 服务调用的性能相对于单体应用会有所下降 (2)分布式系统带来的数据库数据的一 致性问题对开发者提出更大的挑战。 3 Spring Cloud 图2 (5)Turbine是聚合HyStirx监控数据的 工具,结合HyStrix监控微服务集群。 在Spring生态幽内基于Spring Boot实现 的Spring Cloud框架越来越受到业界的关注, Spring Cloud是一系列框架、组件的有序集合, 拥有功能完善的、轻量级的微服务实现组件, 例如服务发现治理、服务容错、服务网关、服 (6)Conflg Server为分布式系统提供统 管理的配置,在Spring Cloud框架中使用有 利于配置的集中管理,动态调整配置,且自动 更新配置。 ’问题.微服务架构的一切皆服务的理念和在 计算领域的优异表现获得了普遍认可。 本文介绍了一种基于Spring Cloud框架实 l业务系统微服务化的案例,结合微服务架构 (7)Spring Cloud Bus管理和传播服务之 间的消息,通过集成当前最主流的消息中间件 RabbitMQ可有效的在各分布式服务之间解耦, l想和Spring Cloud框架,将以单体架构建设 l应用系统改造成的典型的微服务框架系统, 造后,系统显著提升了应用开发、测试、部 运维一体化的能力。 务配置、负载均衡、消息总线、服务跟踪等方 面均有经过实践检验的成熟组件。 如图l,展示了基于Spring Cloud各组件 的完整架构图。 提供高易用性、高扩展性的通信功能。 (8)Spring Cloud Sleuth集成ZipKin, 微服务 微服务的概念是2014年3月由Martin )wler在他的文章 ̄(Microservices))中首次提 I,(1)Eureka负责微服务架构中服务治理 功能,实现服务实例的自动化注册与发现。 (2)Zuul在客户端与服务端配置实现, 为应用实现分布式的链路监控分析方案。 综上,当客户端请求服务时,Zuul网关 将请求动态转发,Ribbon会根据服务网关的 作为微服务网关,可有效的减少客户端与服务 配置实现负载均衡,Eureka获知请求的服务, 端的交互次数,易于监控,易于认证,动态路由。 作为一种先进的架构模式,其核心思想就 在服务注册中心获得服务;微服务向客户端提 供服务时,会读取在Config Server配置的统一 配置;而HyStrix和Turbine负责监控服务的 熔断情况,并给予图形化展示;RabbitMQ在 各服务之间通信;Sleuth+Zipkin追踪每个请求, ::应用是由多个小的、相互的、可采用 ‘(3)Ribbon是负载均衡器,负责自动从 Eureka Server发现服务,然后基于某种负载均 衡算法帮助服务消费者去请求服务。 (4)HyStrix是熔断器,为避免发生雪崩 效应而引入,对服务延迟和故障提供更加强大 布式部署的服务组成,服务的开发、部署在 自的进程中,不同服务通过一些轻量级 ·:互机制来通信,例如RPC、HTTP等,服务 扩展伸缩,每个服务定义了明确的边界, :同的服务可以采用不同的编程语言来实现, 容错能力。 <<下转61页 50·电子技术与软件工程Electronic Technology&Software Engineering Software Development·软件开发 基于MIPS架构的软件性能探究工具 文/梁成豪 的地方可以被宏观的观察出来,但是也很难定 位到问题所在,即便是可以定位到问题所在, 诸如DVFS之类的硬件层面对CPU状态的改 变。 也很难分析得很细微以达到对软件相应设计较 差的代码进行改进的目的。如今有一些软件性 实际上,实际系统中很难有完全精确的 工具来对应用程序的性能进行不问断的精确追 踪。这样的精确追踪。而计算机体系结构仿真 器是一个很好的解决方案。 计算机体系结构仿真器主要是用来在系 能分析工具如linux的perf,以及c语言库头 文件<time.h>中也有类似的函数和相应数据 结构。但是perf无法做到精确统计应用程序 每行代码是否有cache miss等有损性能地方也 统层面探宄和优化计算机体系结构参数设计的 很难精确计算执行时间,文章[1】中在龙芯2F 工具。通常而言,它们详细建模了某一计算 中设计的perf软硬件,也只是更贴近理论值。 机体系结构内部部件,诸如CPU执行部件、 因为除了该应用程序,计算机中总是有其它程 cache等。软件通过编译可以在仿真工具上进 键词】软件性能计算机体系结构 序来运行,可以近乎完全认定它们对该应用程 行运行,运行之后仿真器给出运行结果统计, )1eScalar MIPS 序运行产生了影响,例如它们的运行污染了 从而验证软件在某一组体系结构参数(通常 cache,甚至加将此应用程序的内容从cache中 包括cache相联性、内存读写端口数等)的性 踢出;而对于<time.h>中关于时钟周期数的 能。本文利用SimpleScalar(Ss)为基础来开 统计,它们仍然是内嵌于程序内的,毫无疑问 发MIPS架构软件性能探究工具。 会污染整个程序运行的运行。此外,对于一些 如今,高级语言(如C语言)已经成为 2工具及可执行文件格式简介 常量的限定,比如CLOCKS PER SEC,对于 }被应用于系统、应用软件的开发。软件的 时间计算更是一个误差所在。因为它们忽略了 i好坏在对其进行大规模应用时在设计极差 2.1 SimpIeSca1ar简介 上接6O页 :请求的服务、耗时、网络延迟等数据以备 基于传输勘察系统和资源系统的现状和 ;优化系统时分析使用。 将来的发展趋势,我们设计了如图2的系统框 参考文献 }于Spr i ng C I Dud的微服务架构案例 架。 【1]Fow1 er M,Lewi s J.Mi Cro s ervi ce s. 将各功能模块封装成微服务并部署在独 httPs |/zartinfow1er.com/artiC1es| 系统现状 立的服务器中,各微服务提供服务接口注册在 mi c r o s e r vi ce s.htI111.a rti C1 e s/ Eureka Server服务注册中心中:微服务之间消 microservices.htm1.【2014-0 3-25】。 传输勘察系统和资源系统是应用于通信 息的管理和传播由RabbitMQ完成,并部署 【2】王磊.微服务架构与实践[M].北京:电 有线传输的业务系统,提供传输勘察设计 负责链路监控分析的服务监控系统运行情况; 子工业出版社,2015. _过程的业务管理。随着业务的发展,系统 对系统的访问由基于Zuul Proxy的网关进行转 [3周立.Spri3]ng Cloud与Docker微服务 『能的优化调整、系统间功能的调用和数据 发。 架构实战【M].北京:电子工业出版 流非常普遍的,传输勘察系统和资源系统 5总结 社.2017(05). 进行有效地资源整合。系统是作为依附于 的发展而建设的系统,由不同时间阶段、 通过采用Spring Cloud框架对业务系统的 作者简介 开发团队开发完成,并且传输勘察系统和 改造,将业务功能复杂、耦合度高、系统维护 王方旭(1984一),男,山东省济宁市人。硕 系统采用了不同的技术路线。为了解决以 成本大的系统改造成了部署、耦合度低、 士学历。高级信息系统项目管理师,主要从事 题并使应用系统在将来业务拓展时有良好 业务功能组件化的分布式系统,为系统的运营 软件架构、微服务、分布式应用方面的研究与 对能力,我们采用了微服务架构的思想作 维护节省了极大的成本。随着业务的发展,无 设计。 造思路,而Spring Cloud框架作为在云部 论是新功能的增减还是业务逻辑的优化,业务 虚拟化方面均有优异输出的分布式应用系 系统都能够做到快速响应t敏捷开发,灵活配作者单位 架是实现微服务架构的最佳解决方案。 置,快速部署,运行,为业务的发展提供 中国移动通信集团设计院有限公司山东分公司 业务系统微服务框架 了快速有力的支持。 山东省济南市 250101 Electronic Technology&Software Engineering电子技术与软件工程·61 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务