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

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 真香,朕在看了!
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值