springcloud
1.介绍:springcloud框架不是单一的框架,而是整合了多个框架;
Spring Cloud 是一站式微服务解决方案,微服务全家桶。
Spring Cloud 通过集成一系列工具,来解决微服务中遇到的所有问题
1.Spring cloud 是工具集
2.不是一个独立的框架
3.通过 springboot 来集成所有工具,提供默认配置和一些辅助工具
4.开箱即用
开发环境:
IDEA
插件:Lombok、EditStarters、Free MyBatis Plugin、Maven Helper
Maven
(依赖包无法下载问题:使用阿里仓库和中央仓库,来回切换更新找到本地仓库的依赖包,删除后重新更新复制同学的本地仓库中的依赖包)
新工程的 Maven 默认配置:
File - New Projects Settings - Settings for new projects
springboot版本: 2.3.9.RELEASE
springcloud版本: Hoxton.SR10
工具:十个工具
一:一个注册中心
eureka注册中心 (前面学了zookeeper也属于注册中心)
二:两个基本点
ribbon [ˈribən] 、hystrix
三:三个工具
feign[fein]、zuul、config+bus
四:四个监控
hystrix dashboard[ˈdæʃbɔːd] 、
turbine[ˈtəːbin]、
sleuth [sluːθ]、
zipkin
新建commons工程
添加依赖
spring web、eureka service、Ribbon [Maintenance]、OpenFeign、Hystrix [Maintenance]
eureka注册中心 (前面学了zookeeper也属于注册中心)
注册和发现
1,所有为服务项目启动,都要把地址注册到注册中心
2,服务之间调用,通过注册表来互相发现
eureka [juə’ri:kə] 注册中心搭建:
1 新建项目
2 添加依赖(服务端添加服务端依赖,客户端添加客户端依赖)
eureka server
3 yml配置(开发调试阶段禁用自我保护模式)
eureka:
instance:
# 主机名,集群中用主机名相互区分
hostname: eureka1
client:
# 针对单台服务器,不向自己注册,也不向自己拉取注册表
register-with-eureka: false
fetch-registry: false
server:
# 禁用自我保护模式
enable-self-preservation: false
4 在启动类加一个注解@EnableEurekaServer
通过注解触发自动配置
@SpringBootApplication
@EnableEurekaServer //通过注解触发自动配置
public class Sp05EurekaApplication {
eureka运行机制
1,客户端注册:
客户端一次次向服务器发起注册请求,直到注册成功;
2,客户端拉取注册表:
客户端每30秒向服务端拉取一次注册表,刷新注册表;
3,客户端发送心跳数据:
客户端每隔30秒向服务端发起一次心跳数据,服务器连续三次收不到这个客户端的心跳,这是服务端就会将该客户端从注册表中删除;
4,自我保护模式:
·由于网络中断,15分钟内,85%的服务器出现心跳异常,服务端会自动进入自我保护模式,自我保护模式下,不删除注册表信息;
·恢复网络后自动退出自我保护模式,恢复正常
·在开发调试期间下可以关闭自我保护模式,避免影响测试
客户端连接eureka:
配置 hosts 文件,添加 eureka1 和 eureka2 的域名映射
127.0.0.1 eureka1
127.0.0.1 eureka2
添加依赖:eureka client
设置 eureka 服务器地址: http://eureka1:2001/eureka