一、了解springcloud
①Spring Cloud 是一系列框架的有序集合。
②通过 Spring Boot 风格进行再封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
③它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、 断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
小结:
①微服务就是将项目的各个模块拆分为可独立运行、部署、测试的架构设计风格。
②Spring 公司将其他公司中微服务架构常用的组件整合起来,并使用 SpringBoot 简化其开发、配置。称为 Spring Cloud
二、SpringCloud 历代组件
红色标识的表示已停止维护。
绿色标识的表示是当前国内比较新的技术。
2.1 注册中心Eureka
2.1.1 Eureka服务注册与发现
Eureka 包含两个组件:Eureka Server (注册中心) 和 Eureka Client (服务提供者、服务消费者)。
概念
准备一个Eureka服务端,一个Eureka客户消费端,一个Eureka客户提供端。请求进消费端,消费端向注册中心(服务端)问询提供端地址,注册中心提供地址给消费端,消费端远程调用提供端。
编码实现
1、pom引入,
2、boot启动类添加注解
3、yaml文件配置注册地址等
详见https://www.ydlclass.com/doc21xnv/springcloud/SpringCloud.html
2.1.2 Eureka高可用
方法:Eureka 服务端相互注册
2.2 服务调用Ribbon
作用: 服务端负载均衡
1、服务端负载均衡
2、客户端负载均衡
使用:
1、导入依赖(已在Eureka中)
2、声明restTemplate时@LoadBalanced
3、restTemplate请求远程服务时,ip端口替换为服务名
2.3 OpenFeign服务调用
实现客户端像调用本地接口方法一样,进行远程调用