写点什么

JBoss HornetQ 2.0.0.GA 发布,带有可选的本地 Linux 日志(Journal)文件系统以改进性能

  • 2010-01-18
  • 本文字数:1365 字

    阅读完需:约 4 分钟

去年夏天 JBoss 宣布将 JBoss Messaging 改弦易张为 HornetQ ,半年过去了,HornetQ 的首个 GA 版也终于破茧而出了。

HornetQ 是个开源的社区项目,用于构建多协议、嵌入式、高性能、集群及异步的消息系统。HornetQ 既能用于小型应用,也能用于大规模的企业消息系统中。

在 HornetQ 最初的声明中,JBoss 解释了 HornetQ 与 JBoss Messaging 2.0 之间的关系

在过去几年的开发中,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 项目上进行。

HornetQ 既可以独立的消息服务器的形式运行,也可以集成到 JBoss 应用服务器中:

HornetQ 完全不依赖于任何 JBoss 应用服务器组件。事实上,除了 JDK 和 Netty 之外,HornetQ 核心并不依赖于任何其他的程序库。我们可以轻松将其集成到 JBoss 应用服务器中以作为 JMS 提供源,同时也可以在 JBoss 应用服务器之外以独立的消息服务器的形式运行,功能上没有任何损失,甚至还可以在 IoC 框架(如 Spring 或 Google Guice)中对其进行实例化。除此以外,还可以将 HornetQ 直接嵌入到自己的应用中。

JBoss 说其定制的用于消息持久化的日志文件系统要比其竞争对手的使用关系数据库的解决方案快很多

HornetQ 通过其内置、高性能的日志文件系统对消息进行持久化。HornetQ 并没有使用笨重、缓慢的关系数据库进行持久化。其使用的日志文件系统会自动检测 HornetQ 是否运行在 Linux 上,如果是的话则通过本地代码层调用 Linux Asynchronous IO(AIO)以提高性能。如果无法使用 AIO 则转而使用 Java NIO,这样 HornetQ 就可以无缝运行在任何 Java 平台上了。

由于 HornetQ 并没有使用数据库进行持久化,因此之前 JBoss Messaging 产品的用户如果想要对现有的 queue 进行移植则需要使用 JMS Bridge

如果想要移植 queue 或是 topic 数据,我推荐使用 JMS Bridge 获取老服务器中的消息并将其发到新服务器上去。这种技术适用于任何两个兼容的 JMS provider。

HornetQ 将作为 JBoss Application Server 6 中的默认 JMS provider,同时 JBoss 希望通过实现一套 REST 风格的 API 以在云中使用 HornetQ 2.1,进而达到协同处理消息的目的

为消息定义一个 RESTful 接口,这样就可以通过普通的 HTTP 访问了。REST 很可能会成为事实上的云接口风格标准。对我们来说,要想实现云中的消息 provider,REST 消息接口非常关键。RESTful 接口将会成为 REST-* 项目中 REST 消息规范的一个实现。

项目 wiki 上列出了长长的 2.0.0.GA 特性列表,读者不妨移步一观。

HornetQ 基于 Apache Software License v2.0 ,同时 Red Hat 计划在不远的将来把其作为 JBoss Enterprise Application Platform 订阅的组成部分。

各位可以在 HornetQ 的项目站点 wiki 上了解到更多信息,同时还有一个简短的指南可以帮助各位快速上手 HornetQ。

查看英文原文: JBoss HornetQ 2.0.0.GA Released with (Optional) Native Linux Journal for Improved Performance

2010-01-18 23:171258
用户头像

发布了 88 篇内容, 共 262.0 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

TiFlash 源码阅读(一) TiFlash 存储层概览

TiDB 社区干货传送门

MVCC导致limit 1执行慢测试

TiDB 社区干货传送门

实践案例 管理与运维 性能测评

TiDB 生态工具 -- TiUniManager(原 TiEM)v1.0.0 体验

TiDB 社区干货传送门

6.x 实践

初体验之rawkv learner recover灾备切换

TiDB 社区干货传送门

select查询失败,报“no such file or directory”错误

TiDB 社区干货传送门

一次 TiDB 5.1 Write Stall 问题处理

TiDB 社区干货传送门

故障排查/诊断

记一次tidb离线环境下安装非本地镜像源组件的过程

TiDB 社区干货传送门

实践案例 管理与运维 安装 & 部署 应用适配

我和tidb 的故事 - 我们终会在平行世界相遇

TiDB 社区干货传送门

体验 TiDB v6.0.0 之 Clinic

TiDB 社区干货传送门

实践案例 6.x 实践

体验 TiDB v6.0.0 之 TiDB 的数据迁移工具 DM-WebUI

TiDB 社区干货传送门

实践案例 6.x 实践

用一个性能提升了666倍的小案例说明在TiDB中正确使用索引的重要性

TiDB 社区干货传送门

性能调优 实践案例 应用适配

TiDB 集群一次诡异的写入慢问题排查经历

TiDB 社区干货传送门

故障排查/诊断

TiEM初级实践

TiDB 社区干货传送门

6.x 实践

TiDB 5.1 Write Stalls 应急文档

TiDB 社区干货传送门

实践案例

TiDB 4.0 升级 5.1 二三事——避坑指南

TiDB 社区干货传送门

版本升级

TiDB 6.0 新特性解读 | Collation 规则

TiDB 社区干货传送门

6.x 实践

一篇文章说透缓存表

TiDB 社区干货传送门

TiDB 源码解读 新版本/特性解读 6.x 实践

体验TiDB v6.0.0 之TiCDC

TiDB 社区干货传送门

实践案例 6.x 实践

Let's go, TiCheck!

TiDB 社区干货传送门

监控

TiDB 6.0 新特性解读 | TiFlash 新增算子和函数下推

TiDB 社区干货传送门

6.x 实践

TiDB 冷热存储分离解决方案

TiDB 社区干货传送门

管理与运维 版本测评 6.x 实践 大数据场景实践

tiup修改参数显示成功但不生效

TiDB 社区干货传送门

论分布式数据库TiDB架构的“存”与“算”

TiDB 社区干货传送门

数据库架构设计

TiDB 6.0 新特性解读 | 离线包变更

TiDB 社区干货传送门

6.x 实践

关于HTAP与HSAP

TiDB 社区干货传送门

数据库架构设计

TiDB 查询优化及调优系列(二)TiDB 查询计划简介

TiDB 社区干货传送门

TiDB 6.0 Placement Rules In SQL 使用实践

TiDB 社区干货传送门

管理与运维 版本测评 新版本/特性解读 6.x 实践

文盘Rust -- 领域交互模式如何实现

TiDB 社区干货传送门

开发语言

排查分析Empty regions 较大原因

TiDB 社区干货传送门

性能调优 实践案例 集群管理 管理与运维

内存悲观锁原理浅析与实践

TiDB 社区干货传送门

版本测评 新版本/特性解读 6.x 实践 TiKV 底层架构

TiDB v6.0.0(DMR) 缓存表初试

TiDB 社区干货传送门

6.x 实践

JBoss HornetQ 2.0.0.GA发布,带有可选的本地Linux日志(Journal)文件系统以改进性能_Java_Dio Synodinos_InfoQ精选文章