“Yeah It’s on. ”
1、微服务架构说明
微服务的特点:
单一职责:微服务中每个服务都对应唯一的业务能力,做到单一职责
微:微服务的拆分粒度很小,例如一个用户管理就可以作为一个服务,每个服务虽小,但五脏俱全。
面向服务;面向服务是说每个服务都要对外暴露rest风格服务接口ApI,并不关心服务的技术实现,做到与平台和语言无关,也不限定用什么技术实现,只需提供Rest的接口即可
自治:自治是说服务间互相独立,互不干扰
团队独立:每个服务是一个独立的开发团队,人数不能过多
技术独立:因为是面向服务,提供Rest接口,使用什么技术都没有干涉
前后端分离:采用前后端分离开发,提供统一的Rest接口,后端不再为PC、移动端开发不同接口
数据库分离:每个服务都有自己的数据源
部署独立:服务间虽然有调用,但要做到服务重启不影响其他服务。有利于持续集成和持续交付。每个服务都是独立的组件,可复用,可替换,降低耦合,易维护
微服务架构:是一套使用小服务或者单一服务来开发单个应用的方式或途径
与使用ESB的SOA架构的区别:微服务架构没有使用ESB,有服务治理注册中心,业务粒度小
2、服务调用方式说明
常见的远程调用方式有以下两种:
RPC:Remote Product call远程过程调用,RPC基于Socket,工作在会话层,自定义数据模式,速度快,效率高。早期的webservice,现在的dubbo,都是RPC的典型代表
Http:http其实是一种网络传输协议,基于tcp,工作在应用层,规定了数据传输的格式。现在客户端浏览器与服务端通信基本都是采用http协议,也可以用来进行远程服务调用,缺点就是消息封装臃肿,优势是对服务的提供和调用方没有任何技术限定,自由灵活,更符合微服务理念。
区别:RPC的机制是根据语言的API来定义的,而不是根据基于网络的停用来定义的。
####