分佈式佈局簡述

 

前臺服務和後臺服務須要爲用戶提供服務,二者都要Service爲其提供服務。Service在Zookeeper中註冊服務,cotroller和portal在須要服務時直接在zookeeper 尋找服務。Dao層則負責服務的具體實現.數據庫

  1. Dao 層作數據持久層的工做,負責與數據庫進行聯絡的任務都在Dao層。
  2. Service 負責業務模塊的邏輯應用設計。
  3. Controller 層負責具體的業務模塊流程控制,調用Service 層的接口來實現控制業務流程。

使用doubbo把項目拆分後:設計模式

  1. Controller做爲一個項目的消費者。
  2. Service和Dao做爲服務的提供者。
  3. Zookeeper做爲doubbo服務的註冊中心,能夠作到集羣管理數據。

當Service封裝到Controller中時,就是ssm設計模式。同時會使先後臺都分別要有對應服務,即在同一臺服務器上進行服務。而經過zookeeper能夠是數據管理更有效,服務效率更高。緩存

當大量用戶訪問同一個互聯網業務,會有不少問題:高吞吐,高併發,低延遲和負載均衡。服務器

高吞吐,即同時承載大量用戶的使用。整個系統同時服務的用戶數,這個吞吐量可定不是一臺服務器能夠解決的。因此就須要多臺服務器同時協調服務。架構

高併發是高吞吐的一個延伸需求,當咱們承載海量用戶時,但願每臺服務器能及其所能的工做,最好不要出現無謂的消耗和等待的狀況。併發

低延時,要求咱們在大量用戶訪問時很快地返回計算結果。負載均衡

負載均衡,是爲了有效的應對用戶來源的複雜性。要讓同時發生的請求有效的讓多個不一樣的服務器承載。分佈式

產生的問題:高併發

  1. 如何利用多臺服務器,不讓一部分服務器影響整個系統的處理能力。
  2. 如何既可能多的處理任務,減小消耗。
  3. 請求的分揀和轉發,如何儘量讓請求較快獲得處理。

分佈式系統就是爲了解決這些問題的基本方法。性能

分佈式架構:

  1. 系統訪問的特色遵循二八定律,即80%的業務訪問集中在20%的數據上。將數據庫中訪問集中的一部分數據儲存在緩存服務器上,減小數據庫的訪問次數,下降數據庫的訪問壓力。
  2. 多臺服務器經過負載均衡同時向外部提供服務,解決單臺服務器處理能力和存儲上限的問題。
  3. 系統上按照業務進行拆分改造,應用服務器按照業務區分進行分別部署。
  4. ZooKeeper是一個分佈式的,開放源碼的分佈式應用程序協調服務。它是一個爲分佈式應用提供一致性服務的軟件,提供的功能包括:配置維護、名字服務、分佈式同步、組服務等。目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。
相關文章
相關標籤/搜索