SpringCloud微服务


SpringCloud微服务

微服务技术栈

分层次教学

微服务框架 —— SpringCloud微服务架构

认识微服务

服务架构演变

单体架构

  • 单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。
  • 优点:架构简单、部署成本低。
  • 缺点:耦合度高。

分布式架构

  • 分布式架构:根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。
  • 优点:降低服务耦合、有利于服务升级拓展。

服务治理

  • 分布式架构的要考虑的问题:

    • 服务拆分粒度如何?
    • 服务集群地址如何维护?
    • 服务之间如何实现远程调用?
    • 服务健康状态如何感知?

微服务

  • 微服务是一种经过良好架构设计的分布式架构方案。
  • 微服务架构特征:

    • 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发。
    • 面向服务:微服务对外暴露业务接口。
    • 自治:团队独立、技术独立、数据独立、部署独立。
    • 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题。

总结

微服务技术对比

企业需求

SpringCloud

  • SpringCloud是目前国内使用最广泛的微服务框架。
  • 官网地址: https://spring.io/projects/spring-cloud
  • SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。

SpringCloud与SpringBoot的版本兼容关系

  • 例如我们学习的版本是Hoxton.SR10,因此对应的SpringBoot版本是2.3.x版本。

分布式服务架构案例

服务拆分及远程调用

服务拆分注意事项

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

导入服务拆分Demo(cloud-demo)

项目结构

sql

https://www.bilibili.com/video/av717242269/?p=7

服务间调用

eureka注册中心

Ribbon负载均衡原理

nacos注册中心

声明:三二一的一的二|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - SpringCloud微服务


三二一的一的二