首页   快速返回

spring cloud 核心组件介绍     所属分类 spring
spring cloud 微服务领域的几个重要组件
Eureka Ribbon Feign Hystrix Zuul

业务场景介绍 

电商网站订单支付流程

创建订单
用户支付订单
将订单状态更新为 已支付
扣减相应的商品库存
通知仓储中心发货
增加用户购物积分


依赖的服务 订单服务 库存服务 仓储服务 积分服务


Eureka 微服务注册中心,负责服务的注册与发现
服务提供者依赖 Eureka Client 组件 把 服务信息注册到Eureka Server
Eureka Server维护了一个注册表,保存各服务所在的机器和端口号
服务消费者也会依赖 Eureka Client 组件 把依赖的服务信息从Eureka Server的注册表中拉取到本地缓存起来



Feign
使用动态代理 简化服务调用过程

对某个接口使用@FeignClient注解,Feign对这个接口创建一个动态代理
根据 @RequestMapping等注解,动态构造服务地址

@FeignClient("userService")
public class UserService

@RequestMapping(value = "/user/get", method = RequestMethod.GET)
@ResponseBody
public User getUserById(@RequestParam("id") long id);



Ribbon
负载均衡默认使用 Round Robin
Ribbon从 Eureka Client获取服务注册信息
使用默认的Round Robin算法,从列表中选择一台机器
Feign 针对这台机器,构造并发送请求。



Hystrix
隔离 熔断 降级
拆分成多个线程池 
订单 仓储 积分服务都有各自的线程池 


Zuul
微服务网关 统一处理降级、限流、认证授权、安全等
请求转发到后台服务

上一篇     下一篇
flink web控制台介绍

Netty和Akka的区别

Spark SQL 进化史

tcp知识点整理

技术文章合集1

aerospike安装记录