spider RPC更新至2.0.0-RELEASE

spider使用java語言開發,使用Spring做爲IoC容器,採用TCP/IP協議,在此基礎上,結合SaaS金融交易系統的特性進行鍼對性和重點設計,以更加靈活和高效的知足金融交易系統多租戶、高可用、分佈式部署的要求。spider默認採用JSON做爲序列化機制,後續版本可能會考慮支持protobuf(java/c++/c#均有類庫支持)。 爲了最大化性能以及穩定性,spider基於Oracle JDK1.8進行編譯並應避免使用deprecated特性。 爲了儘量的適應各環境以及互聯網應用,spider應能至少運行於tomcat/jboss應用服務器或原生java下。java

spider託管地址:https://git.oschina.net/zhjh256/io-spidermysql

最重要的是,spider天天已在金融生產系統穩定運行很長一段時間,而且天天有數億的成交金額經過它運行。
spider特性、設計和參考文檔、開發指南請參考http://git.oschina.net/zhjh256/io-spider

spider社區版部分主要特性包括:c++

    • 可以根據請求包裏面的功能號、子系統號進行靜態路由;
    • saas化。可以根據請求包裏面的機構號、產品(系統)號、版本號進行動態路由。

      saas架構的理想模式就是全部的業務實現均原生支持多租戶。
      若是作不到原生支持多租戶,按照一個租戶一個runtime,也須要動態可以設置某個runtime提供對哪一個客戶的支持,這確定不能讓運維動態更改配置文件,他只須要中心化指定便可。
      即便能作到,也須要支持動態可以設置某個app提供對哪一個客戶的支持,由於一個app僅可以提供對有限個客戶的支持,且mysql也不可能作到一個庫支持全部。
      反之,若是作不到原生支持多租戶,則app必須支持多數據源切換以及動態管理,由於一般一個客戶一般難以大到須要一個app去支持的程度。git

    • 支持服務器集羣中的各節點負載均衡(根據模式);
    • 支持基於中心化管理的大型部署和獨立管理的中小型部署;
    • 支持自動重連到斷開的服務器節點;
    • 支持中心化剔除已刪除的服務器節點;
    • 支持中心化增長服務器節點;
    • 支持中心化刪除服務器集羣;
    • 支持中心化增長服務器集羣;
    • 一個可執行組件,支持任什麼時候候節點(Work Node,WN)做爲路由服務器(Node Broker,NB)或處理服務器(Node Processor,NP);
    • 基於TCP/IP協議,支持客戶端語言無關;
    • 節點間技術上對等,即容許同時知足A是B的客戶端,B是A的客戶端,只要保證路由不造成死循環便可;
    • 支持報文加密;
    • 可以自動校驗報文是否被篡改;
    • 支持客戶端認證功能;
    • 支持報文壓縮;
    • 支持是否啓用服務端功能;
    • 可以中心化監控全部中間件的運行情況;
    • 支持基於java Spring IOC註解方式的Java原生式遠程服務調用;
    • 最小化節點本地(集中化)配置;
    • 支持List泛型;
    • 靈活的路由,任何服務均可以發送到任何集羣(暫不支持到具體的節點)。
相關文章
相關標籤/搜索