什么是微服务
Posted ZhangJiQun.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是微服务相关的知识,希望对你有一定的参考价值。
什么是微服务
微服务是一种用于构建应用的架构方案。微服务架构有别于更为传统的单体式方案,可将应用拆分成多个核心功能。每个功能都被称为一项服务,可以单独构建和部署,这意味着各项服务在工作(和出现故障)时不会相互影响。
单体应用
大部分的开发者经历和开发过单体应用,无论是传统的 Servlet + JSP,还是 SSM,还是现在的 SpringBoot,它们都是单体应用,那么长期陪伴我们的单体应用有什么弊端。
- 部署成本高(无论是修改1行代码,还是10行代码,都要全量替换)
- 改动影响大,风险高(不论代码改动多小,成本都相同)
- 因为成本高,风险高,所以导致部署频率低(无法快速交付客户需求)
CAP 是什么
-
C(Consistency)
:一致性,即数据一致性,特指分布式系统中的数据一致性。 -
A(Availability)
:可用性,即服务的高可用,特指分布式系统中服务的高可用,某个服务瘫痪不影响整个分布式系统的正常运行。 -
P(Partition Tolerance)
:分区容错性(也有的叫分区耐受性),即网络故障,特指分布式系统中服务之间出现了网络故障,整个分布式系统仍然保持可用性和一致性。
微服务解决什么问题
- 针对特定服务发布,影响小,风险小,成本低
- 频繁发布版本,快速交付需求
- 低成本扩容,弹性伸缩,适应云环境
缺点;
- 分布式系统的复杂性
- 部署,测试和监控的成本问题
- 分布式事务和CAP的相关问题
以上是关于什么是微服务的主要内容,如果未能解决你的问题,请参考以下文章