什么是微服务

Posted ZhangJiQun.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是微服务相关的知识,希望对你有一定的参考价值。

什么是微服务

微服务是一种用于构建应用的架构方案。微服务架构有别于更为传统的单体式方案,可将应用拆分成多个核心功能。每个功能都被称为一项服务,可以单独构建和部署,这意味着各项服务在工作(和出现故障)时不会相互影响。

单体应用

大部分的开发者经历和开发过单体应用,无论是传统的 Servlet + JSP,还是 SSM,还是现在的 SpringBoot,它们都是单体应用,那么长期陪伴我们的单体应用有什么弊端。

  • 部署成本高(无论是修改1行代码,还是10行代码,都要全量替换)
  • 改动影响大,风险高(不论代码改动多小,成本都相同)
  • 因为成本高,风险高,所以导致部署频率低(无法快速交付客户需求)

CAP 是什么

  • C(Consistency):一致性,即数据一致性,特指分布式系统中的数据一致性。

  • A(Availability):可用性,即服务的高可用,特指分布式系统中服务的高可用,某个服务瘫痪不影响整个分布式系统的正常运行。

  • P(Partition Tolerance):分区容错性(也有的叫分区耐受性),即网络故障,特指分布式系统中服务之间出现了网络故障,整个分布式系统仍然保持可用性和一致性。

微服务解决什么问题

  • 针对特定服务发布,影响小,风险小,成本低
  • 频繁发布版本,快速交付需求
  • 低成本扩容,弹性伸缩,适应云环境

缺点;

  • 分布式系统的复杂性
  • 部署,测试和监控的成本问题
  • 分布式事务和CAP的相关问题

以上是关于什么是微服务的主要内容,如果未能解决你的问题,请参考以下文章

什么是微服务(Microservice)

什么是微服务,微服务简介

什么是微服务

什么是微服务

到底什么是微服务?整理了微服务的11个优点

Spring Cloud——什么是微服务?