AMQP消息實現 Apache Qpid
Apache Qpid (Open Source AMQP Messaging) 是一個跨平臺的企業通訊解決方案,實現了高級消息隊列協議。提供了 Java、C++ 兩種服務端版本以及 Java、C++、.NET、Python和Ruby語言的客戶端。
其中C++版本的服務器端具備高性能/低消耗以及RDMA支持,可運行于Windows/Linux和Solaris平臺;而Java版本的服務器則支持JMS,以及各種平臺。
關于RDMA的相關知識:
RDMA(Remote Direct Memory Access)是通過網絡把資料直接傳入某臺計算機的一塊存儲區域,不需用到多少計算機的處理功能。普通網卡集成了支持硬件校驗和的功能,并對軟件進行了 改進,從而減少了發送數據的拷貝量,但無法減少接收數據的拷貝量,而這部分拷貝量要占用處理器的大量計算周期。普通網卡的工作過程如下:先把收到的數據包 緩存到系統上,數據包經過處理后,相應數據被分配到一個TCP連接。下一步,接收系統再把主動提供的TCP數據同相應的應用程序聯系起來,并將數據從系統 緩沖區拷貝到目標存儲地址。以太網已能滿足高性能應用對網絡吞吐率的要求,具備高吞吐率和成本優勢,以太網技術要跟高性能網絡應用掛鉤,主要解決的問題是 應用吞吐率。通常情況下,系統持續在主機CPU中處理以太網通信需要占用CPU資源。CPU速率會制約網絡數據率;持續處理這類通信會導致CPU性能降 級;對多端口千兆位或單端口10千兆位以太網,這類問題會變得更為嚴重。
本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!