经历了昨天的初识 ActiveMQ,正好今天下班有点事耽搁了还没法回家,那就再学习会 ActiveMQ 吧!现在官网的文档没啥好看的了,毕竟是入门学习,太深奥的东西也理解不了。然后看官网上有推荐书籍《ActiveMQ in Action》,老外在 2011 年写的,感觉有点老,但这本书好像最近也没更新过,那就先凑活着看吧!没找到完整的中文翻译版,那就先看看英文原版的 PDF 了。
前言
到目前为止,大部分的软件开发者并不能切实地理解消息队列的概念。商业的面向消息的中间件(message-oriented middleware,简称 MOM)对于开发者们对消息队列概念的理解并没有起什么作用,因为现在市场上大部分的面向消息的中间件都是闭源的,需要花钱购买服务和支持,只有受过专门训练的系统管理员才会正确的安装。而 ActiveMQ 提供了一种免费开源的选择,它的中心思想就是把权利交到开发者的手上。现在,ActiveMQ 在充当消息中间件方面已经是非常成功了,安装使用它是非常简单的,并且,ActiveMQ 还提供了大量的独有特性。
在 ActiveMQ 诞生后六七年的今天,它被广泛使用的速度是令人吃惊的。在很多应用中,ActiveMQ 都充当了关键性组件。在被众多小型商业公司和大型企业采用后,ActiveMQ 在各行各业被广泛部署,包括:手工制造业,*部门,零售行业,医疗健康行业,金融行业,电信行业以及军队里面等。使用了基于事件和 ActiveMQ 功能丰富,吸引了一大批的拥护者,并且其吸引力还在持续上升。
我写这本书的目的是向读者提供一份 ActiveMQ 特性的参考和使用指南。尽管 ActiveMQ 实现了多年都未曾变更过的 Java 官方的 JMS 规范,但 ActiveMQ 还提供了很多超越规范的特性,并且它从未停止创新。创造一本关于软件的书籍从来都是一场角逐的游戏,随着软件的不断更新,必然会有更多的相关书籍被写出来,但我只能尽最大努力地保持本书内容跟进 ActiveMQ 5.4.1 版本。
我们希望通过阅读本书,你不仅能学会 ActiveMQ ,也能理解基于事件的系统的相关知识。总的来说,世界上的一些大型系统通常被设计成使用事件和消息队列。
关于本书
《ActiveMQ in Action》这本书是为软件架构师,开发者以及有兴趣在企业级应用里集成消息队列特别是 ActiveMQ 的人准备的。这本书的定位是初学者和有经验的应用开发者,所以书中内容部分是介绍,部分是参考指南。本书以对 ActiveMQ 的介绍和对 JMS 的概览起步,然后慢慢的深入讲解 ActiveMQ。
本书讲解的概念假定假定读者已经拥有足够的可以设计和开发 Java EE 应用的知识。尽管这些知识并不是要求必备的,但已经掌握了这些知识再学习本书中的概念将是轻而易举的。本书第 9 章甚至讨论了使用除了 Java 之外的其他语言,如:C++,C#,JavaScript,Perl,PHP,Python 和 Ruby,集成 ActiveMQ。
路标
本书分为四部分:
第一部分:介绍了 ActiveMQ 以及对 JMS 的概览,然后讨论了一个贯穿全书的例子。
- 第一章从一个较高的层次介绍 ActiveMQ,并讨论了为什么使用 ActiveMQ以及为什么使用 ActiveMQ。这章也演示了怎么下载和安装 ActiveMQ,并且展示了怎么运行一个使用了 ActiveMQ 的例子。
- 第二章介绍了企业级消息,面向消息的中间件以及 JMS 规范。
- 第三章介绍了贯穿全书的例子。
第二部分:聚焦于 ActiveMQ 中三个标准组件:消息代理连接器,消息持久化以及消息安全代理。
第四章覆盖了 ActiveMQ 的所有连接选项。这一章讨论了 ActiveMQ 的 URLs,然后是讲解了包含:TCP,NIO,STOMP,灾备策略,SSL,HTTP/S 等通信方式在 ActiveMQ 传输层(例如:客户端连接代理,代理连接代理)的运用。
- 第五章讨论了在 ActiveMQ 中的消息持久层。然后是队列和主题中的消息是怎么被存储的,消息存储的四种方式以及消息缓存。
第六章讲解了 ActiveMQ 中精心设计的安全层。它涵盖了鉴权,授权,基于证书的安全性校验,以及如何创建自定义的安全插件。
第三部分主要讲述了在 Spring 框架使用 ActiveMQ。Spring 框架在开源应用界里占着主导地位,可以用于开发不止 Java 的大量应用。
- 第七章讲解了在 Java 应用中使用 ActiveMQ,包括:在 Java 应用中嵌入 ActiveMQ 的一些可选项,开发一个请求/响应式的应用以及使用 Spring 写 JMS 客户端。
- 第八章介绍了怎么在流行的开源应用服务器(例如:Tomcat,Jetty,Geronimo 以及 JBoss)中集成 ActiveMQ。本章也讨论了 ActiveMQ 提供的客户端 JNDI 的支持。
- 第九章讨论了使用除了 Java 之外的其他语言来操作 ActiveMQ,包括:C++,C#,JavaScript,Perl,PHP,Python 以及 Ruby。
第四部分讨论了 ActiveMQ 的高级特性,包括:高可用性,可伸缩性,高级代理以及客户端特性。还讲解了如何进行性能调优以及 ActiveMQ 的管理。
- 第十章讨论了怎么在生产环境中部署 ActiveMQ。本章的重点是 ActiveMQ 的高可用性以及可伸缩性。
- 第十一章讲述了 ActiveMQ 提供的像:通用字符,组合地址,告警消息,虚拟主题,插件信息等高级特性,然后介绍了使用 Apache Camel 的消息路由。
- 第十二章的内容涵盖了 ActiveMQ 客户端特性,包括:唯一性消费者,消息组,流和大对象,failover 传输和计划消息。
- 第十三章讲解了如何进行 ActvieMQ 的性能调优。这包括一些通用的调优技巧,例如:可持计划和不可持久化的主题,事务,内嵌代理,传输层协议优化,生产者和消费者的 TCP 传输层优化。
- 第十四章以 ActiveMQ 的管理和监控来结尾,讲解了怎么为 ActiveMQ 配置 JMX 监控并演示了 JConsole 的使用。这一章也演示了为监控 ActiveMQ 而生的告警消息的使用。内容涵盖了命令行工具,命令代理,XMPP,JConsole 以及 Web Console 的使用。然后还讨论了代理和客户端层次的日志。
代码下载
本书的源代码均可从出版商网站下载:http://manning.com/ActiveMQinAction。
目录
消息 和 ActiveMQ 简介
- Apache ActiveMQ 简介
- 理解面向消息的中间件和 JMS
- ActiveMQ 实例
ActiveMQ 组件的标准配置
- 连接 ActiveMQ
- ActiveMQ 消息存储
- ActiveMQ 的安全性
使用 ActiveMQ 构建面向消息的应用
- 使用 ActiveMQ 创建 Java 程序
- 在应用服务器端集成 ActiveMQ
- 在其他编程语言中使用 ActiveMQ
ActiveMQ 高级特性
- 在企业中部署 ActiveMQ
- ActiveMQ 代理特性实例
- 客户端高级设置
- ActiveMQ 性能调优
- ActiveMQ 的管理和监控
Apache ActiveMQ 简介
这章主要讲述了:ActiveMQ 特性,为什么使用 ActiveMQ,什么时候使用 ActiveMQ,怎么使用 ActiveMQ。
英文书籍看的就是慢,少小不学英语,现在徒伤悲!今天就先看到这吧。