【每日一知】SpringCloud 和 Eureka (2021.02.21)

【每日一知】SpringCloud 和 Eureka (2021.02.21)

==SpringCloud ==

大项目的完成往往需要分解成多个小模块。这些模块是独立成一个子系统的(不同主机)。

拆分出多个模块以后,就会出现各种各样的问题,而SpringCloud提供了 一整套的解决方案
 

  • SpringCloud的基础功能
    • 服务治理: Spring Cloud Eureka
    • 客户端负载均衡: Spring Cloud Ribbon
    • 服务容错保护: Spring Cloud Hystrix
    • 声明式服务调用: Spring Cloud Feign
    • API网关服务:Spring Cloud Zuul
    • 分布式配置中心: Spring Cloud Config
  • SpringCloud的高级功能
    • 消息总线: Spring Cloud Bus
    • 消息驱动的微服务: Spring Cloud Stream
    • 分布式服务跟踪: Spring Cloud Sleuth
       
       

Eureka

  • 子系统与子系统之间不是在同一个环境下,那就需要远程调用
    既然是远程调用,就必须知道ip地址,我们可能有以下的场景:

    • A服务需要调用B服务
    • A服务调用B服务,B服务调用C服务,C服务调用D服务
    • D服务调用B服务,B服务调用C服务

    •  
  • 万一,我们B服务的IP地址变了,想想会出现什么问题:
    A服务,D服务(等等)需要 手动更新 B服务的地址
    在服务的情况下,手动来维护这些静态配置就是噩梦
     

  • Eureka是这样解决上面所说的情况的:

    • 创建一个E服务,将A、B、C、D四个服务的信息都注册到E服务上,E服务维护这些已经注册进来的信息

    • A、B、C、D四个服务都可以拿到Eureka(服务E)那份注册清单

    • A、B、C、D四个服务互相调用不再通过具体的IP地址,而是通过服务名来调用!

    • 拿到注册清单—>注册清单上有服务名—>自然就能够拿到服务具体的位置了(IP)。

      扫描二维码关注公众号,回复: 12497023 查看本文章
 

转自知乎:https://zhuanlan.zhihu.com/p/43023436
作者:Java3y

====================================================================
每日更新
如果你喜欢这样的形式,记得 留言点赞关注,你们的支持是我创作的动力,我也在分享的同时跟你们一起学习√
欢迎建议、指正、批评。

猜你喜欢

转载自blog.csdn.net/qq_51366188/article/details/113913675