Qpid Proton 0.11.0 发布,高性能/轻量级通讯库
欢迎加入运维网交流群:263444886Qpid 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>
[*] 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 - 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 - 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 - Bump the module version to 0.11.0
[*] PROTON-1033 - Update the revision of the libqpid-proton library to 4
[*] PROTON-1034 - 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千兆位以太网,这类问题会变得更为严重。
页:
[1]