SEARU.ORG
当前位置:SEARU.ORG > Linux 新闻 > 正文

Qpid Proton 0.11.0 发布,高性能/轻量级通讯库

Qpid Proton 0.11.0 发布,Proton 是高性能,轻量级通讯库。

此版本更新内容如下:

新特性和改进

  • PROTON-948 – remove deprecated methods on the Message

  • PROTON-964 – Proton-J extensible event types

  • PROTON-972 – Support the heartbeat option in BlockingConnection

  • PROTON-980 – Enable handler processing the event after child handlers have processed it

  • PROTON-981 – Make JythonTest extendable

  • PROTON-982 – Make proton python tests compatible with unittest

  • PROTON-984 – Document proton-j time units

  • PROTON-997 – Allow proton-j handler to be extended by a jython class

  • PROTON-1011 – Go example of plain event-driven broker.

  • PROTON-1016 – Jython implements long with a BigInteger

  • PROTON-1036 – c++: engine API for integration with external IO frameworks

Bugs 修复

  • PROTON-892 – pn_data_t capacity does not grow above 32768 items

  • PROTON-937 – LinkImpl.localOpen() does not initialize source and target

  • PROTON-949 – proton doesn’t build with ccache swig

  • PROTON-952 – Building Proton with python 2.6 and python 3.4 on Travis CI finds and links wrong libpython

  • PROTON-971 – [proton-j] multi-frame deliveries may be broken when sent if buffered along with a futher delivery for the same link

  • PROTON-974 – single symbol for mechanisms in sasl-mechanisms not recognised

  • PROTON-977 – handler appears to get ignored

  • PROTON-990 – [C++ binding] Examples fail to link in Visual Studio 2012, 2015

  • PROTON-1003 – ssl transport layer does not define an error handler

  • PROTON-1006 – Sending pre-settled messages over the python blocking api waits indefinetly

  • PROTON-1008 – Using a blank mech_list disables authentication

  • PROTON-1010 – BlockingConnection leaks sockets after close() is called

  • PROTON-1013 – Documentation: CyruSASL missing as an optional dependency

  • PROTON-1015 – Documentation: typos in the C++ tutorial

  • PROTON-1018 – Crash in pn_transport_finalize(transport.c) when logging level set to PN_TRACE_DRV

  • PROTON-1019 – Documentation: typos in the C++ API documentation

  • PROTON-1023 – Incorrect handling of failed attach for BlockingConnection

  • PROTON-1024 – Disconnect during close not handled correctly in BlockingConnection

  • PROTON-1028 – BlockingConnection leaks due to cyclical reference

  • PROTON-1029 – Do not fail hard if strerror_r fails.

  • PROTON-1030 – Reactor never freed if handler/global_handler set

  • PROTON-1031 – [python] Bump the module version to 0.11.0

  • PROTON-1033 – Update the revision of the libqpid-proton library to 4

  • PROTON-1034 – [Go binding] Windows build fails if Go language is installed but no gcc tool kit

  • PROTON-1042 – Can’t distinguish between null target and null address on a target

下载:http://qpid.apache.org/download.html

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千兆位以太网,这类问题会变得更为严重。

未经允许不得转载:SEARU.ORG » Qpid Proton 0.11.0 发布,高性能/轻量级通讯库

赞 (0)
分享到:更多 ()

评论 0