網際網路架構為什麼要做服務化?

2021-08-20 10:17:25 字數 796 閱讀 6443

1)使用者端是瀏覽器

browser

,客戶端

web-server

層是通過

dao/orm

等技術來訪問資料庫的。

各個業務線都是自己通過

dao寫

sql訪問

user

庫來訪問使用者資料,這無形中就導致了**的拷貝

。發現乙個bug,多個地方都需要修改

。sql

語句還是各個業務線拼裝的,資深的工程師寫出高質量的

sql沒啥問題,經驗沒有這麼豐富的工程師可能會寫出一些低效的

sql,

假如業務線

a寫了乙個全表掃瞄的

sql,導致資料庫的

cpu100%

,影響的不只是乙個業務線,而是所有的業務線都會受影響

。join

資料表來實現各自業務線的一些業務邏輯。

table-user,table-a,table-b,table-c都耦合在了一起。

,必須使用乙個大庫(瘋了,乙個大庫300多個業務表 =_=)。

user-service

,對業務線響應所用使用者資料的訪問。引入服務層有什麼好處,解決什麼問題呢?

業務方通過rpc訪問使用者資料,就像呼叫乙個本地函式一樣,非常之爽

sql訪問資料庫。

所有的sql

都是服務層提供的,業務線不能再為所欲為了

。底層服務對於穩定性的要求更好的話,可以由更資深的工程師維護,而不是像原來

sql難以收口,難以控制。

join

,難以拆分。

網際網路架構為什麼要做服務化?

服務化之前高可用架構 在服務化之前,網際網路的高可用架構大致是這樣乙個架構 使用者端是瀏覽器 browser 客戶端 2 後端入口是高可用的nginx集群,用於做反向 3 中間核心是高可用的web server集群,研發工程師主要編碼工作就是在這一層 4 後端儲存是高可用的db集群,資料儲存在這一層...

網際網路架構為什麼要做服務化?

1 使用者端是瀏覽器 browser 客戶端 web server 層是通過 dao orm 等技術來訪問資料庫的。各個業務線都是自己通過 dao寫 sql訪問 user 庫來訪問使用者資料,這無形中就導致了 的拷貝 發現乙個bug,多個地方都需要修改 sql 語句還是各個業務線拼裝的,資深的工程師...

網際網路架構為什麼要做服務化?

服務化之前高可用架構 在服務化之前,網際網路的高可用架構大致是這樣乙個架構 2 後端入口是高可用的nginx集群,用於做反向 3 中間核心是高可用的web server集群,研發工程師主要編碼工作就是在這一層 4 後端儲存是高可用的db集群,資料儲存在這一層 更典型的,web server層是通過d...