分布式精华问答:分布式环境下如何保持数据一致性的?| 技术头条
分布式開發的時代實際上早已悄悄地成為了時代的主流,今天,我們就來看看關于分布式的精華問答吧!
1
Q:分布式系統中主要是用到了服務化,消息中間件,數據庫拆分,便于橫向擴展和維護,但分布式系統中的拆分的這個維度該怎么把握?拆分后面臨的分布式事務用什么方式處理比較好?分布式中soa框架有dubbo、motan及spring cloud的spring全家桶,這些技術該怎么選擇?
A:以微服務為例,拆分遵守幾種原則,如單一職責、高內聚低耦合等,拆分的顆粒度足夠小即可便于開發;但不要過小,過小的化微服務的數量也會激增,管理這些大批量的服務也將會是一個挑戰。 分布式事務常用的方式有兩階段提交、三階段提交、paxos算法等。
Q:分布式環境下如何保持數據一致性的?分布式事務嗎?
A:分布式系統的一致性有多種模型,如嚴格一致性、持續一致性、最終一致性等,分布式事務算法常用的有2PC、3PC、Paxos 各有優缺點,實際案例可以參考 Chubby、Hypertable、Zookeeper等。
Q:消息中間件的選擇上,能否單用kafka不用其他,還是說根據不同業務場景選用不同的消息中間件。一般在什么情景下使用消息中間件呢?是否在并發程度不是很高的情況下可以不用,只有在并發達到一定程度才啟用呢?
A:消息中間件結合業務場景選單一種就行了。各類中間件各有優劣 2.消息中間件適用于通信場景,比如消息一對一、廣播通信等。由于消息中間件這種隊列的數據結構特點,也可以用于數據一致性的場景。
Q:分布式實例是在不同的主機上的,文件如何能夠做到同步?
A:文件也是數據,所以這個問題與數據的同步解決方案類似。這里可能要考慮的是相同的文件,在不同的主機下,如何擁有相同的標識,比如各類網盤。系統可以每個上傳文件一個哈希值.也就是文件的唯一識別碼,這樣可以在同步時,可以根據這個唯一碼進行對比。
Q:分布式,微服務這些都需要在什么情況下使用?分布式最終實現了什么目的?如果非必須的,是否要上分布式呢?
A:大型、業務復雜的系統需要; 分布式本質是為了解決單機的所存在的問題,比如性能瓶頸、擴展、容錯等; 分布式系統第一定律“能不要上分布式系統就不要上”。
小伙伴們沖鴨,后臺留言區等著你!
關于分布式,今天你學到了什么?還有哪些不懂的?除此還對哪些話題感興趣?快來留言區打卡啦!留言方式:打開第XX天,答:……
同時歡迎大家搜集更多問題,投稿給我們!風里雨里留言區里等你~
福利
掃描添加小編微信,備注“姓名+公司職位”,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!
推薦閱讀:
分布式架構系列: 負載均衡技術詳解 | 技術頭條
00后的AI開發者進階之道:從入門到鏖戰MIT編程大賽 | 人物志
吃了公司零食被指“偷吃”,外包怎么了?
ICPC 2019國際大學生程序設計競賽,中國高校未能奪冠
EOS現狀: 72%應用涉賭被列為高危, 說好的詩和遠方, 你竟淪落成了這樣?
涼山火災啟示錄:面對大火,AI 能做些什么?
真香,朕在看了!
總結
以上是生活随笔為你收集整理的分布式精华问答:分布式环境下如何保持数据一致性的?| 技术头条的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Boost::beast模块的同步h
- 下一篇: scp啥意思