关注
Spring Cloud有许多重要组件:
1. Eureka
- 功能:这是一个服务注册与发现中心。服务提供者可以将自己的服务信息(如服务名称、IP地址、端口号等)注册到Eureka服务器上,服务消费者则从Eureka获取服务列表来调用服务。
- 示例应用场景:在一个微服务架构的电商系统中,商品服务、订单服务等微服务都将自己注册到Eureka。当用户下单时,订单服务需要调用商品服务获取商品信息,订单服务就可以从Eureka获取商品服务的实例信息进行调用。
2. Ribbon
- 功能:主要用于客户端负载均衡。它可以在多个服务实例之间进行请求的负载分配。例如,当有多个相同的商品服务实例时,Ribbon可以根据设定的策略(如轮询、随机等)将请求均匀地分配到这些实例上。
- 示例应用场景:假设电商系统中有3个商品服务实例,Ribbon会按照负载均衡策略将来自订单服务的请求合理地分配到这3个实例,避免某个实例负载过重。
3. Feign
- 功能:是一个声明式的Web服务客户端。它让编写Web服务客户端变得更加简单,通过定义接口并使用注解,就可以方便地调用其他服务。Feign内部集成了Ribbon,可以实现负载均衡。
- 示例应用场景:在电商系统中,订单服务通过Feign接口定义调用商品服务的方法,如 @FeignClient(name = "product - service") public interface ProductClient { @GetMapping("/products/{id}") Product getProductById(@PathVariable("id") Long id); } ,就可以轻松地获取商品服务的资源。
4. Hystrix
- 功能:用于服务容错保护。在微服务架构中,一个服务可能会调用多个其他服务,如果某个被调用服务出现故障(如响应时间过长或不可用),Hystrix可以防止故障扩散,提供降级策略(如返回默认值或缓存值)和熔断器机制(当故障达到一定阈值时,直接断路,停止向故障服务发送请求)。
- 示例应用场景:如果商品服务出现故障,订单服务调用商品服务时,Hystrix可以让订单服务快速返回一个默认的商品信息或者提示“商品服务暂时不可用”,而不是一直等待商品服务的响应,从而保障订单服务自身的可用性。
5. Zuul(或Spring Cloud Gateway)
- 功能:是微服务架构中的网关组件。它可以对微服务的请求进行统一的路由、过滤等操作。例如,可以在网关层进行身份验证、请求限流、日志记录等功能。
- 示例应用场景:所有外部请求进入电商系统时,先经过网关。网关可以验证用户的登录凭证,如果没有登录则拒绝访问;也可以记录每个请求的访问时间、IP地址等信息用于审计。
在实践中,安装和配置这些组件主要是通过在项目的构建文件(如Maven或Gradle)中添加相关的依赖,然后在配置文件中设置各个组件的参数,如Eureka服务器的地址、Ribbon的负载均衡策略等。同时,需要编写代码来启动和使用这些组件,比如创建Eureka客户端服务、使用Feign接口等。
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
- 1... 都是 dirty work,为什么别人的简历上就能言之有物🤔3.3W
- 2... 【07.29更新】能救一个是一个!26届毁意向毁约裁员黑名单4271
- 3... 干活最少的实习生因为长得漂亮转正了3759
- 4... 虾皮后端一面(已挂)3380
- 5... 最近是各位大佬离职回去准备秋招了嘛,鼠鼠最近投的实习居然都有回应了,基本上当天投的两天之内都能有回应,要是秋招能有这样就太好了呜呜,简单记录一下吧。7月23日:快手-平台消费(一面)1.实习介绍(干了什么,亮点,难点)2.一些基础八股(集合,MySQL……)3算法(二叉树前序遍历非递归),突然忘了要求换了个,直接给我出了个反转链表(面试官真好) 50minute7月25日:百度-后台开发(一面)1.介绍实习(针对简历上写的亮点挨个问)(这么玩嘛)2八股拷打,不断反问3先写个算法吧(二叉树最长路径长度)4问项目(简单介绍了下) 1h7月25日:快手-平台消费(二面)1.谈了下实习时间,到岗时间啥的2.操作系统(线程进程区别,通信方式,使用细节)3Java八股,jvm,集合……4算法(倒数第k个最大元素)50分钟7月28日: 小红书-数据库平台开发(一面)1.介绍实习(为啥要这样做,达到的效果咋样……)2.八股文(记不太清了)3.介绍项目,(详细介绍了一遍)4算法(长度最小子数组,两数相加)50分钟7月28日: 字节跳动-生活服务(一面)1.介绍实习(介绍部门组内情况,你怎么优化的,之前是咋样的呢,怎么保证不会出现问题……汗流浃背了)2.按照简历上的点穿插八股文,Redis底层数据结构实现,集群方案,切片集群,如何扩容,Redis分布式锁……,给出了两个sql问有什么问题,给出优化方案并写出来,有一个是深分页问题3.算法(子集2)1小时10分钟7月29日: 小红书-二面-数据库平台开发(二面)1.算法(最长递增子序列,二叉树展开为链表)2.计网,操作系统3Java八股文4实习介绍50分钟然后7月31还有个猫眼娱乐-后台开发(一面)3106
- 6... 26滴滴秋招提前批Java一面3020
- 7... 令人心动的offer!!!2847
- 8... QQ提前批一面凉经2495
- 9... 7.30百度提前批一面2365
- 10... 27双非百度offer timeline2358
正在热议
更多
# 你遇到最难的面试题目是_ #
10295次浏览 129人参与
# 分享一个让你热爱工作的瞬间 #
32564次浏览 341人参与
# 中兴秋招 #
199350次浏览 2237人参与
# 工作中哪个瞬间让你想离职 #
54848次浏览 491人参与
# 工作压力大怎么缓解 #
94278次浏览 997人参与
# 你最讨厌面试问你什么? #
18725次浏览 222人参与
# 26届的你,投了哪些公司? #
26558次浏览 310人参与
# 多益网络求职进展汇总 #
31709次浏览 141人参与
# 我对___祛魅了 #
35519次浏览 335人参与
# 简历上的经历如何包装 #
16029次浏览 563人参与
# 你跟室友的关系怎么样? #
4687次浏览 79人参与
# 第一份工作应该只看薪资吗 #
159000次浏览 1565人参与
# 如何快速融入团队? #
12799次浏览 154人参与
# 和同事相处最忌讳的是__ #
17499次浏览 177人参与
# leader认为你工作不认真怎么办 #
34981次浏览 163人参与
# 什么样的背景能拿SSP? #
20833次浏览 148人参与
# 机械人的金三校招总结 #
35845次浏览 461人参与
# 饿了么求职进展汇总 #
64340次浏览 636人参与
# 打工人的精神状态 #
69048次浏览 1120人参与
# 我心目中的理想工作是这样的 #
72365次浏览 847人参与
# 百度秋招提前批进度 #
118057次浏览 1392人参与