Apache Dubbo |ˈdʌbəʊ| 是一款高性能、輕量級的開源Java RPC框架,它提供了三大核心能力:面向接口的遠程方法調用,智能容錯和負載均衡,以及服務自動註冊和發現。nginx
說明:接口項目通常定義公共的部分,而且被第三方依賴
redis
答:因爲zk的幫助,使得程序永遠能夠訪問正確的服務器.而且當服務重啓時,duboo有服務的自動發現功能,消費者不須要重啓便可以訪問新的服務.json
答: 用戶的訪問不受影響,因爲消費者在本地存儲服務列表信息,當訪問故障機時,自動的將標識信息改成down屬性.服務器
1.客戶端負載均衡
Dubbo/SpringCloud等微服務框架
cookie
2.服務端負載均衡
說明:客戶端發起請求以後,必須由統一的服務器進行負載均衡,全部的壓力都在服務器中.
NGINX
負載均衡
說明:在zk中數據的存儲採用樹形結構的方式保存
命令: [root@localhost bin]# sh zkCli.sh
查詢命令: ls /…
框架
說明:若是採用SESSION的方式實現用戶的登陸操做,因爲nginx負載均衡的策略,用戶能夠訪問不一樣的服務器.可是Session不能共享,因此致使用戶頻繁的登陸. 用戶的體驗很差.
微服務
單點登陸(SingleSignOn,SSO),就是經過用戶的一次性鑑別登陸。當用戶在身份認證服務器上登陸一次之後,便可得到訪問單點登陸系統中其餘關聯繫統和應用軟件的權限,同時這種實現是不須要管理員對用戶的登陸狀態或其餘信息進行修改的,這意味着在多個應用系統中,用戶只需一次登陸就能夠訪問全部相互信任的應用系統。這種方式減小了由登陸產生的時間消耗,輔助了用戶管理,是目前比較流行的性能
實現步驟:
1.當用戶輸入用戶名和密碼點擊登陸時,將請求發送給JT-WEB消費者服務器.
2.JT-WEB服務器將用戶信息傳遞給JT-SSO單點登陸系統完成數據校驗.
3.若是登陸成功,則動態生成密鑰信息,將user數據轉化爲json.保存到redis中. 注意超時時間的設定.
4.JT-SSO將登陸的憑證 傳給JT-WEB服務器.
5.JT-WEB服務器將用戶密鑰TICKET信息保存到用戶的cookie中 注意超時時間設定.
6.若是登陸不成功,則直接返回錯誤信息便可.spa