什么是微服务

微服务是一种开发软件的架构和组织方法,其中软件由通过明确定义的 API 进行通信的小型独立服务组成。这些服务由各个小型独立团队负责。

微服务架构使应用程序更易于扩展和更快地开发,从而加速创新并缩短新功能的上市时间。

微服务强调的是服务的大小,它关注的是某一个点,是具体解决某一个问题或提供落地对应服务的一个服务应用,狭意的看,可以看作Eclipse里面的一个个微服务工程/或者Module。

一、整体式架构与微服务架构

  通过整体式架构,所有进程紧密耦合,并可作为单项服务运行。这意味着,如果应用程序的一个进程遇到需求峰值,则必须扩展整个架构。随着代码库的增长,添加或改进整体式应用程序的功能变得更加复杂。这种复杂性限制了试验的可行性,并使实施新概念变得困难。整体式架构增加了应用程序可用性的风险,因为许多依赖且紧密耦合的进程会扩大单个进程故障的影响。

  使用微服务架构,将应用程序构建为独立的组件,并将每个应用程序进程作为一项服务运行。这些服务使用轻量级 API 通过明确定义的接口进行通信。这些服务是围绕业务功能构建的,每项服务执行一项功能。由于它们是独立运行的,因此可以针对各项服务进行更新、部署和扩展,以满足对应用程序特定功能的需求。

二、微服务的特性

1. 自主性

 可以对微服务架构中的每个组件服务进行开发、部署、运营和扩展,而不影响其他服务的功能。这些服务不需要与其他服务共享任何代码或实施。各个组件之间的任何通信都是通过明确定义的 API 进行的。 

2. 专用性

  每项服务都是针对一组功能而设计的,并专注于解决特定的问题。如果开发人员逐渐将更多代码增加到一项服务中并且这项服务变得复杂,那么可以将其拆分成多项更小的服务。

三、微服务的优势

1. 敏捷性

  微服务促进若干小型独立团队形成一个组织,这些团队负责自己的服务。各团队在小型且易于理解的环境中行事,并且可以更独立、更快速地工作。这缩短了开发周期时间。您可以从组织的总吞吐量中显著获益。

2. 灵活扩展

  通过微服务,您可以独立扩展各项服务以满足其支持的应用程序功能的需求。这使团队能够适当调整基础设施需求,准确衡量功能成本,并在服务需求激增时保持可用性。

3. 轻松部署

  微服务支持持续集成和持续交付,可以轻松尝试新想法,并可以在无法正常运行时回滚。由于故障成本较低,因此可以大胆试验,更轻松地更新代码,并缩短新功能的上市时间。

4. 技术自由

  微服务架构不遵循“一刀切”的方法。团队可以自由选择最佳工具来解决他们的具体问题。因此,构建微服务的团队可以为每项作业选择最佳工具。

5. 可重复使用代码

  将软件划分为小型且明确定义的模块,让团队可以将功能用于多种目的。专为某项功能编写的服务可以用作另一项功能的构建块。这样应用程序就可以自行引导,因为开发人员可以创建新功能,而无需从头开始编写代码。

6. 弹性

  服务独立性增加了应用程序应对故障的弹性。在整体式架构中,如果一个组件出现故障,可能导致整个应用程序无法运行。通过微服务,应用程序可以通过降低功能而不导致整个应用程序崩溃来处理总体服务故障。

本次讲解的SpringCloud就是微服务架构的佼佼者。

 

转载于:https://www.cnblogs.com/myitnews/p/11546103.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 微服务和分布式是两个相关但不同的概念。 微服务是一种架构风格,将一个应用程序拆分成一组小型的、独立的服务单元,并通过API进行通信。每个服务单元都可以独立开发、部署和扩展,这提高了系统的可靠性和可维护性。 分布式是指一个应用程序在多台计算机上运行,并通过网络进行通信。分布式系统通常由多个服务组成,这些服务可以在不同的计算机上运行。 因此,微服务可以是分布式架构的一部分,但不是必须的。一个应用程序可以是分布式的,但并不是微服务架构。 ### 回答2: 微服务是一种软件架构的设计理念和模式,将一个大型的应用程序拆分成多个小型的服务,每个服务都独立部署、独立运行,且具有独立的数据存储和交互接口。这些服务之间通过轻量级的通信机制进行交互,可以使用HTTP、消息队列等方式进行通信。每个微服务都专注于实现一个特定的业务功能,因此可以独立开发、测试和部署,提高了系统的可维护性、可扩展性和灵活性。 分布式是指在多台计算机上分布运行多个程序,通过网络连接进行通信和协作,共同完成一个任务或提供一个服务。分布式系统的特点是在不同的计算机节点上部署不同的程序和服务,这些节点通过网络进行通信,共享和传输数据。分布式系统可以提供高可用性、高性能和可扩展性等优势,同时也面临着节点故障、通信延迟、一致性问题等挑战。 微服务和分布式是两个不同的概念,微服务是一种架构设计的思想,而分布式是一种计算机系统的运行方式。微服务可以在分布式系统中应用,将一个大型的分布式系统拆分成多个小型的微服务,每个微服务可以运行在不同的节点上,通过网络进行通信和协作,最终完成整个系统的功能。因此,微服务可以看作是一种分布式系统的架构方式,而分布式不一定是微服务架构。 ### 回答3: 微服务是一种软件架构风格,它将一个大型应用程序拆分为一组更小、更独立的服务单元,每个服务单元都可以独立开发、部署、扩展和管理。这些服务单元之间通过轻量级的通信机制进行交互,如HTTP或消息队列。 微服务架构具有以下特点: 1. 每个微服务独立部署,可以使用不同的技术栈和语言编写。 2. 每个微服务都有自己的数据存储,可以使用不同类型的数据库或存储。 3. 微服务之间通信通过API进行,可以使用各种通信机制。 4. 可以根据需要对每个微服务进行独立的扩展,提高系统整体的弹性和性能。 5. 每个微服务都可以独立进行升级和维护,不会影响其他微服务的运行。 分布式是一种计算机系统的架构,其中多个独立的节点通过网络进行通信和协调,共同完成一个任务或提供一个服务。在分布式系统中,各个节点之间相互协作,共享资源,通过消息传递或远程调用等方式进行通信。分布式系统通过将工作负载分散到多个计算机节点上,提高了系统的可靠性、可扩展性和性能。 分布式系统具有以下特点: 1. 系统中的节点可以位于不同的物理位置,通过网络进行通信。 2. 节点之间共享资源,例如数据库、文件系统或计算资源等。 3. 分布式系统中的节点可以独立工作,并通过协调和通信实现任务的分工和协作。 4. 分布式系统需要考虑节点故障、网络延迟和并发控制等问题。 5. 分布式系统可以提高系统的可靠性和性能,并具有高可用性和可扩展性。 总结来说,微服务是一种软件架构风格,将大型应用程序拆分成小的服务单元,而分布式是一种计算机系统架构,多个独立节点通过网络通信和协调来完成任务或提供服务。微服务是一种分布式系统的实践方式之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值