問題驅動一:“網際網路架構為什麼要做服務化”問題記錄與思考

cyril發表於2017-12-14

描述:想寫這個系列的原因是,在看完一篇技術文章時,最喜歡的就是翻看下面的評論,有很多人就文章提出的問題和困惑讓會讓我的思路更寬廣,同時能更好的去思考文章或推敲文章所談的內容,所以決定記錄下那些讓我覺得很好的評論提問或回覆,並以此來重新思考,希望大家可以一起討論和指正。 ##文章內容回溯 原文連結 這篇文章是58沈劍 在架構師之路系列裡寫的一篇文章《網際網路架構為什麼要做服務化》,我在此總結下文章的內容(圖片引自原文): ####一:服務化之前的高可用架構介紹

常見網際網路高可用架構
此時該架構遇到的痛點是: 程式碼到處拷貝(每個業務線會有一些交叉的業務功能實現),複雜性擴散(比如如果要引入快取或者分庫分表,那麼所有業務線都要進行改造),庫的複用與耦合(公用的資料庫表因業務A需要進行了改造,為了相容也要通知業務B同步升級),SQL質量得不到保障(所有的業務線人員都要寫sql,沒有經驗的人員會寫出慢sql並會影響其他業務線的查詢)等等 ###二:服務化解決什麼問題?
服務化的網際網路高可用架構
服務話的出現能夠較為合適的解決上述架構帶來的問題,比如: 避免了程式碼的到處拷貝,業務方只需要呼叫下游服務;複雜性不會擴散,上游業務方不用關注分庫分表等底層技術實現;庫不在因為join而耦合,一個服務對應一個表;底層服務可以讓高階或資深java工程師來負責,避免了一些經驗較少的程式設計師寫出質量差的sql

###問題 文章內容總結如上,當然主要還是說服務化解決了什麼問題,而不是要盲目的去服務化,每個階段都有核心問題,服務化隨之帶來的挑戰也是很大的,那麼我們基於要解決上面的痛點為前提,不再討論究竟要不要服務化了,我歸納的評論區問題如下:

相關文章