0
点赞
收藏
分享

微信扫一扫

微服务(还需要输入2个字)


微服务架构现阶段甚嚣尘上。

啥是微服务?
属于SOA(面向服务架构)的一个分支,粒度更小的SOA。SOA是一种架构风格,算调用/返回风格的延伸。然后微服务又是SOA的变种。

一、SOA

微服务(还需要输入2个字)_微服务


微服务(还需要输入2个字)_微服务_02


1、粗粒度

一个服务可有多个对象结合在一起,实现系列功能。

2、低耦合

3、标准接口

如WebService,ESB,等等。ESB可以看成一个中间件,支持多种传输协议和多种消息类型,就像一个全能的翻译。

微服务(还需要输入2个字)_复用_03

二、微服务

就是很小的服务。属于SOA的一种。

1、小,专注于做一件事情

2、轻量级的通信机制
通常是基于HTTP协议的RESTful API。

3、松耦合,独立部署

可见微服务的最大特点就是小。因为分得足够小,所以利于复用,任意组合。也因为小,耦合性低,所以可以单独开发,单独部署。

微服务(还需要输入2个字)_服务框架_04

三、微服务与SOA

可以这样说,微服务就是更小粒度的SOA。

但如果按我的理解,之所以提出SOA这种架构概念,我怀疑可能很大一部分原因是因为系统集成。就是想复用现有系统,避免重复开发,所以利用SOA,或旧系统增加接口,或新系统开发接口,将新旧系统集成起来。

所以说,SOA倾向于对现有系统进行集成,一种补救措施;而微服务架构,则是从一开始就主动对业务进行分割。

微服务一般程序、数据库放在一起部署,自成一体,类似第五元素里的宝珠,集齐就可以发生巨大的威力。

微服务(还需要输入2个字)_微服务_05

四、微服务的优缺点

微服务(还需要输入2个字)_复用_06


优点:利于复用,分开开发,分开部署,自动化部署

缺点:实在太多了,如果做不到自动化部署,会搞死人。而且这么多服务,互相调用,怎么管理?产生了复杂的通信机制,需要注册、监督、熔断等一系列保姆措施。

五、微服务框架

1、微服务框架
因为服务太多了,不好管理,所以涌现了一批微服务框架,专门用来管理微服务,注册、监督、熔断之类。

主流微服务框架:

Spring CLoud
Dubbo
Istio

2、微服务容器
docker
k8s

六、微服务相关概念

云原生 = 云 + 从一开始就考虑云,里面有微服务 + DevOps + 持续交付 + 容器化

云原生 = 微服务 + DevOps + 持续交付 + 容器化

​​什么是云原生​​

我2017年也学习了一下这个微服务,当时的认识是这样的:​​微服务​​


举报

相关推荐

0 条评论