近日 JBoss 发布了 HornetQ 项目,这是一个开源、多协议、嵌入式、高性能、集群、异步的消息系统。过去几年,JBoss Messaging 2.0 一直使用 HornetQ 的代码基。
发布声明对 HornetQ 的特性进行了更为深入细致的描述:
在设计 HornetQ 之初,可用性就一直占据着重要位置:我们提供了一个内容丰富、容易理解的用户手册以及快速上手指南,同时还发布了超过 65 个示例供用户快速体验,它向用户展现了 HornetQ 的方方面面,从简单的 JMS 使用到复杂的服务器集群以及高级功能。 灵活性也是 HornetQ 的一大特色:其优雅的基于 POJO 的设计将对第三方的依赖减至最低,既可以独立的消息代理方式运行,也可以集成到你所喜欢的 JEE 应用服务器中,还可以嵌入到自己的应用中,一切随你。
性能是 HornetQ 的又一大特色:我们特有的高性能解决方案为其提供了前所未有的持久化消息性能。当运行在Linux 上时会自动切换到本地模式,它使用了异步IO 以提供持久化的消息速率,这样就能充分利用磁盘的写能力。该可插拔的传输系统利用了 JBoss Netty 以提供极佳的性能和可伸缩性。
虽然 HornetQ 可以集成到 JBoss Application Server 中,但我们还是能以独立消息服务器的方式运行它:
HornetQ 不依赖于任何 JBoss Application Server 组件,事实上,HornetQ 核心只依赖于 JDK!
尽管我们可以轻松将 HornetQ 集成到 JBoss Application Server 中作为 JMS 提供者,但也可以在 JBoss Application Server 之外以独立的方式运行(功能上不会受到任何影响),甚至还可以通过依赖注入框架如 Spring 或是 Google Guice 对其进行实例化。
其项目 wiki 列出了当前发布中所包含的特性列表。
JBoss 也在 FAQ 中解释了 HornetQ 与 JBoss Messaging 2.0 之间的关系:
在过去几年中,JBoss Messaging 2.0 一直使用着 HornetQ 的代码基。 我们决定为其更名并将其划分出来成为一个独立项目,因为它在很多地方都与 JBoss Messaging 1.x 存在着很大差异,我们也不想将这两个迥异系统混淆起来。HornetQ 的大部分代码基都不同于 JBoss Messaging 1.x。
那么现在 JBoss Messaging 怎么样了呢?JBoss Messaging 1.x 还是在 JBoss Messaging 名下,只不过该项目目前仅仅处在维护状态下,所有新的消息开发都将在 HornetQ 项目上进行。
JBoss 旨在让 HornetQ 成为云中的消息提供者,同时我们也在致力于为消息操纵实现一个 RESTful 风格的 API。HornetQ 也将实现 AMQP 和本地 STOMP 支持以使其成为一个真正的多语言消息系统。
HornetQ 使用的是 Apache Software License 2.0 协议,不过有少量文件例外,他们使用的是 LGPL 协议,不久之后,JBoss 就将为这些文件提供调整的 ASL 协议。
可以在项目站点与 wiki 上找到关于 HornetQ 的更多信息。同时还有一个简短的指南有助于你迅速了解HornetQ 。
评论