一,簡單問題復雜化:
100公里/1小時的速度,在日常生活中是比較常見的速度,把它轉換為其它單位:
100公里/1小時 ≈ 28米/1秒
100公里/1小時 ≈ 2800厘米/秒
如果想要無人駕駛汽車達到厘米級的位移監(jiān)測。探測器掃描路況時,每秒上傳2800次數(shù)據(jù)給PC機。若一輛汽車有10個探測器,就意味著每秒的并發(fā)量為2.8W次/秒。
2.8W次/秒的并發(fā)量,在網(wǎng)站上肯定會采用分布式,緩存,讀寫分離,集群技術,關鍵還有這個數(shù)據(jù)的存儲,到底用二維數(shù)據(jù)庫,還是用NOSQL。這些問題是不是讓你很頭痛?
二,復雜問題簡單化:
1個監(jiān)測器對應1個線程,10個監(jiān)測器對應10個線程。假設10個線程同時往數(shù)據(jù)庫里寫數(shù)據(jù),顯然不是一個明智的做法。
假設,開啟一個Cache,10個線程同時往Cache里寫數(shù)據(jù)。這兒要注意線程同步,內(nèi)存溢出問題。
另外開啟一個監(jiān)控Cache的線程,這個線程主要三件事,1,監(jiān)測Cache的數(shù)據(jù)變化,2,過慮Cache的冗余數(shù)據(jù),3,持久化Cache數(shù)據(jù)到存儲介質(zhì)。用個示意圖表示一下:
三,萬物歸一