SpringCloud五大组件
创始人
2024-06-01 03:36:41
0

微服务SpringCloud整合技术组件基本流程:

  1. 引入组件启动器依赖坐标
  2. 覆盖默认配置即application.properties配置文件(每个微服务只有一个并且服务启动默认加载)
  3. 引导类(微服务入口即main方法)自定义开启组件注解

SpringCloudEureka

服务注册中心,分为EurekaService服务端和EurekaClient客户端;EurekaService服务端单独微服务部署(引导类@EnableEurekaServer开启EurekaService服务端组件),实现其他微服务的注册、检测已注册微服务的心跳、实现微服务无心跳的下线;EurekaClient客户端位于服务消费方(引导类@EnableDiscoveryClient开启EurekaClient客户端组件),实现微服务发现(获取已注册在EurekaService服务端的微服务列表即服务IP和端口号并且缓存在本地服务,IP和端口号通过RestFul风格接口实现系统内部微服务之间远程调用)、微服务的续约

SpringCloudRibbon

服务负载均衡,位于服务消费方调用方法上定义@LoadBalanced注解开启负载均衡(由于引入Eureka启动包,Eureka启动包也引入Ribbon负载均衡相关包,因此可以直接使用@LoadBalanced注解);通过负载均衡算法(轮询、随机等)实现负载均衡调用

SpringCloudHystrix

熔断三种状态:

  1. 开启状态:远程调用服务提供方超时或服务提供方线程池已满;服务消费方所有远程调用请求不允许即不发送远程调用;该状态有默认时间
  2. 关闭状态:全部远程请求允许调用
  3. 半开启状态:开启状态默认休眠期结束进入半开启状态,允许部分远程请求

微服务降级和熔断,位于服务消费方(引导类@EnableCircuitBreaker和方法@HystrixCommand(fallbackMethod=“局部降级方法名”)或声明该类上@DefaultProperties(defaultFallback=“全局降级方法名”)开启Hystrix组件);通过Hystrix实现服务容错,避免多个远程调用超时服务器资源被占用即内存被占用而产生内存溢出最后出现系统雪崩
备注
@HystrixCommand注解fallbackMethod属性对应局部降级方法的形参和被定义的方法形参列表保持一致;
@DefaultProperties注解defaultFallback属性对应该类全局降级方法,因此没有形参
@HystrixCommand和@DefaultProperties还是会发起远程调用请求实现服务降级
@SpringCloudApplication: 包含@SpringBootApplication和@EnableDiscoveryClient和@EnableCircuitBreaker三个组合注解

SpringCloudFeign

服务间远程调用,位于服务消费方(引导类@EnableFeignClients和自定义接口@FeignClient(value=“服务提供方服务id”, fallback=实现类.class)开启远程调用组件);Feign接口定义抽象方法保持服务提供方方法一致包括方法上定义注解和形参,Feign远程调用是通过接口属性值服务id获取IP和端口并且拼接抽象方法上映射注解@RequestMapping属性值URI发起http请求
备注:
Feign集成了Ribbon和Hystrix组件因此也远程调用也支持负载均衡和服务容错;服务容错需要声明定义容错方法,因此Feign默认关闭Hystrix服务容错
开启Feign组件服务容错方法: Feign接口类@FeignClient(value=“服务提供方服务id”, fallback=实现类.class)定义fallback=实现类.class 属性,实现Feign接口并且实现类通过@Component注解注入SpringIOC容器,开启Feign组件服务容错的功能

相关内容

热门资讯

Davis Commoditi... 吴说获悉,新加坡农产品贸易商 Davis Commodities(纳斯达克代码:DTCK)宣布正在评...
建行房贷计算器2022最新版,...   现在很多家庭都是贷款买房的,经济压力也比较大,一般大家很少全款付的。找银行贷款,也是减轻压力,只...
湖北产假2022最新政策,产假...   近年来我国的生育率不断下降,为了提高生产率,保护妇女权益。国家调整了一系列生育政策。其中产假,是...
请问写作文,有没有套路,技巧? 请问写作文,有没有套路,技巧?要详细点,不要复制,谢谢。没什么特别的技巧,最重要的是多阅读。读的多了...
动漫中有哪些“扮猪吃老虎”的装... 动漫中有哪些“扮猪吃老虎”的装弱主角?其实有很多的斗破苍穹各种动漫的,其实就是扮猪吃老虎,算是满足了...
有你我坐拥天下,没你我依然伟大... 有你我坐拥天下,没你我依然伟大。是什么意思?有你坐拥天下,意思是你很有地位,依靠你他能得到同样的高地...
《穷人》一文的体裁是不是短篇小... 《穷人》一文的体裁是不是短篇小说《穷人》一文的体裁是短篇小说,作者是列夫·托尔斯泰。
我做了别人的小三? 我做了别人的小三?你这稀里糊涂,自己被人坑,还坑了别人,确实尽早抉择,不然真的就是咱害人害己了!
为什么夜晚会出现紫色天空? 为什么夜晚会出现紫色天空?我们这边现在几乎每天晚上都是天空都是紫色的有没有人能找到标准答案这是为什么...
初中生教育方法14岁的男孩子聪... 初中生教育方法14岁的男孩子聪明,但没有学习兴趣。如何培养孩子的学习兴趣?楼主说得有道理 弟子规是东...