分布式精华问答:分布式环境下如何保持数据一致性的?| 技术头条

2019 年 4 月 8 日 CSDN云计算

分布式开发的时代实际上早已悄悄地成为了时代的主流,今天,我们就来看看关于分布式的精华问答吧!


1

Q:分布式系统中主要是用到了服务化,消息中间件,数据库拆分,便于横向扩展和维护,但分布式系统中的拆分的这个维度该怎么把握?拆分后面临的分布式事务用什么方式处理比较好?分布式中soa框架有dubbo、motan及spring cloud的spring全家桶,这些技术该怎么选择?


A:以微服务为例,拆分遵守几种原则,如单一职责、高内聚低耦合等,拆分的颗粒度足够小即可便于开发;但不要过小,过小的化微服务的数量也会激增,管理这些大批量的服务也将会是一个挑战。 分布式事务常用的方式有两阶段提交、三阶段提交、paxos算法等。


2

Q:分布式环境下如何保持数据一致性的?分布式事务吗?


A:分布式系统的一致性有多种模型,如严格一致性、持续一致性、最终一致性等,分布式事务算法常用的有2PC、3PC、Paxos 各有优缺点,实际案例可以参考 Chubby、Hypertable、Zookeeper等。


3

Q:消息中间件的选择上,能否单用kafka不用其他,还是说根据不同业务场景选用不同的消息中间件。一般在什么情景下使用消息中间件呢?是否在并发程度不是很高的情况下可以不用,只有在并发达到一定程度才启用呢?


A:消息中间件结合业务场景选单一种就行了。各类中间件各有优劣 2.消息中间件适用于通信场景,比如消息一对一、广播通信等。由于消息中间件这种队列的数据结构特点,也可以用于数据一致性的场景。


4

Q:分布式实例是在不同的主机上的,文件如何能够做到同步?


A:文件也是数据,所以这个问题与数据的同步解决方案类似。这里可能要考虑的是相同的文件,在不同的主机下,如何拥有相同的标识,比如各类网盘。系统可以每个上传文件一个哈希值.也就是文件的唯一识别码,这样可以在同步时,可以根据这个唯一码进行对比。


5

Q:分布式,微服务这些都需要在什么情况下使用?分布式最终实现了什么目的?如果非必须的,是否要上分布式呢?


A:大型、业务复杂的系统需要; 分布式本质是为了解决单机的所存在的问题,比如性能瓶颈、扩展、容错等; 分布式系统第一定律“能不要上分布式系统就不要上”。


小伙伴们冲鸭,后台留言区等着你!

关于分布式,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……

同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~


福利

扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!



推荐阅读:


真香,朕在看了!
登录查看更多
0

相关内容

数据一致性通常指关联数据之间的逻辑关系是否正确和完整。 在数据有多分副本的情况下,如果网络、服务器或者软件出现故障,会导致部分副本写入成功,部分副本写入失败。这就造成各个副本之间的数据不一致,数据内容冲突。 实践中,导致数据不一致的情况有很多种,表现样式也多种多样,比如数据更新返回操作失败,事实上数据在存储服务器已经更新成功。
【阿里技术干货】知识结构化在阿里小蜜中的应用
专知会员服务
96+阅读 · 2019年12月14日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
腾讯推荐引擎组员工:谈谈推荐系统架构
腾讯大讲堂
14+阅读 · 2019年10月23日
阿里技术大牛:一份架构师成神路线图!
51CTO博客
30+阅读 · 2019年7月6日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
亿级订单数据的访问与存储,怎么实现与优化?
码农翻身
16+阅读 · 2019年4月17日
蚂蚁金服微服务实践(附演讲PPT)
开源中国
18+阅读 · 2018年12月21日
可能是讲分布式系统最到位的一篇文章
InfoQ
8+阅读 · 2018年11月19日
为什么分布式一定要有消息队列?
互联网架构师
4+阅读 · 2018年7月5日
A survey on deep hashing for image retrieval
Arxiv
14+阅读 · 2020年6月10日
Heterogeneous Graph Transformer
Arxiv
27+阅读 · 2020年3月3日
Arxiv
20+阅读 · 2019年11月23日
Heterogeneous Deep Graph Infomax
Arxiv
12+阅读 · 2019年11月19日
dynnode2vec: Scalable Dynamic Network Embedding
Arxiv
14+阅读 · 2018年12月6日
Arxiv
9+阅读 · 2018年5月7日
Arxiv
5+阅读 · 2018年3月28日
VIP会员
相关资讯
腾讯推荐引擎组员工:谈谈推荐系统架构
腾讯大讲堂
14+阅读 · 2019年10月23日
阿里技术大牛:一份架构师成神路线图!
51CTO博客
30+阅读 · 2019年7月6日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
亿级订单数据的访问与存储,怎么实现与优化?
码农翻身
16+阅读 · 2019年4月17日
蚂蚁金服微服务实践(附演讲PPT)
开源中国
18+阅读 · 2018年12月21日
可能是讲分布式系统最到位的一篇文章
InfoQ
8+阅读 · 2018年11月19日
为什么分布式一定要有消息队列?
互联网架构师
4+阅读 · 2018年7月5日
相关论文
A survey on deep hashing for image retrieval
Arxiv
14+阅读 · 2020年6月10日
Heterogeneous Graph Transformer
Arxiv
27+阅读 · 2020年3月3日
Arxiv
20+阅读 · 2019年11月23日
Heterogeneous Deep Graph Infomax
Arxiv
12+阅读 · 2019年11月19日
dynnode2vec: Scalable Dynamic Network Embedding
Arxiv
14+阅读 · 2018年12月6日
Arxiv
9+阅读 · 2018年5月7日
Arxiv
5+阅读 · 2018年3月28日
Top
微信扫码咨询专知VIP会员