从分布式系统到微服务的一点理解

从分布式系统到微服务

----------------------------------------------------------------------------------------------------------------

演变过程:分布式系统——>SOA系统——>微服务。

SOA:面向服务的架构;

Paas:平台即服务;

SaaS:软件即服务;

----------------------------------------------------------------------------------------------------------------

举个例子:在分布式系统中,随着公司的业务发展,发现其中一个子系统变得越来越重要,同时还需要向其他系统提供接口服务,那么我们就可以考虑将该子系统独立出来,做一个单独的应用,然后通过调用接口的方式对外提供服务。

随着公司的发展,其他的子系统也可能独立出来形成一个单独的应用。那么原来的分布式架构演变成SOA架构了。甚至到最后公司转型变成一个服务提供商,那么这套就是Paas系统,即是一个对外提供服务的平台。

 

当独立的应用多了,如何管理这些应用就变成一个十分紧要的问题。想要管理好这些应用,需要考虑一些问题:

1、通信协议,对外提供统一的通信协议;

2、要保证高可用,比如集群;

3、性能、安全等...

 

最后,即使是独立的应用也会变得十分庞大,系统难于维护,跟不上业务的发展。每个独立的应用也可能有相同的功能,那么就可以重新考虑拆分应用。因此就有了微服务这个概念。

----------------------------------------------------------------------------------------------------------------

微服务:

顾名思义,就是将一个应用的功能进行拆分,拆分成多个相对独立的小模块,那么这个小模块就可以说是一个微服务,但是这个“微”很难把控。

 

微服务架构和SOA架构很相似。微服务架构是SOA架构的深度抽象结果。要想搭建一个微服务架构,需要考虑如下几个问题:

1、服务之间如何调用,要有一套统一的调用方式;

2、权限控制与安全问题;

3、服务高可用问题,如果服务挂了要如何处理;

4、日志管理

5、服务调用的顺序;

6、session共享;

7、服务配置管理问题;

8、事务管理问题;

9、服务要统一管理统一配置,如何实现;

10、客户端怎样访问服务端。

 

目前,市场上提供了不少关于微服务的解决方案,而在实际使用中,根据人的不同产品的不同可能会搭建出一套自己使用的微服务架构。微服务是一个概念,具体怎么使用还是要看具体情况。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页