回覆列表
  • 1 # 資深IT老張
    分散式系統的架構與設計,可能要按實際專案升級的需要來演繹,需要:

    有 SOA的思想, RESTful API得整個明白,且大量應用;

    有 統一登入,身份認證與授權的想法, token的定義與失效機制,加解密的處理;

    有 檔案伺服器,提供靜態檔案的讀寫服務 (包裝成熟可靠的API),CDN的概念;

    有 訊息佇列的想法,且適當應用,比 ActiveMQ,Kafka;

    有 快取管理的概念,且大量運用,比如 Memecache, Redis等;

    有 web伺服器叢集,負載均衡的想法,會玩 Nginx,HAProxy 等;

    有 資料庫叢集的概念,能玩 主從資料庫複製,讀寫分離 等;

    有高階網路程式設計的概念,同步非同步的應用,多執行緒的處理,socket程式,非阻塞的IO處理;

    對 https, tcp/ip,telnet有深入理解與應用;

    有對系統的容錯機制處理,能做預警處理;

    能設計高可用 (冷熱備份,異地多活 等)的系統;

    有對當下流行的系統設計框架的理解與應用 等;

    宣告

    搞分散式系統,時間成本 與 資源成本 得先考慮好;

    優秀的系統,都是一步步分階段來演繹的。

    (結束)

  • 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專案構建分散式應用是最為簡易高效低成本的方案。

  • 中秋節和大豐收的關聯?
  • 無名指發木是怎麼回事?