微服务是近年来流行的概念。与传统的IT架构相比,它有许多优点。那么什么是微服务呢?本文将分析微服务的优缺点,使您对微服务有全面的了解。
1、什么是微服务。
在介绍微服务时,首先要了解什么是微服务。顾名思义,微服务必须从两个方面来理解什么是微,什么是服务。从狭义上讲,微观和著名的2pizza团队很好地解释了这一解释(2piza团队最早是由亚马逊首席执行官Bezos提出的,这意味着所有参与者只需要两个披萨就可以从设计、开发和测试两个披萨中进行设计和测试)。所谓的服务必须不同于系统。服务于一个或一个相对较小和独立的功能单元是用户能感知到的最小功能集。
2014年,Martinfowler和Jameslewis共同提出微服务。微服务架构风格是利用一套小型服务开发单个应用程序的一种方式。每项服务都在自己的过程中运行,并使用轻量级机制通信,通常是HTTPAPI。这些服务是基于业务能力,可以通过自动部署机制独立部署。这些服务使用不同的编程语言和数据存储技术。
二、微服务优势:
1.每个微服务都很小,可以关注指定的业务功能或业务需求。
2.微服务可由2至5名开发人员单独开发。
3.微服务是松耦合的,在开发阶段或部署阶段是独立的。
4.微服务可以用不同的语言开发。
5.开发人员很容易理解、修改和维护微服务,让小团队更加关注自己的工作成果。价值不需要通过合作来体现。
6.微服务允许您使用最新的集成技术。
7.微服务只是业务逻辑代码,不会与HTML、CSS或其他界面组件混合。
三、微服务架构的缺点。
1.操作和维护要求较高。对于单一架构,我们只需要维护项目,但对于微服务架构,由于项目由多个微服务组成,每个模块的问题都会导致整个项目的异常运行。知道哪个模块往往不容易,因为我们不能一步一步地跟踪,这对操作和维护人员提出了很高的要求。
2.分布式的复杂性。对于单一架构,我们不能使用分布式,但分布式几乎是微服务架构的必要技术。由于分布式本身的复杂性,微服务架构也变得复杂。
3.接口调整成本高。例如,用户微服务应被订单微服务和电影微服务调用。一旦用户的微服务接口发生重大变化,所有依赖它的微服务都应相应调整。由于可能有大量的微服务,调整接口的成本将显著增加。
4.对于单一架构的重复劳动,如果多个模块共同使用一个业务,我们可以抽象成一个工具,直接被所有模块呼叫,但微服务不能这样做,因为微服务工具不能直接呼叫其他微服务,所以我们必须在每个微服务中建立这样的工具,导致代码重复。
以上是对微服务优缺点的分析。看到这里,我相信你已经初步了解了什么是微服务。那些想要进一步学习微服务的人可以在博学谷的官方网站上观看在线学习视频。