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. 通过特定负载均衡算法调用某个服务,比如轮询,随机,权重,按照区域可用策略

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

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

本章小结

相关推荐
我命由我123451 小时前
Spring Cloud - Spring Cloud 负载均衡(Ribbon 负载均衡概述、Ribbon 使用)
java·后端·spring·spring cloud·ribbon·java-ee·负载均衡
wudl556613 小时前
Docker 常用命令
docker·容器·eureka
java_logo16 小时前
Docker 部署微服务项目保姆级教程
java·运维·docker·微服务·容器·eureka·架构
纳就这样吧1 天前
Spring Cloud中@EnableDiscoveryClient注解详解
spring boot·后端·spring cloud
thginWalker1 天前
SpringCloud微服务项目实战——系统实现篇
spring cloud
云创智城-yuncitys2 天前
SpringCloud 架构在智慧交通路侧停车系统中的实践:从技术落地到城市级服务升级
spring·spring cloud·架构·智慧城市·停车系统·充电系统源码
番茄Salad2 天前
Spring Boot临时解决循环依赖注入问题
java·spring boot·spring cloud
kkkkk0211062 天前
微服务学习笔记(黑马商城)
java·spring boot·spring·spring cloud·sentinel·mybatis·java-rabbitmq
洛克大航海2 天前
5-SpringCloud-服务链路追踪 Micrometer Tracing
后端·spring·spring cloud·zipkin·micrometer
我命由我123452 天前
Spring Cloud - Spring Cloud 微服务概述 (微服务的产生与特点、微服务的优缺点、微服务设计原则、微服务架构的核心组件)
java·运维·spring·spring cloud·微服务·架构·java-ee