1. 程式人生 > >如何使用開源專案並且快速應用到自己的專案中,來看阿里大牛們的總結!

如何使用開源專案並且快速應用到自己的專案中,來看阿里大牛們的總結!

 簡單來說:如果你的業務要求1000 TPS,那麼一個20000 TPS 和50000 TPS的方案是沒有區別的。有的人可能會擔心我TPS不斷上漲怎麼辦?其實不用擔心,我們的架構會不斷演進的,等到真的需要這麼高的時候我們再來架構重構,記住:不要過早優化,過早優化是萬惡之源 —— 《UNIX程式設計哲學》

聚焦是否成熟?


可以從以下幾個方面考察是否成熟:

1)版本號:一般建議除非特殊情況,否則不要選0.X版本的,至少選1.X版本的,版本號越高越好。
2)使用的公司數量:一般開源專案都會把採用了自己專案的公司列在主頁上,公司越大越好,數量越多越好
3)社群活躍度:看看社群是否活躍,發帖數、回覆數、問題處理速度等

聚焦運維能力?


可以從以下幾個方案去考察運維能力:

1)開源方案日誌是否齊全:有的開源方案日誌只有寥寥啟動停止幾行,出了問題根本無法排查
2)開源方案是否有命令列、管理控制檯等維護工具,能夠看到系統執行時的情況
3)開源方案是否有故障檢測和恢復的能力,例如告警、倒換等

案例2:很多團隊最初使用MySQL的時候,也沒有怎麼研究過,經常有業務部門抱怨MySQL太慢了,其實經過定位,發現最關鍵的幾個引數(例如innodb_buffer_pool_size, sync_binlog,innodb_log_file_size等)都沒有配置或者配置錯誤,效能當然會慢。

用:如何使用開源方案?

深入研究,仔細測試


可以從如下幾方面進行研究和測試:

1)通讀開源專案的設計文件或者白皮書,瞭解其設計原理
2)核對每個配置項的作用和影響,識別出關鍵配置項
3)進行多種場景的效能測試
4)進行壓力測試,連續跑幾天,觀察cpu、記憶體、磁碟io等指標波動
5)進行故障測試:kill,斷電、拔網線、重啟100次以上、倒換等