icestorm 是乙個高效的publish/subscribe服務
icebox類似於tomcat,裡面可以載入多個伺服器例項(應用)。
icegrid為ice提供的分布式系統架構,由乙個ice registry + n個ice grid node組成。
icediscovery提供了乙個使用udp多播的位置服務,它使ice應用程式能夠發現物件和物件介面卡。icediscovery是乙個ice外掛程式,必須將其安裝在應用程式的所有客戶端和伺服器中。安裝後,icediscovery使客戶端可以使用間接**來動態定位物件,從而避免了客戶端靜態配置其使用的物件的端點的需要。在伺服器中,icediscovery使物件和物件介面卡可用於發現而無需花費額外的精力。
glacier2是ice應用程式的路由器防火牆,它解決了常見的防火牆穿越問題,對客戶端或伺服器(或防火牆管理員)的影響最小。
首先使用slice語言定義中立的服務介面檔案,然後採用相應語言的命令列編譯生成對應的程式骨架原始檔,最後實現服務端業務**開發,部署服務,然後客戶端利用ice提供的執行期客戶端library(jar檔案)實現遠端服務方法呼叫。詳細流程如下:
1、分析和設計系統的服務:採用面向服務架構或者「微服務」的設計理念進行系統分析和設計,確定系統中的「服務」單元、每個服務的介面及服務之間的依賴關係。
2、服務介面定義:採用ice slice語言對服務介面進行定義,並用slice工具編譯成你所熟悉的開發語言的實現**,這些實現**包括服務端和客戶端骨架**,可以認為是專案中的「公共」包。
3、服務端業務邏輯實現:在slice生成的服務端**上進行業務邏輯**的編寫,在這個過程中除了在服務之間相互呼叫時用到ice的一些api外,在絕大多數情況下,不會用到ice的**。
4、編寫icegrid的服務描述文件:***grid.xml,此文件類似於j2ee的web.xml或ejb的服務描述檔案,定義了每個服務的訪問位址(endpoint)、部署的節點(ice node)、負載均衡策略(replica-group)等關鍵資訊。
5、打包**並部署到各個ice node上,啟動icegrid,借助ice工具發布***grid.xml,服務端工作至此基本完成。很重要的一點是,借助ice平台提供的工具,你可以很方便地將***grid.xml中的服務重新規劃和部署到新的節點上,而客戶端無須重啟和改變任何**。
6、編寫客戶端軟體,訪問部署好的服務,並有針對性地效能測試和調優。
一些知識點
字串拼接 1.a join b a為元素之間的分隔符,b為待分割的序列 可用於輸出時的資料處理,元素間有空格,末尾沒有 2 s s s str1,str2,str3 前半部分為字串,後半部分為索引。用於引入,s是物件 3.format str1,str2,str3 與f 括號裡為已有變數 關於for...
一些知識點
1.vector是在堆上還是棧上?在堆上.2.我們發現指標有一些 似是而非 的特徵 1 指標消亡了,並不表示它所指的記憶體會被自動釋放。比如函式中的指標是區域性變數,如果它指向了堆上,而自己出了函式後消亡了,但它所指向的記憶體還是存在的,導致了記憶體洩漏.2 記憶體被釋放了,並不表示指標會消亡或者成...
一些知識點
1 sln 解決方案檔案 csproj 專案檔案 cs 原始檔 解決方案包含多個專案,每個專案都是乙個程式。config 配置檔案 3 const int a 1 const 定義乙個量為常量,運算中用到當常量使用,不可以再重新賦值。4 型別轉換。1 隱式轉換。從值型別轉換成引用型別。從引用型別轉換...