微服务升级优点_微服务–——定义, 原则 和 优点

微服务是业界最新的流行语,似乎每个人都在以这样或那样的方式谈论它。让我们理解一下什么是微服务?通过这篇教程我们将理解微服务的定义,概念以及微服务的原理。

微服务的定义

如今,微服务是SOA(面向服务的架构)之后越来越流行的架构模式之一,如果您正在跟踪行业趋势,那么您会发现,现在的企业不再像几年前那样对开发大型应用程序来管理端到端业务功能感兴趣。相反,他们选择快速和敏捷的应用程序,这也使他们花费更少的钱。

微服务有助于打破大型应用程序的边界,并在系统内部构建逻辑上独立的较小系统,例如,使用Amazon AWS,你可以轻松构建云应用程序。这是微服务的一个很好的例子。

如上图所示,每个微服务有它自己的业务层以及数据库,改变其中一个微服务不会对另外的微服务有任何的影响。

总之,微服务之间使用广泛的轻量级协议进行通信,例如 HTTP 和 REST,TCP, 或者 消息协议, 例如 JMS 和 AMQP。在特定的场景,他们也可以选择更专业的协议。

微服务的原理

现在我们来看一下微服务必须需要的原则。

1,单一功能职责

单一功能职责是SOLID设计模式之一,它意味着一个单元,无论是类、函数还是微服务,都应该有且只有一个职责。在任何时候,一个微服务都不应该有一个以上的职责。

2,围绕着业务功能设计

微服务应该专注于特定的业务功能,并确保它有助于完成任务。微服务绝不应限制自己采用最适合解决业务目的的适当技术栈或后端数据库存储。当我们设计单个应用程序时,这常常是一个约束,我们试图在某些领域中使用一些折衷来解决多个业务解决方案。微服务使您能够选择最适合当前问题的解决方案。

3,你建造它,你拥有它。

这种设计的另一个重要方面与开发前后的职责有关。在大型组织中,通常由一个团队开发app location,经过一些知识转移会议后,将项目移交给维护团队。在微服务中,构建服务的团队拥有它,并负责在将来维护它。这使开发人员能够接触到他们的软件的日常操作,并且他们能够更好地理解他们构建的产品在现实世界中是如何被客户使用的。

4,基础设施自动化

准备和构建微服务的基础设施是另一个非常重要的需求,服务应该是可独立部署的,并且应该捆绑所有依赖项,包括库依赖项,甚至是执行环境,如抽象物理资源(web服务器和容器或虚拟机)。

微服务和SOA之间的一个主要区别在于它们的自治级别。虽然大多数SOA实现提供了服务级抽象,但是微服务更进一步抽象了实现和执行环境。

在传统的应用程序开发中,我们构建一个WAR或EAR,然后将其部署到JEE应用程序服务器中,例如使用JBoss、WebLogic、WebSphere等等。我们可以将多个应用程序部署到同一个JEE容器中。在理想的场景中,在微服务方法中,每个微服务将构建为一个胖Jar,嵌入所有依赖项,并作为独立的Java进程运行。

5,容错设计

微服务的设计应考虑到故障情况。如果服务失败,或者宕机一段时间,该怎么办?这些都是非常重要的问题,必须在实际编码开始之前解决——以便清楚地估计服务故障将如何影响用户体验。

快速故障是另一个用于构建容错、弹性系统的概念。这种哲学提倡预期失败的系统,而不是构建永远不会失败的系统。由于服务在任何时候都可能失败,因此能够快速检测故障并在可能的情况下自动恢复服务非常重要。

微服务应用程序非常重视应用程序的实时监控,检查体系结构元素(数据库每秒接收多少请求)和业务相关指标(例如每分钟接收多少订单)。语义监视可以提供出错的早期预警系统,从而触发开发团队进行跟踪和调查。

微服务的优点

微服务有许多优点相比传统的多层架构(单体庞大应用),微服务的优点如下:

1,使用微服务,架构师和开发人员可以为每个微服务选择适合于特定用途的架构和技术(通晓多种语言对应的熟悉语言的架构)。这为以更经济有效的方式设计更适合的解决方案提供了灵活性。

2,由于服务相当简单,而且规模更小,企业可以试验新的流程、算法、业务逻辑等等。它通过提供快速试验和失败的能力,使企业能够进行颠覆性创新。

3,微服务能够实现选择性的可伸缩性,即每个服务都可以独立地伸缩,而且伸缩的成本相对于单体应用方面要低。

4,微服务是自包含的、独立的部署模块,当第二个微服务没有按照我们的需要执行时,可以使用另一个类似的微服务替换一个微服务。它有助于做出正确的“购买构建”决策,而这通常是许多企业面临的挑战。

5,微服务帮助我们构建本质上是有机的系统(有机的系统是通过添加越来越多的功能在一段时间内横向增长的系统)。因为微服务都是关于独立可管理的服务——它允许在需要时添加越来越多的服务,而对现有服务的影响最小。

6,技术变化是软件开发中的障碍之一。使用微服务,可以单独更改或升级每个服务的技术,而不是升级整个应用程序。

7,由于microservices将服务运行时环境和服务本身打包在一起,因此允许在同一环境中共存多个版本的服务。

8,最后,微服务还支持更小、更专注的敏捷开发团队。团队将根据微服务的边界进行组织。

总结:

在本文中,我仅列出了在我有限的知识范围内在许多组织中看到的微服务的一些优点。由强大的设计和出色的代码支持的单体应用程序也可以证明是一个好的决策,并且产品可以停留足够长的时间来支持决策。

与微服务类似,糟糕的设计决策将被证明代价高昂。它们可能看起来简化了组件,但是它们可能增加了组件之间通信的复杂性,并且更难控制和管理。

最后,好的设计和熟练的团队才能带来胜利。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344110.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[渝粤教育] 中国地质大学 企业文化建设与管理 复习题

《企业文化建设与管理》模拟题 一单选题 1.组织文化包括 A.物质文化,社会文化,精神文化 B.物质文化,精神文化,政治文化 C.物质文化,行为文化,制度文化 D.物质文化,社会文化,政治文化…

五金反引号

五种琴弦 从Java 1.0开始,我们就有了字符串文字"like this" 。 我们还想要其他什么字符串? 其他编程语言为我们提供: 表达式插值: s"I am ${age - 10} years old." 插值格式: f"Price: $pr…

多功能视频光端机_多业务光端机的功能特性

视频光端机,就是把1到多路的模拟视频信号通过各种编码转换成光信号通过光纤介质来传输的设备,由于视频信号转换成光信号的过程中会通过模拟转换和数字转换两种技术,所以视频光端机又分为模拟光端机和数字光端机。光端机原理就是把信号调制到光…

[渝粤教育] 中国地质大学 信息资源管理 复习题 (2)

《信息资源管理》模拟题 一.单选题 1.目前在我国各级政府部门在信息资源管理过程中的主要职责是(). A.向社会提供信息服务 B从政策上指导信息资源的开发和利用 C.直接从事信息资源的开发和管理 D.研究制定信息资源开发的标准和规范 2.研究与制定信息资源开发的标准与规范的责…

curl_exec() 执行的时候发送不出去_为什么端口明明开着,nmap却扫描不出来,看老司机怎么指点迷津...

大家应该都知道,nmap是用来扫描端口的标杆级神器,我们经常在运维工作或安全评估中使用到它。在使用的时候,我们可能会碰到明明目标IP端口有开着,但是nmap却死活扫描不出来,等了大半天却得到一些不可靠的结果。那到底是…

[渝粤教育] 中国地质大学 地球科学概论 复习题 (2)

《地球科学概论》模拟题 一.单选题 1.有一种岩石其SiO2含量为69%中粗粒粒状结晶结构片麻状构造主要由长石石英和角闪石等矿物组成这种岩石应该是() A.花岗岩; B.流纹岩; C.片麻岩; D.闪长岩 2.安山岩的化学成分相似于() A.橄榄岩 B.闪长岩 C.花岗岩 D.辉长岩 3.下列描述正确的…

4路视频+4路百电(物理隔离)+8路电话+开关量+串口+电话光端机 武警光端机

产品描述 本系列产品,是在该公司研制的专用超大规模集成电路的基础上,研发的点对点多业务光传输设备。此款产品提供4路视频,1-8路电话接口;1-16路开关量接口/1-8路RS232-422-485接口;4路百兆以太网接口,4路…

[渝粤教育] 中国地质大学 大学英语(6) 复习题

《大学英语(3)》模拟题 一.单选题 1.Are you sure about that?(). A.You needn’t worry about that. B.I like the idea. C.Ohno.I’m afraid of that. D.Ohyes.I’m absolutely positive. 2.Before I got to the cinemathe film(). A.had begun B.has begun C.is begun D.w…

yuki翻译器钩子_git hooks钩子

GIT HOOKS钩子(hooks)是一些在"$GIT-DIR/hooks"目录的脚本,在被特定的事件(certain points)触发后被调用。当"git init"命令被调用后,一些非常有用的示例钩子文件(hooks)被拷到新仓库的hooks目录中;但是在默认情况下这些钩子(hooks)是不生效的。 把这些钩子…

返回值是内置类型 不能更改_选择通过更改内容类型返回的详细程度,第二部分...

返回值是内置类型 不能更改在上一篇文章中 ,我们研究了如何使用MOXy的功能来控制特定实体的数据输出级别。 这篇文章着眼于Jersey 2.x提供的抽象,它允许您定义一组自定义的批注以具有相同的效果。 与之前一样,我们几乎没有什么琐碎的资源可以…

[渝粤教育] 中国地质大学 嵌入式操作系统 复习题 (2)

《嵌入式操作系统》模拟题 一.单选题 1./babys目录属于project群组(group)并设置了1770的访问权限.而project群组的成员如下: #group dog cat foxdog: dog projectcat:cat project fox:fox project请问以上每一个用户具有对/babys目录中其他用户的文件和目录的有效访问权限是哪…

武警多业务光端机,五防光端机产品介绍

产品描述 本系列产品,是在该公司研制的专用超大规模集成电路的基础上,研发的点对点多业务光传输设备。此款产品提供4路视频,1-4路电话接口;1-16路开关量接口/1-8路RS232-422-485接口;4路千兆以太网接口(共享…

sts 创建webservice项目_Eclipse Maven生成WebService客户端代码及测试

条件:1. Eclipse安装Axis2插件2. 导入Web Service相关包创建Maven项目导入axis2相关jar包xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">4.0.0com.soapsoap0.0.1-SNAPSHOTsoap-clientdom4jdom4j1.6.1org.a…

[渝粤教育] 中国地质大学 建筑艺术赏析 复习题

《建筑材料赏析》模拟题 一.单选题 1.离狮身人面像最近的金字塔是() A.胡夫金字塔 B.海夫拉金字塔 C.门卡乌拉金字塔 2.中国的古典建筑属于() A.砖石结构系统 B.木结构系统 C.水泥结构系统 3.伊什达门是巴比伦城的()门 A.东 B.南 C.西 D.北 4.底比斯的卡纳克阿蒙神庙是在古埃…

J2Pay –入门

入门将指导您如何通过非常简单的步骤快速开始使用J2pay。 下载 J2Pay在Maven上可用。 <dependency><groupId>com.tranxactive</groupId><artifactId>j2pay</artifactId><version>2.4.0</version></dependency>您也可以在此…

[渝粤教育] 中国地质大学 操作系统原理(新) 复习题

《操作系统原理》模拟题 选择题 1.UNIX操作系统是一个()操作系统. A.实时 B.单用户多任务 C.多道批处理 D.多用户多任务 2.Unix系统采用的文件目录结构是(). A.一级目录结构 B.二级目录结构 C.多级目录结构 D.索引目录结构 3.操作系统是一组()程序 A.文件管理 B.中断处理 C.资…

[渝粤教育] 中国地质大学 材料力学 复习题 (2)

《材料力学》模拟题 一单选题 1.直径为d的圆截面拉伸试件其标距是(). A.试件两端面之间的距离 B.试件中段等截面部分的长度 C.在试件中段的等截面部分中选取的”工作段”的长度其值为5d或10d D.在试件中段的等截面部分中选取的”工作段”的长度其值应大于10d 2.轴向拉伸的应力…

与kylin_什么是Kylin,Kylin的学习

概述Kylin定义Apache Kylin是一个开源的分布式分析引擎&#xff0c;提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据&#xff0c;最初由eBay开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。Kylin架构1)REST ServerREST Server是一套面向应用程…

工业轨式 1-16路 4-20MA 模拟量光端机产品介绍

产品描述 本系列设备采用大规模FPGA设计&#xff0c;采用独创技术&#xff0c;可同时支持 1~8 通道模拟量信号&#xff08;电流/电压&#xff09;到光纤中继&#xff0c;每组模拟量有24V供电输出VO脚&#xff0c;方便给传感器等设备供电。该设备采用双电源供电&#xff0c;高性…

[渝粤教育] 中国地质大学 电力系统保护原理 复习题 (2)

《电力系统保护原理》模拟题 一单选题 1.()是为补充主保护和后备保护的性能或当主保护和后备保护退出运行而增加的简单保护. A.异常运行保护 B.辅助保护 C.失灵保护 2.()的出现是区分正常运行、过负荷、系统震荡及相间短路的基本特征. A.正序分量 B.负序分量 C.零序分量 D.均可…