大白话SpringCloud---SpringCloud分布式开发的五大常用组件小介绍

最近学习到了SpringBoot整合SpringCloud那一块,由于没有学习过SpringCloud相关的知识,所以这篇博客开个荒,慢慢记录一下之后的SpringCloud的学习之路。这一篇博客就简单介绍一些五大常用小组件的用途和概念。


惯例闲扯:

大家或许会经常把DubboSpringCloud来进行比较,但其实它们两还是会有所不同。之前我也了解过Dubbo,它主要是解决RPC(远程调用)那一块的问题,确实它的出现极大地解决了服务多了之后,调用关系繁杂的情况。而SpringCloud则是一个分布式的整体解决方案。竟然都叫整体解决方案了,那它应该还会解决其他可能出现的情况。

以下摘自官方:

Spring Cloud 为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性token,全局琐,leader选举,分布式session,集群状态)中快速构建的工具,使用Spring Cloud的开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。

SpringCloud为我们提供许多组件,来针对可能出现的应用场景,以下用大白话的视角来看看常用的五个小组件。

五大常用小组件:

  1. 服务发现——Netflix Eureka: 这个组件就是分布式系统里面的"注册中心",和Dubbo中的Zookeeper作用相似。服务提供者注册服务至Eureka上,其他服务消费者可以去订阅它。
  2. 客服端负载均衡——Netflix Ribbon: 该组件负责各节点间的负载均衡,往往分布式集群中各节点关系"错中复杂",有时该节点服务压力已经很大,新的请求进不来,那新的请求只能去别的功能相同的节点,而Ribbon就是负责调配这一工作的。
  3. 断路器——Netflix Hystrix: 在现实的分布式开发中,往往会碰到一个情况,我们浏览器的请求先调用a节点,而a节点又去调用b,b调用c…也是"错中复杂"。那么假设一直调用到最后,调用到z节点(夸张点),发现出现错误了,那浏览器只能一直等待很长时间,等z节点一直响应到a节点,浏览器才能收到错误信息。如果有Hystrix的话,当出现错误时,马上先返回错误信息给浏览器,这样用户也不用花那么多时间去等待。
  4. 服务网关——Netflix Zuul: 我们可以设置一个网关,每次节点调用结束后,先经过网关筛选,再返回。打个比喻,现在疫情期间,我们出门的话,也要量体温,如果这时你发烧了,那么就会被拦下来,然后你该去医院进行进一步的检查。而Zuul就是这个作用。
  5. 分布式配置——Spring Cloud Config: 偷个小懒,顾名思义嘿嘿嘿。

以后会不定时的用大白话的方式分享SpringCloud的相关知识。大佬们有什么意见的话,欢迎来指正哦。

猜你喜欢

转载自blog.csdn.net/Jokeronee/article/details/106011819