iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0
Software Development

從身邊神人大大身上學到的那些事系列 第 7

番外篇-分散式系統為什麼這麼複雜

  • 分享至 

  • xImage
  •  

今天想分享同事對於分散式系統的想法
聽完我也覺得深有同感,所以想把他記錄下來,也跟大家分享

在電腦的世界中,會覺得分散式很困難,是因為工程師們已經將很多分散式的問題在更底層的軟體中解決了

如果換個角度來想,我們現實的生活的所有流程,就是一個巨大的分散式系統

公司內部交辦工作,有可能你跟對方交辦了,不代表他就有辦法做到
有可能

  1. 裝死
  2. 沒收到email
  3. 做好了忘記回報

在跟朋友約吃飯,你跟他說10點吃飯
也有可能出現

  1. 他沒設鬧鐘睡過頭
  2. 他手錶故障,越跑越慢
  3. 中途火車誤點,所以遲到

這一切的一切在現實生活中都是如此的合理,也延伸出了各種不同的管理手法
而且重點是,就算有這麼多方法,也不是有辦法一招打天下
要依據各種現實狀況來採用不同的手法

而之前介紹到的DDIA之所以會這麼厚還只是淺談
不是因為裡面內容不夠充實,而是分散式系統就是一個這麼複雜的內容
會有各式各樣的事情原本硬體層或是作業系統層已經幫我們解決的,變成軟體開發人員要自己處理這些邏輯而已
而這些分散式系統的解決方案,很多也都是現實生活中常見的管理方式(但不一定互相通用,因為主角是人或是機器

比如最常見的
如果我想要知道一台機器現在處理一個資料的進度,我們可以(當然還有其他方式)

  1. 這台機器定期回報他的狀況,如果沒有定期回報就知道對方一定有問題,要另外處理
  2. 我們這邊定期去問他的狀況

在現實生活中,如果跟別人有約,也是一樣的狀況(但對方會很煩)

  1. 請對方定時回報在哪裡,沒回報就知道有問題了
  2. 三五分鐘就一直去問他在哪裡

最後我的感想是
在寫這些分散式系統的案例跟難點時,一開始會覺得怎麼這麼煩
但想到好像現實生活中也是如此,學這些知識好像就沒那麼痛苦了


上一篇
Use-the-index-luke 讀後筆記-3(where篇)
下一篇
Use-the-index-luke 讀後筆記-4(n+1 question與join)
系列文
從身邊神人大大身上學到的那些事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言