小D课堂 - 新版本微服务springcloud+Docker教程_3-03CAP原理、常见面试题
笔记
3、分布式系统CAP原理常见面试题和注册中心选择
简介:讲解CAP原则在面试中回答和注册中心选择
C A 满足的情况下,P不能满足的原因:
数据同步(C)需要时间,也要正常的时间内响应(A),那么机器数量就要少,所以P就不满足
CP 满足的情况下,A不能满足的原因:
数据同步(C)需要时间, 机器数量也多(P),但是同步数据需要时间,所以不能再正常时间内响应,所以A就不满足
AP 满足的情况下,C不能满足的原因:
机器数量也多(P),正常的时间内响应(A),那么数据就不能及时同步到其他节点,所以C不满足
注册中心选择:
Zookeeper:CP设计,保证了一致性,集群搭建的时候,某个节点失效,则会进行选举行的leader,或者半数以上节点不可用,则无法提供服务,因此可用性没法满足
Eureka:AP原则,无主从节点,一个节点挂了,自动切换其他节点可以使用,去中心化
结论:分布式系统中P,肯定要满足,所以只能在CA中二选一
没有最好的选择,最好的选择是根据业务场景来进行架构设计
如果要求一致性,则选择zookeeper,如金融行业
如果要去可用性,则Eureka,如电商系统
开始
转载于:https://www.cnblogs.com/wangjunwei/p/11440544.html
小D课堂 - 新版本微服务springcloud+Docker教程_3-03CAP原理、常见面试题相关推荐
- 小D课堂 - 新版本微服务springcloud+Docker教程_汇总
小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介 小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型 小D课堂 - 新版本微服务s ...
- 微服务SpringCloud的平台架构及原理分析
需求分析: •庞大的业务要拆分为多个服务 •每个服务要独立演进 •服务之间互相调用或通信 •非功能性(高并发+高可用+高可扩展)需求强烈-亿万级用户规模 解决方案: •分布式服务治理-SpringCl ...
- 容器化技术与微服务结合---docker(一)
目录 系列 微服务 docker场景 mac上docker安装 系统要求 安装 linux上docker安装 Docker的一些命令 springcloud结合docker部署 docker buil ...
- Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构
Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构 概述 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术.不过大多数讲解还停留 ...
- docker的文件流处理_迁移到微服务与DevOps,微服务和Docker容器的全面实用指南
迁移到微服务与DevOps,改变软件开发效能! 一如既往,技术行业正处于巨大的转变之中,物联网.软件定义网络以及软件即服务(SaaS)仅为其中几例.由于这些创新,对能够改进应用开发和部署过程的平台和架 ...
- [转]微服务与Docker
在Docker上运行微服务 在过去的两年里,微服务架构已经成了非常热门的名词,它出现在很多论坛.视频.演讲中.作为一种更灵活.可靠.开放的架构,其应用实践也越来越多.近日,来自七牛云存储.DaoClo ...
- 基于阿里云容器服务的微服务实践 - Part 1. 微服务与Docker
基于阿里云容器服务的微服务实践 基于阿里云容器服务的微服务实践 - Part 1. 微服务与Docker 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blo ...
- docker入门,镜像,容器,数据卷,dockerfile,docker网络,springboot微服务打包docker镜像[狂神yyds]
docker学习大纲 docker概述 docker安装 docker命令 镜像命令 容器命令 操作命令 - docker镜像 容器数据卷 dockerfile docker网络原理 IDEA整合do ...
- Java微服务——SpringCloud实战篇2:整合Gateway、Config、Bus
Java微服务--SpringCloud实战篇2:整合Gateway.Config.Bus 如果小伙伴在阅读下列内容时,对于编写SpringCloud项目是零基础,那么请先阅读小编的另一篇博文:&qu ...
- 中间件和微服务,Docker以及原生云架构的关系
IT世界的技术更新非常迅速.一年前我曾写过一篇关于:微服务是否是企业服务总线和其他中间件的死亡魔法.本文章是之前文章的后续以及关于微服务.容器和原生云架构的中间件关系讨论的更新.各种规模的企业正在以令 ...
最新文章
- 嵌入式linux仪器,一种基于嵌入式Linux设备双系统的启动方法
- 【iOS_Development】文件操作
- 蝙蝠未能连接到服务器是什么原因,家里飞来一只蝙蝠,怎么办?早点知道,有备无患!...
- mysql 默认密码_mysql数据库安装
- 【C语言期末实训】学生学籍管理系统
- QSqlQueryModel结合QTreeView遇到的查询结果不显示的问题
- 字节实习生开发的 AI 竟然被网友用在了王冰冰身上!
- Linux中的用户切换:su和su - 的区别
- Android开发你不知道的TIPS
- matlab韦伯分布,科学网—威布尔分布 Weibull Distribution 资源网页搜集 - 杨正瓴的博文...
- matlab中nc值是什么意思,科学网-.nc数据读取详细资料matlab2010a及后面的版本-张凌的博文...
- 科研必备之图像局部区域放大——画中画形式
- mysql 不建议delete?
- Cortex-M中特别实用的DWT计数器
- 【易语言】微信跳一跳教程详细版,分分钟让新手学会的教程(附源码)
- 我的世界服务器物品展示怎么得,我的世界物品展示框详解攻略 物品展示框怎么做...
- 数据、数据元素、数据项、数据对象的介绍和理解
- 获取当前系统日期和时间
- 【Linux驱动编程】Linux中断上半部和下半部
- STC89C52定时器的简介
热门文章
- linux下的osd服务,OSD通知来到GNOME Shell
- 抖音创作规范_实体店如何借势抖音为门店获客?
- 多标签图像分类任务的评价方法——mAP
- python pandas 之drop()函数
- Docker操作命令——查看、停止、删除容器
- 解决导入Beautifulsoup 报错 AttributeError: 'module' object has no attribute '_base'的问题
- python使用lxml解析html获取页面内所有叶子节点的xpath路径
- 2021-08-15 reponse文件下载路径
- Oracle报错01756,oracle导入数据报错处理
- 登录服务器信息怎么删除,服务器端删除了用户,怎么通知客户端浏览器删除cookie...