一:传统服务架构
一个系统由多个业务聚合而成,由多个java packages 组合成一个WAR包部署到应用服务器上(如Tomcat). 久而久之,系统越来越复杂,给开发,测试,部署,运维都带来很大的问题;常常有牵一发而动全身的情况出现。
二: 微服务架构
不同的业务,不同的服务拆分成不同的模块,独立部署。同一模块,根据业务需要进行分布式部署,组成集群。
三:微服务拆分概念模型
Y-轴 根据不同的功能进行服务模块拆分,X-轴 相同的服务模块进行集群部署,Z-轴 共用的或相似的模块进行拆分(如数据存储)
四:引入容器部署
五:微服务数据层拆分
每个服务都应该有它独立的数据库(schema)
六:通过API GATEWAY 调用服务
服务的注册,发现和调用
七:服务间信息交流
传统架构中相对简单都是进程间的互联互通;而微服务直接分为同步和异步调用。同步通过RPC或REST的方式,异步采用消息队列的模式。
八:分布式事物处理
九:微服务部署策略
十:传统架构升级到微服务架构
1.立即停止传统架构
2.前端,后端拆分
3.服务拆分
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28624388/viewspace-2139854/
,如需转载,请注明出处,否则将追究法律责任。