回覆列表
-
1 # 資深IT老張
-
2 # 狂客說技術
最快最便捷的方式是springcloud分散式框架!
非常容易上手,門檻比dubbo低不少,而且生態最完善,文件最詳細也最多的一個分散式架構。提供常用的分散式中介軟體。
閘道器提供Zuul和Spring Cloud Gateway。做鑑權,日誌,分發等。服務註冊中心,提供Eureka、Zookeeper和Consul等。服務間呼叫中介軟體Hystrix、Ribbon和OpenFeign。配置中心,訊息匯流排,鏈路跟蹤,佇列,配置中心等。基本上分散式框架用到的技術它都有完善的接入指南!
-
3 # 微捷Kevin
目前主流的java分散式架構構建方案:
1,基於spring cloud的微服務架構,以spring cloud gateway為群集閘道器,eureka進行服務治理,open feign進行服務分發和消費管理。
2,以docker進行服務打包,簡化部署任務。
3,以kubernetes進行docker容器編排以及群集計算資源管理
4,Hadoop 進行分散式儲存管理
5,redis作為快取及執行時資料管理,群集計算模式中,你不能再在應用程式內部儲存全域性資料。
6,以rabbitmq作為應用間訊息傳遞
以上是構建java分散式應用的電型開源方案,當然還有其它的商用或者開源方案,不過基於spring cloud專案構建分散式應用是最為簡易高效低成本的方案。
有 SOA的思想, RESTful API得整個明白,且大量應用;
有 統一登入,身份認證與授權的想法, token的定義與失效機制,加解密的處理;
有 檔案伺服器,提供靜態檔案的讀寫服務 (包裝成熟可靠的API),CDN的概念;
有 訊息佇列的想法,且適當應用,比 ActiveMQ,Kafka;
有 快取管理的概念,且大量運用,比如 Memecache, Redis等;
有 web伺服器叢集,負載均衡的想法,會玩 Nginx,HAProxy 等;
有 資料庫叢集的概念,能玩 主從資料庫複製,讀寫分離 等;
有高階網路程式設計的概念,同步非同步的應用,多執行緒的處理,socket程式,非阻塞的IO處理;
對 https, tcp/ip,telnet有深入理解與應用;
有對系統的容錯機制處理,能做預警處理;
能設計高可用 (冷熱備份,異地多活 等)的系統;
有對當下流行的系統設計框架的理解與應用 等;
宣告搞分散式系統,時間成本 與 資源成本 得先考慮好;
優秀的系統,都是一步步分階段來演繹的。
(結束)