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组件服务容错的功能

相关内容

热门资讯

北京万通新发展集团股份有限公司... 证券代码:600246 证券简称:万通发展 公告编号:2025-023北京万通新发展集团股份有限公...
山西安泰集团股份有限公司关于继... 证券代码:600408 证券简称:安泰集团 编号:临2025-004山西安泰集团股份有限公司关于继...
中国证券监督管理委员会广东监管... 刘钧:经查,你涉嫌违反《中华人民共和国证券法》(以下简称《证券法》)相关规定。根据《证券法》第一百九...
河南华英农业发展股份有限公司关... 证券代码:002321 证券简称:华英农业 公告编号:2025-005河南华英农业发展股份有限公司...
赛轮集团股份有限公司关于提供担... 证券代码: 601058 证券简称:赛轮轮胎 公告编号:临2025-015赛轮集团股份有限公司关...
中国三峡新能源(集团)股份有限... 证券代码:600905 证券简称:三峡能源 公告编号:2025-006中国三峡新能源(集团)股份有...
工银瑞信创业板50指数证券投资... 工银瑞信创业板50指数证券投资基金基金合同全文和招募说明书全文于2025年3月1日在本公司网站(ww...
甘肃酒钢集团宏兴钢铁股份有限公... 证券代码:600307 证券简称:酒钢宏兴 公告编号:2025-009甘肃酒钢集团宏兴钢铁股份有限...
泰凌微电子(上海)股份有限公司... 证券代码:688591 证券简称:泰凌微 公告编号:2025-009泰凌微电子(上海)股份有限公司关...
山东好当家海洋发展股份有限公司... 证券代码:600467 股票简称:好 当 家 公告编号:临2025-004山东好当家海洋发展股份有...
云南云天化股份有限公司关于公司... 证券代码:600096 证券简称:云天化 公告编号:临2025-016云南云天化股份有限公司关于公司...
顾家家居股份有限公司关于担保额... 证券代码:603816 证券简称:顾家家居 公告编号:2025-005顾家家居股份有限公司关于担保...
新疆伊力特实业股份有限公司关于... 证券代码:600197 证券简称:伊力特 公告编号:2025-013债券代码:110055 债券简称...
海南椰岛(集团)股份有限公司关... 股票简称:海南椰岛 股票代码:600238 编号:2025-004号海南椰岛(集团)股份有限公司关...
一次试图定义未来的突围 记者观察◎记者 郭成林 2月24日,阿里巴巴集团CEO吴泳铭宣布,未来三年,阿里将投入超过3800亿...
狮头科技发展股份有限公司关于筹... 证券代码:600539 证券简称:狮头股份 公告编号:临2025-010狮头科技发展股份有限公司关...
上海陆家嘴金融贸易区开发股份有... 股票代码:A股:600663 股票简称:陆家嘴 编号:临2025-001B股:900932 陆家B股...
佳禾食品工业股份有限公司股票交... 证券代码:605300 证券简称:佳禾食品 公告编号:2025-005佳禾食品工业股份有限公司股票...
北交所启动2025年度主题投教... ◎记者 张雪 近日,北交所以“直达服务行千里,理性投资进万家”为主题的2025年度投教活动正式启动。...
金石资源集团股份有限公司关于子... 证券代码:603505 证券简称:金石资源 公告编号:2025-005金石资源集团股份有限公司关于...