SpringCloud Day1 SpringCloud概述
SpringCloud概述。
Eureka: (服务注册发现)
配置文件参数:
register-with-eureka: false #false表示不向注册中心注册自己。 fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
Eureka Client、 Eureka Server:客户端和服务端, 服务端一般是Eureka本身,客户端是各种服务。 有些服务作为单纯的消费者
是不会注册到服务端的。
服务提供者和服务消费者:
服务提供者:服务的提供者会在启动的时候通过rest请求方式将自己注册到EurekaServer上去,同时把自己服务的元数据带过去。
服务续约:注册之后,用心跳机制来续约。
服务下线:服务下线的Rest请求发给Eureka Server进行下线操作
服务消费者:服务启动,发送一个rest请求给服务注册中心,来获取服务清单。
服务消费者在获取服务清单后,通过服务名可以获得具体提供服务的实例名和该实例的元数据信息。在进行服务调用的时候,优先访问同处一个Zone中的服务提供方
EurekaServer:服务注册中心
失效剔除机制:每隔30s(默认),对超时(默认90s)未续约的服务剔除出去
自我保护机制:
RestTemplate:远程调用
@RestController public class DeptController{ // 服务实例名 private static final String REST_URL_PREFIX = "http://MICROSERVICECLOUD-DEPT"; @Autowired private RestTemplate restTemplate; @RequestMapping(value = "/consumer/dept/add") public boolean add(Dept dept) { return restTemplate.postForObject(REST_URL_PREFIX + "/dept/add", dept); } }
RestTemplate定义了远程服务调用的规则
Ribbon负载均衡:
客户端负载均衡:客户端可以拿到服务清单后,通过Ribbon负载均衡在多个服务器质检根据负载均衡算法选择一个进行访问。 和RestTemplate一起使用,会在使用RestTemplate的时候自动开启Ribbon负载均衡。
服务端负载均衡:Ngnix
Ribbon还可以配置自己的负载均衡规则。
hystrix熔断:
可以通过失败快速返回,线程池隔离的方式避免问题的进一步升级。
Hystrix提供几个熔断关键参数:滑动窗口大小(20)、 熔断器开关间隔(5s)、错误率(50%)
。
-
-
直到5s钟之后,重新检测该触发条件,判断是否把熔断器关闭,或者继续打开。
feign:
Zuul:
前置拦截过滤,校验,动态路由匹配,过滤器实现。
Config:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!