高性能/輕量級通訊庫,Qpid Proton 0.11.0 發布
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千兆位以太網,這類問題會變得更為嚴重。
Qpid Proton 0.11.0 發布,Proton 是高性能,輕量級通訊庫。此版本更新內容如下:
新特性和改進
-
PROTON-948 - remove deprecated methods on the Message
</li> -
PROTON-964 - Proton-J extensible event types
</li> -
PROTON-972 - Support the heartbeat option in BlockingConnection
</li> -
PROTON-980 - Enable handler processing the event after child handlers have processed it
</li> -
PROTON-981 - Make JythonTest extendable
</li> -
PROTON-982 - Make proton python tests compatible with unittest
</li> -
PROTON-984 - Document proton-j time units
</li> -
PROTON-997 - Allow proton-j handler to be extended by a jython class
</li> -
PROTON-1011 - Go example of plain event-driven broker.
</li> -
PROTON-1016 - Jython implements long with a BigInteger
</li> -
PROTON-1036 - c++: engine API for integration with external IO frameworks
</li> </ul>Bugs 修復
-
PROTON-892 - pn_data_t capacity does not grow above 32768 items
</li> -
PROTON-937 - LinkImpl.localOpen() does not initialize source and target
</li> -
PROTON-949 - proton doesn't build with ccache swig
</li> -
PROTON-952 - Building Proton with python 2.6 and python 3.4 on Travis CI finds and links wrong libpython
</li> -
PROTON-971 - [proton-j] multi-frame deliveries may be broken when sent if buffered along with a futher delivery for the same link
</li> -
PROTON-974 - single symbol for mechanisms in sasl-mechanisms not recognised
</li> -
PROTON-977 - handler appears to get ignored
</li> -
PROTON-990 - [C++ binding] Examples fail to link in Visual Studio 2012, 2015
</li> -
PROTON-1003 - ssl transport layer does not define an error handler
</li> -
PROTON-1006 - Sending pre-settled messages over the python blocking api waits indefinetly
</li> -
PROTON-1008 - Using a blank mech_list disables authentication
</li> -
PROTON-1010 - BlockingConnection leaks sockets after close() is called
</li> -
PROTON-1013 - Documentation: CyruSASL missing as an optional dependency
</li> -
PROTON-1015 - Documentation: typos in the C++ tutorial
</li> -
PROTON-1018 - Crash in pn_transport_finalize(transport.c) when logging level set to PN_TRACE_DRV
</li> -
PROTON-1019 - Documentation: typos in the C++ API documentation
</li> -
PROTON-1023 - Incorrect handling of failed attach for BlockingConnection
</li> -
PROTON-1024 - Disconnect during close not handled correctly in BlockingConnection
</li> -
PROTON-1028 - BlockingConnection leaks due to cyclical reference
</li> -
PROTON-1029 - Do not fail hard if strerror_r fails.
</li> -
PROTON-1030 - Reactor never freed if handler/global_handler set
</li> -
PROTON-1031 - [python] Bump the module version to 0.11.0
</li> -
PROTON-1033 - Update the revision of the libqpid-proton library to 4
</li> -
PROTON-1034 - [Go binding] Windows build fails if Go language is installed but no gcc tool kit
</li> -
PROTON-1042 - Can't distinguish between null target and null address on a target
</li> </ul>下載:http://qpid.apache.org/download.html
來自:http://www.oschina.net/news/68205/qpid-proton-0-11-0
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
-