java八股-SpringCloud微服务-Eureka理论

文章目录

SpringCloud架构

Eureka流程

  1. 服务提供者向Eureka注册服务信息
  2. 服务消费者向注册中心拉取服务信息
  3. 服务消费者使用负载均衡算法挑出合适的服务提供者
  4. 远程调用服务对应服务提供者的IP,端口

(其中服务提供者需要定期30秒向Eureka注册中心续约服务的IP和端口,如果不续约会自动剔除对应不续约的服务)

Nacos和Eureka的区别是?


CAP定理

CAP 定理(也称为布鲁尔定理)是分布式系统领域的一个基本原理,它指出在网络分区、一致性和可用性之间只能同时满足其中的两个。CAP 定理中的三个要素如下:

  1. 一致性(Consistency)

    • 在一致性要求下,系统在任何时间点,无论哪个节点,数据都是一致的。当一个写操作完成后,所有后续的读操作都必须读到这个最新的值。强一致性意味着写操作对所有节点都是立即可见的。
  2. 可用性(Availability)

    • 在可用性要求下,系统在任何时间点都能够响应用户的请求。即使某些节点出现故障,系统仍然能够继续提供服务,而不会因为内部节点之间的通信问题而使整个系统不可用。
  3. 分区容错性(Partition tolerance)

    • 分区容错性是指系统能够容忍网络分区,即在网络发生故障时,系统的不同部分仍然能够继续运作。这是分布式系统的一个基本要求,因为在大规模分布式系统中,网络分区是不可避免的。

AP(可用性和分区容错性)

  • AP系统优先保证系统的可用性和分区容错性。在网络分区发生时,AP系统可能会牺牲一致性,允许不同节点的数据暂时不一致,以确保系统的可用性不受影响。这种系统通常在写操作后能够快速响应读操作,即使在网络分区的情况下也能继续提供服务。

CP(一致性和分区容错性)

  • CP系统优先保证系统的一致性和分区容错性。在网络分区发生时,CP系统可能会牺牲可用性,通过阻止某些操作来保证数据的一致性。这意味着在网络分区的情况下,系统可能会变得不可用,直到网络分区问题解决,系统重新达成一致性。

简而言之,AP和CP系统的主要区别在于它们在面对网络分区时如何权衡一致性和可用性。AP系统更倾向于保持系统的可用性,而CP系统更倾向于保持数据的一致性。在实际的分布式系统设计中,开发者需要根据具体的业务需求和场景来选择合适的模型。

Ribbon负载均衡策略

  1. Order-Service向Ribbon发起请求
  2. Ribbon向注册中心拉取请求Request里面UserService
  3. 注册中心Eureka返回服务列表到Ribbon
  4. 通过特定负载均衡算法调用某个服务,比如轮询,随机,权重,按照区域可用策略

    轮询就是服务器列表挨个问
    区域可用策略是对某个区域里面的服务器进行论文
    权重策略是根据相应时间来设置权重,响应时间越长,权重小

自定义负载均衡策略如何实现?

本章小结

相关推荐
溜达的大象10 小时前
Navidrome 打造专属无损音乐库,加载cpolar局域网外访问也能超丝滑
阿里云·docker·云原生·eureka
hi_link11 小时前
Docker 端口绑定 0.0.0.0,但 127.0.0.1 访问不到服务的问题总结
云原生·eureka
让我上个超影吧11 小时前
天机学堂——播放进度方案优化
java·spring boot·redis·spring cloud
深入技术了解原理11 小时前
引入eureka依赖但是无法注册:无法解析配置属性 ‘eureka.client.service-url.defaultZone‘
spring boot·spring cloud·云原生·eureka
BlockChain88811 小时前
Spring Cloud入门篇:微服务架构从0到1(20000字完整指南)
spring cloud·微服务·架构
努力也学不会java15 小时前
【Spring Cloud】 服务注册/服务发现
人工智能·后端·算法·spring·spring cloud·容器·服务发现
BlockChain88817 小时前
Spring Cloud实战:电商微服务系统从0到1(25000字终极实战指南)
spring·spring cloud·微服务
无心水17 小时前
【分布式利器:腾讯TSF】11、腾讯TSF微服务框架深度对比:全面解析TSF vs Spring Cloud vs Dubbo vs Service Mesh
分布式·spring cloud·微服务·dubbo·springcloud·service mesh·分布式利器
fcm1917 小时前
导出已有的docker容器
docker·容器·eureka
若离学姐17 小时前
Spring Cloud 零基础教程:Eureka 实战
spring·spring cloud·eureka