【Spring123】Spring Cloud 学习积累

入门阅读:https://martinfowler.com/articles/microservices.html

单体应用与微服务架构的优缺点:

单体:

  • 复杂性高:
  • 技术债务:
  • 部署频率低:
  • 可靠性差:
  • 扩展能力受限:
  • 阻碍技术创新:

微服务:

:)

  • 易于开发和维护:
  • 单个微服务启动较快:
  • 局部修改容易部署:
  • 技术栈不受限:
  • 按需伸缩:

:(

  • 运维要求较高:
  • 分布式固有的复杂性:
  • 接口调整成本高:
  • 重复劳动:

微服务设计原则:

  • 单一职责:SOLID原则之一,更优雅更敏捷的交付。
  • 服务自治:独立的业务能力、依赖和运行环境,高度解耦。
  • 轻量级通信:跨语言跨平台,如REST协议。
  • 微服务粒度:设计确定边界,相对独立又保持松耦合。

微服务技术选型——两个维度:

  • 开发框架:如SpringCloud
  • 运行平台:如AWS, Docker

使用Spring Initializr快速创建SpringBoot项目:https://start.spring.io/

项目依赖:Spring Boot, Srping Cloud等

Spring Boot Actuator提供监控端点endpoint

微服务注册与发现:可分为服务器端和客户端,类似:

  • 服务注册表:启动时注册,提供查询API和管理API
  • 服务注册与发现:通信机制(如心跳)
  • 服务检查:可注销

举例Eureka:

举例ZooKeeper:

原文地址:https://www.cnblogs.com/cathygx/p/11135252.html