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...