当前位置: 首页 > news >正文

【Java高阶面经:微服务篇】1.微服务架构核心:服务注册与发现之AP vs CP选型全攻略

在这里插入图片描述

一、CAP理论在服务注册与发现中的落地实践

1.1 CAP三要素的技术权衡

要素AP模型实现CP模型实现
一致性最终一致性(Eureka通过异步复制实现)强一致性(ZooKeeper通过ZAB协议保证)
可用性服务节点可独立响应(支持分区存活)分区期间无法保证写操作(需多数节点可用)
分区容错性必须支持(分布式系统基本要求)必须支持(通过复制协议实现)

典型场景对比

  • 电商秒杀(AP):允许部分用户看到旧服务列表,但保证页面可访问。
  • 银行转账(CP):必须等待服务状态全局一致,避免资金不一致风险。

二、AP模型深度解析:高可用优先的设计哲学

2.1 核心场景与技术实现

2.1.1 适用场景特征
  • 动态伸缩性要求高
    容器化环境中服务实例每分钟上下线超100次(如Kubernetes集群),AP模型的无主节点架构(如Eureka集群)可避免主节点成为瓶颈。
  • 读多写少操作
    服务发现请求中查询占比>90%,写入(注册/注销)频率低,允许缓存数据短暂不一致。
2.1.2 关键技术方案

Eureka架构解析
在这里插入图片描述

  • 心跳机制:服务实例每30秒发送心跳,超时90秒标记为失效。
  • 缓存策略:客户端缓存服务列表,默认30秒更新一次,注册中心宕机时仍可调用。
  • 自我保护模式:当心跳失败比例>85%,停止剔除服务实例,避免网络分区误判。

Consul AP模式配置

# consul配置文件
datacenter = "dc1"
server = true
bootstrap_expect = 3
# 开启AP模式(牺牲强一致性换取可用性)
disable_leader = true
disable_gossip = true

三、CP模型深度解析:强一致性优先的设计哲学

3.1 核心场景与技术实现

3.1.1 适用场景特征
  • 分布式协调需求
    如Kubernetes的节点注册(需保证Pod列表实时一致)、分布式锁(如Redlock)。
  • 配置中心场景
    服务配置变更(如限流规则)需秒级同步到所有节点,避免部分节点使用旧配置导致故障。
3.1.2 关键技术方案

ZooKeeper一致性实现

相关文章:

  • C++:STL
  • 2025华为OD机试真题+全流程解析+备考攻略+经验分享+Java/python/JavaScript/C++/C/GO六种语言最佳实现
  • lasticsearch 报错 Document contains at least one immense term 的解决方案
  • 大模型预训练、微调、强化学习、评估指导实践
  • Token的组成详解:解密数字身份凭证的构造艺术
  • ragas precision计算的坑
  • JavaScript计时器详解:setTimeout与setInterval的使用与注意事项
  • 初步认识HarmonyOS NEXT端云一体化开发
  • 活到老学到老-Spring参数校验注解Validated /Valid
  • 工单派单应用:5 大核心功能提升协作效率
  • Git 克隆子分支
  • linux安装JDK8
  • Elasticsearch面试题带答案
  • 软件架构之-论分布式架构设计及其实现
  • 制造业或跨境电商相关行业三种模式:OEM、ODM、OBM
  • 集成运算放大器知识汇总
  • 【高斯函数】
  • sqli-labs第十一关——‘POST联合查询
  • 【Bluedroid】蓝牙HID Device virtual_cable_unplug全流程源码解析
  • deepseek梳理java高级开发工程师es面试题
  • 做网站属于什么学科/免费手游推广代理平台渠道
  • 网站构建建设案例展示/怎样进行seo优化
  • 专业做简历的网站/电脑优化软件
  • 加盟餐饮网站建设/大连seo关键词排名
  • 手游传奇开服网站/盐城seo推广
  • 广州有哪些做网站的公司/新产品推广方案范文