開源消息隊列系統,RabbitMQ 3.6.1 發布

jopen 8年前發布 | 15K 次閱讀

RabbitMQ是流行的開源消息隊列系統,本身已經具備了較強的并發處理速度及運行穩定性,然而在大規模的實際應用中,往往還需要使用集群配置來保證系統中消息通信部分的高可用性,并發處理性能及異常恢復能力。這里將介紹一種實用的消息集群架構,以及一種能夠快速、高效、可靠地部署并配置消息集群的方式,通過這種方法,我們可以在系統部署時僅需短短幾分鐘就能完成規模化的消息集群架設,極大地提高了工作效率和部署成功率。


RabbitMQ 3.6.1 發布了,該版本引入了 rabbit.channel_operation_timeout 參數。

完整改進記錄:

Server

Bug Fixes

  • Purging a lazy queue could result in an exception

    GitHub issue: rabbitmq-server#514

  • Ensure epmd is running before starting RabbitMQ node on Windows

    GitHub issue: rabbitmq-server#625

  • Channel error could make broker unreachable

    Those errors were misleadingly logged as channel_termination_timeout, which
    the issue really was with unhandled messages from concurrently closed TCP socket process.

    GitHub issue: rabbitmq-server#530

  • (Automatic) deletion of an auto-delete queue could lead
    to blocked channels

    GitHub issue: rabbitmq-server#581

  • During (from scratch) queue sync, queue master node didn't respect mirror alarm state.
    With large data sets this could drive mirror node out of memory.

    GitHub issue: rabbitmq-server#616

  • Changing password for users with non-standard (think broker configuration) password
    hashing function, for example, those migrated from 3.5.x releases, didn't update
    effective hashing function.

    GitHub issue: rabbitmq-server#623

  • Heavy and/or prolonged rabbitmqctl use could exhaust Erlang VM atom table

    GitHub issue: rabbitmq-server#549

  • "Min masters" queue master location strategy could result
    in an error.

    GitHub issue: rabbitmq-server#521

  • Fixed a race condition in pause_minority handling mode.

    GitHub issue: rabbitmq-server#307

  • Significantly reduce possibility of a race condition when
    an exchange is deleted and immediately re-declared, e.g. by a federation
    link.

    This could result in a link operation being blocked, preventing
    nodes from stopping.

    GitHub issue: rabbitmq-federation#7

  • amq.rabbitmq.log messages now have information about originating
    node in message headers

    GitHub issue: rabbitmq-server#595

  • scripts/rabbitmq-env now works with GNU sed 4.2.2

    GitHub issue: rabbitmq-server#592

  • Exceptions in VM memory use calculator no longer affect broker startup

    GitHub issue: rabbitmq-server#328

  • Direct Reply-to capability is now advertised to clients

    GitHub issue: rabbitmq-server#520

Enhancements

  • Paths with non-ASCII characters on Windows are now handled

    RabbitMQ now can be installed into a location with non-ASCII characters,
    e.g. when username contains them.

    GitHub issues: rabbitmq-server#493

  • Configurable number of TCP connection acceptors

    Plus a x10 increase of the default. This helps with workloads where connection
    churn is very high (e.g. all clients are PHP Web apps that cannot maintain
    long-lived connections).

    GitHub issues: rabbitmq-server#528

  • rabbitmqctl cluster_status now includes cluster-wide resource alarm status

    GitHub issue: rabbitmq-server#392

  • Windows installer no longer jumps over installation log

    GitHub issue: rabbitmq-server#634

  • Improved rabbitmqctl reset error messages

    GitHub issue: rabbitmq-server#167

  • More unsigned field data types are supported.

    GitHub issue: rabbitmq-server#20

Java client

Enhancements

Bug Fixes

.NET client

Bug Fixes

Federation Plugin

Bug Fixes

  • Significantly reduce possibility of a race condition when
    an exchange is deleted and immediately re-declared, e.g. by a federation
    link

    This rendered federation links dysfunctional.

    GitHub issue: rabbitmq-federation#7

Management plugin

Vulnerability Fixes

  • CVE-2015-8786: user-provided query parameters lengths_age and lengths_incr had no validation
    and could be used to exhaust server resources.

    The attacker needs to have access to HTTP API (authenticate successfully and have sufficient
    tags to pass authorisation) in order to carry out the attack.

    There is no workaround for earlier releases.

    Kudos to Vladimir Ivanov (Positive Technologies) for the responsible disclosure.

    GitHub issue: rabbitmq-management#97

Enhancements

  • Password hashing function is now included in exported definitions

    Those upgrading from versions earlier than 3.6.0 via definitions export
    won't have to temporarily set hashing function to MD5 to ensure export succeeds.

    GitHub issue: rabbitmq-management#117

Bug Fixes

Federation Management plugin

Enhancements

Erlang client

Bug Fixes

STOMP plugin

Bug Fixes

  • durable and persistent headers weren't always used interchangeably,
    leading to non-durable subscriptions

    GitHub issue: rabbitmq-stomp#58

  • Client heartbeat timeouts resulted in confusing error messages
    in broker log.

    GitHub issues: rabbitmq-stomp#63

Web STOMP plugin

Bug Fixes

Web STOMP Examples plugin

Bug Fixes

Event Exchange plugin

Bug Fixes

  • Event timestamps are now in seconds, not milliseconds

    Per AMQP 0-9-1 spec. This is not a particularly great choice for events,
    so we will add an optional header with millisecond precision in a future release.

    GitHub issue: rabbitmq-event-exchange#8

JSON RPC plugin

Note: this plugin is deprecated and its use is highly discouraged.

Enhancements

下載地址:

https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_1

來自: http://www.oschina.net//news/71148/rabbitmq-3-6-1-final

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