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

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

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

本章小结

相关推荐
wclass-zhengge3 小时前
SpringCloud篇(服务网关 - GateWay)
spring boot·spring cloud·gateway
荆州克莱4 小时前
Redis | Redis常用命令及示例总结(API)
spring boot·spring·spring cloud·css3·技术
RainbowSea5 小时前
5. Spring Cloud OpenFeign 声明式 WebService 客户端的超详细使用
java·spring·spring cloud
听潮阁5 小时前
【SpringCloud详细教程】-02-微服务环境搭建
spring·spring cloud·微服务
跳跳的向阳花6 小时前
03-02、SpringCloud第二章,Eureka服务的注册与发现
spring·spring cloud·eureka
泰山小张只吃荷园8 小时前
快速入门消息队列MQ、RabbitMQ
java·spring boot·分布式·spring·spring cloud·rabbitmq·java-rabbitmq
customer089 小时前
【开源免费】基于SpringBoot+Vue.JS网上订餐系统(JAVA毕业设计)
java·jvm·vue.js·spring boot·spring cloud·java-ee·开源
不能只会打代码12 小时前
Spring Boot 和 Spring Cloud 微服务开发实践详解
java·spring boot·spring cloud·微服务
tester Jeffky14 小时前
JMeter监听器与压测监控之Grafana
jmeter·eureka·grafana