Spring Cloud 微服务(一) 什么是微服务

Microservices is a variant of the service-oriented architecture(SOA) architectural style that structures an application as a collection of loosely coupled services.                              

维基百科(1)

微服务是一种面向服务架构(SOA),是一种松耦合的服务架构。

我理解的微服务是每个服务具有单一的功能(单一功能原则),许多这样的“单一功能”服务共同组成了一个架构就叫微服务架构。

能做微服务架构的不止Spring Cloud,但是据我了解Spring Cloud是目前做得最全的。本人将持续更新一系列文章记录我在学习微服务过程中的一些心得体会,不足之处欢迎指出。



Spring Cloud 微服务(一) 什么是微服务_第1张图片
“巨石”框架和微服务对比

相比于传统“巨石”应用,微服务有以下优点:

1. 每个服务独立存在,所以可以单独部署,不用每次发布某个功能都经历一次全服务发布。

2. 遵循单一功能原则,服务之间可以通过RESTFUL或者RPC调用,功能解藕

3. “细粒度”的高可扩展性,每个服务都可以单独扩展,单独负载均衡

4. 去中心化,尽可能地实现“自服务”

5. 有利于简化开发测试以及部署,DevOps友好

有利必有弊,微服务有以下缺点:

1. 服务的可用性和维护性高度依赖于服务治理,如果治理得不好将会是灾难

2. 某些服务可能造成性能瓶颈,某些服务的宕机可能导致很多服务受影响

3. 服务配置繁琐

下一篇:SpringCloud 微服务(二) 创建一个简单的服务

引用参考:

(1) https://en.wikipedia.org/wiki/Microservices

你可能感兴趣的:(Spring Cloud 微服务(一) 什么是微服务)