高性能/輕量級通訊庫,Qpid Proton 0.11.0 發布

jopen 9年前發布 | 11K 次閱讀 Qpid Proton

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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
       轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
       本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!