博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分布式精华问答:分布式环境下如何保持数据一致性的?| 技术头条
阅读量:2488 次
发布时间:2019-05-11

本文共 1104 字,大约阅读时间需要 3 分钟。

640?wx_fmt=png

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

640?wx_fmt=gif1

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

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

640?wx_fmt=gif2

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

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

640?wx_fmt=gif3

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

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

640?wx_fmt=gif4

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

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

640?wx_fmt=gif5

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

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

640?wx_fmt=png

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

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

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

福利

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

640?wx_fmt=jpeg

推荐阅读:

640?wx_fmt=png
真香,朕在看了!

转载地址:http://mdxrb.baihongyu.com/

你可能感兴趣的文章
iOS开发的一些奇巧淫技
查看>>
常浏览的博客和网站
查看>>
Xcode 工程文件打开不出来, cannot be opened because the project file cannot be parsed.
查看>>
iOS在Xcode6中怎么创建OC category文件
查看>>
5、JavaWeb学习之基础篇—标签(自定义&JSTL)
查看>>
8、JavaWEB学习之基础篇—文件上传&下载
查看>>
reRender属性的使用
查看>>
href="javascript:void(0)"
查看>>
h:panelGrid、h:panelGroup标签学习
查看>>
f:facet标签 的用法
查看>>
<h:panelgroup>相当于span元素
查看>>
java中append()的方法
查看>>
必学高级SQL语句
查看>>
经典SQL语句大全
查看>>
log日志记录是什么
查看>>
<rich:modelPanel>标签的使用
查看>>
<h:commandLink>和<h:inputLink>的区别
查看>>
<a4j:keeyAlive>的英文介绍
查看>>
关于list对象的转化问题
查看>>
VOPO对象介绍
查看>>