电脑编程技巧与维护
1概述
JMS(Java Message Service)是Sun提出的Java消息服务规范,是用于访问消息系统的独立于厂商的应用程序接口(API),它提供给应用程序创建、发送、接收和读取消息的接口。可以通过JMS访问独立于厂商的消息服务系统。在JMS 中,客户机只需将消息发送到一条虚拟的通道(主题或队列)上,其他JMS客户机则订阅或是监听该通道。当一个JMS客户发送一条消息时,它无须等待响应。它在执行发送操作后将直接继续下一条指令。该条消息可能最终转发到一个或多个客户机上,这些客户机都无需对发送消息的JMS客户机做出回应。JMS主要包括3部分:JMS提供者(JMS Provider)、消息发送者(Message Producer)和消息接收者(Message Consumer)。简单地说,JMS提供者是指实现JMS API接口的消息系统,是消息的中转站;消息发送者是指消息的创造和发送者,是消息的发源地;消息接收者是指接收消息的应用程序,是消息最终的目的地[1]。
ActiveMQ是一个基于Apache2.0协议开源的高性能JMS 实现产品,是一个经验证成熟而又功能丰富的最佳开源Java 消息服务(JMS)引擎[2]。利用ActiveMQ进行消息传递过程即消息生产者生产消息,选择异步或同步方式发送给消息代理(Broker)。通过代理把消息再发送给消费者端,消费者收到消息后,给代理返回确认信息。其中消息可以是持久性或是非持久性的,若是持久性消息发送则此消息就会存储在代理上,直到收到接收者的确认之后才从代理服务器上删除。这就是一个简单的消息传递过程。
active transport
2ActiveMQ特性
ActiveMQ有许多特性,例如支持多种不同的传输(如TCP、SSL、UDP、多点传送、内部JVM和NIO),消费者端负载平衡、支持异步发送消息、支持集、支持事务以及它的安全机制等。ActiveMQ速度很快,支持多种跨语言的客户端协议。以一定规模的现有用户为基础,ActiveMQ服务器完全可以独立工作,而不依赖任何容器(J2EE或其他容器),它还可以与J2EE服务器主机(如Geronimo)结合使用。下面将介绍几个具有典型代表性的特性。
ActiveMQ特性之一是可以在消费者端进行负载平衡。有点儿像Web应用程序的负载平衡,但是应用于消息传递。假设将来自某站点的订单放进一个队列中,希望尽可能快地处理它们,JMS提供者会在消费者之间根据负载平衡原则分配这些消息。
ActiveMQ很好地支持了消息的持久性(Persistence)。消息持久性对于可靠消息传递来说应该是一种比较好的方法,有了消息持久化,即使发送者和接受者不是同时在线或者消息中心在发送者发送消息后宕机了,在消息中心重新启动后仍然可以将消息发送出去[3]。
ActiveMQ支持从生产者以同步或异步模式发送消息到代理上,这种模式在发送消息的延迟性上有很大影响,因为延迟性对于生产者的生产量是一个很重要的因素。使用异步发送可以使得系统的速度戏剧性地提升。除了在JMS明确提出需要使用同步发送消息才默认为同步发送。如果选择但发送的是持久性的消
息时,那么每次发送是同步的而且阻塞直到代理发回给生产者确认,告诉生产者消息已经安全地存储到磁盘上了。这种确认机制保证了发送过来的消息不会丢失。但是也会由于客户端被阻塞而花费巨大的延迟。许多高可靠
ActiveMQ特性与配置研究
张燕,徐立新
(空军航空大学计算机教研室,长春130022)
摘要:ActiveMQ是一个基于Apache2.0协议开源的高性能JMS实现产品,也是一个经验证成熟而又功能丰富的最佳开源Java消息服务(JMS)引擎。ActiveMQ有许多特性,例如支持多种不同的传输,异步发送,集,事务、安全机制等。ActiveMQ针对不同的需求有相应的配置,即使是要达到同一个目的也可以有多种不同的配置方案。
关键词:ActveMQ;特性;配置
Feature and Configuration Research of ActiveMQ
ZHANG Yan,XU Lixin
(Computer Office,Aviation University of Air Force,Changchun130022)
Abstract:ActiveMQ is an open source JMS implement product based on Apache2.0licensed.It is a best Java message service engine which has validated mature and abundant function.ActiveMQ has a lot of characteristics,for example:It supports several different transport,asynchronous sends,clustering,transaction,security and so on.ActiveMQ has comparative configuration to different requirement,even if the same aim there are several configuration method.
Key words:ActiveMQ;feature;configuration.
作者简介:张燕(1975-),女,讲师,研究方向:信息管理
系统、计算机应用;徐立新(1971-),男,讲师,研究方向:
计算机应用。
收稿日期:2011-04-10
(下转到13页)6
2011.12
2009.
2011.12SOFTWARE DEVELOPMENT AND DESIGN 软件开发与设计
性的程序被设计为允许丢失一小部分信息。如果应用程序设计为这种模式的话,即使在使用持久性消息时,可以使用异步发送[4]。
一般而言,异步发送消息给速度稍慢的消费者,而使用同步发送模式发送给速度稍快的消费者。越来越少地使用同步发送的原因是如果在生产者分派消息给一个慢的消费者,这个生产者更容易受阻塞[4]。
ActiveMQ 可以通过JAAS (Java Authentication and Authorization Service ,Java 验证与授权服务)实现安全机制。简单来说,验证就是要验证一个用户的有效性,即用户名、密码是否正确。授权就是授予用户某种角,可以访问哪些资源。要想在ActiveMQ 中使用JAAS 实现消息安全和控制,比较简单的方法就是使用配制文件。
3ActiveMQ 配置
基于上面的特性,ActiveMQ 针对不同的需求有相对应的
配置,即使是要达到同一个目的也可以有多种不同的方案。ActiveMQ 中的简单代理(Broker )配置一
个ActiveMQ 消息代理至少包含了这3部分:多个传送器(transport connector )、多个网络连接器(network connector )和一个持久适配器。
配置传送器有以下6种传输选择,分别是内部虚拟机传输(The VM Transport );TCP 传输(The TCP Transport );对等传输(The Peer Transport );UDP 传输(The UDP Transport );多点传送传输(The Multicast Transport );HTTP 与HTTPS 传输(
HTTP and HTTPS Transports )。可以通过URI 语法来配置代理的其他特性,任何一个ActiveMQ JMS 连接都能够使用URL 或者通过ActiveMQConnection 或者ActiveMQConnectionFactory 对象显示
配置。利用此种方法可以设置clientID (客户ID )、dispatchAsync (异步分派)、useAsyncSend (异步发送)等待。
代理有多种不同的拓扑结构。其中几种不同拓扑结构的代理联合网络是:在单一的Java 虚拟机内(IN VM );客户端-服务器(Client-Server );内嵌的代理(Embeded Broker );对等结构(Peer to Peer )。
综合所列出的ActiveMQ 的特性,可以看出配置需求的不同选择。从客户端角度,如果需要消息传送可靠的话,可设置消息的属性为持久性。从发送端角度,对速度要求较高则选择异步发送,可以减少发送
者的等待时间。从接收端角度,接收者速度很快则从代理上同步发送给接收者,速度较慢则选择异步发送。安全性可选择配置JAAS 实现安全机制。
4结语
对ActiveMQ 的功能进行了阐述,并对几个重要特性进行
了分析,给出了ActiveMQ 配置的基础要求,并在此基础上从各个不同角度的需求得出相应的配置选择。ActiveMQ 是一个优秀的JMS 提供者,有其多样化的配置选择,如何更好地利用AtiveMQ 成为进一步的研究目标。
参考文献
[1]Haase K.JavaTM Message Service API Tutorial [J].Sun
Microsystems,Inc.[M/OL],2001.
[2]/index.html [EB/OL].[3]/persistence.html [EB/OL].[4]/consumer-dispatch-async.html
[EB/OL].
3000-4000元。
由于部署802.1X 协议认证是通过端口进行,在通过咨询H3C ,锐捷等设备厂家工程师后,确定接入层交换机每个端口最高安排200个网络终端进行认证,但在实际操作时为避免网络阻塞现象发生,接入层交换机的每个端口通过普通交换机连接的网络终端数一般不超过50个[5]。
4系统数据库
对于目前的校园网来说,控制用户上网的主要设备就是
交换机,因此认证计费数据均可从交换机上获得。在校园网认证计费系统的设计中,数据库采用了MY SQL 。数据的采集可通过Radius 协议直接把接入交换机上的数据读入认证计费服务器中。数据库设计中使用了4个表,分别为User (用户信息)表、Policy (计费策略)表、Cost (上网费用表)、Info (上网信息)表。这4个表与认证、计费子模块的隶属关系如图4所示。
随着以太网技术的发展,高校内各种以太网业务迅速增多。在局域网中重要的一部分校园网的管理中,各种有线+无线的接入认证技术方面的研究已经成为了网络接入研究的大
方向。802.1X 协议认证技术为校园网提供了一种基于交换机端口认证,认证流与数据流分离的灵活接入控制管理手段。
但就802.1X 协议认证技术来说,完全依靠它去实现校园网终端用户的管理及校园网安全并不现实。只有依靠多项技术与之进行有机结合,才能构建一个和谐的校园网络环境。
参考文献
[1]B.Aboba,L.Blunk,J.Vollbreeht,et al.Extensible Authentication
Protocol (EAP),Network Working Group,RFC3748,June2004.[2]陈诺亚,刘海鹏,荆金华,张根度.因特网AAA 服务需求
与Diameter 协议.计算机工程,2003,29(7):137-139.[3]孟小华.RADIUS 服务器性能测试软件的设计与实现.微
型机与应用,2004,(6):12-17.
[4]黄永锋,王滨.Radius 在802.lx 中的应用.计算工程与设
计,2006,(3):798-801.
[5]杨鸿,张顺颐.宽带应用统一接入认证的解决方案.中国
数据通信,2002,(5):7-11.
(上接第6页)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
13
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论