初识微服务、微服务与单体架构和分布式架构区别、拆分服务注意事项

初识微服务、微服务与单体架构和分布式架构区别、拆分服务注意事项_第1张图片

初识微服务、微服务与单体架构和分布式架构区别、拆分服务注意事项_第2张图片

认识微服务

单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。

优点:架构简单,部署成本低

缺点:耦合度高

分布式架构:根据业务功能对系统进行拆分,每个业务功能作为独立项目开发,称为一个服务。

优点:耦合度低,利于服务升级拓展

缺点:拆分粒度,集群地址如何维护,服务之间调用,服务健康如何感知

微服务:经过良好架构设计的分布式架构。

特征:

  1. 单一职责(拆分粒度小,每一个服务对应唯一业务功能)
  2. 面向服务(微服务对外暴露业务接口)
  3. 自治(团队独立,技术独立,数据独立,部署独立)
  4. 隔离性强(服务调用做好隔离,容错,降级,避免级联问题)

优点:拆分粒度更小,服务更独立,耦合度低

缺点:架构复杂,运维,监控,部署难道提高

SpringCloud和Dubbo对比

初识微服务、微服务与单体架构和分布式架构区别、拆分服务注意事项_第3张图片

分布式服务框架案例

服务拆分注意事项

  1. 不同微服务,不要重复开发相同业务
  2. 微服务数据独立,不要访问其他微服务数据库
  3. 将自己业务暴露为接口,供其他微服务调用

微服务调用方式

  1. 组册RestTemplate
  2. 用RestTemplate发送http请求

你可能感兴趣的:(SpringCloud微服务,spring,cloud)