请用白话讲解ActiveMQ的用途

请用白话讲解ActiveMQ的用途,第1张

用途就是用来处理消息,也就是处理JMS的。消息队列在大型电子商务类网站,如京东、淘宝、去哪儿等网站有着深入的应用,队列的主要作用是消除高并发访问高峰,加快网站的响应速度。

在不使用消息队列的情况下,用户的请求数据直接写入数据库,高发的情况下,会对数据库造成巨大的压力,同时也使得系统响应延迟加剧,但使用队列后,用户的请求发给队列后立即返回。

例如:不能直接给用户提示订单提交成功,京东上提示:“您提交了订单,请等待系统确认”再由消息队列的消费者进程从消息队列中获取数据,异步写入数据库。

由于消息队列的服务处理速度远快于数据库,因此用户的响应延迟可得到有效改善。

扩展资料:

ActiveMQ主要有以下几种使用场景

1、异步调用。

2、一对多通信。

3、做多个系统的集成、同构、异构。

4、作为RPC的替代。

5、多个应用相互解耦。

6、作为事件驱动架构的幕后支撑。

7、为了提高系统的可伸缩性。

一个基本的glassfish的配置如下:

<plugin>

<groupId>orgglassfishmavenplugin</groupId>

<artifactId>maven-glassfish-plugin</artifactId>

<version>22-SNAPSHOT</version>

<configuration>

<glassfishDirectory>${glassfishhome}</glassfishDirectory>

<user>${domainusername}</user>

<!-- <adminPassword>admin</adminPassword> -->

<passwordFile>${glassfishhome}/domains/domain1/master-password</passwordFile>

<debug>true</debug>

<echo>true</echo>

<domain>

<name>domain1</name>

<adminPort>4848</adminPort>

</domain>

<components>

<component>

<name>${projectartifactId}</name>

<artifact>${projectbuilddirectory}/${projectbuildfinalName}war</artifact>

</component>

</components>

</configuration>

</plugin>

使用glassfish必须要求自定义<glassfishDirectory>,<user><passwordFile>或者<adminPassword>,<domain><components><debug><echo>这几个标签,对于这几个标签解释如下:

<configuration>:定义

<glassfishDirectory>:glassfish_home的目录,可以通过在settingsxml profiles中设置或者在这里指定

<user>:用户名,glassfish安装后会自动新建了一个域,domain1,用户名默认是admin,也可以通过settingsxml profiles中设置或者在这里指定

<adminPassword>:用户名密码,这个跟<passwordFile>是互相冲突的,两者只能选1,使用这个标签则要明文输入管理员登录密码,而且在glassfish启动的时候会自动生成一个tmp的文件进行读取

<passwordFile>:密码文件,指定新建域的密码文件存放位置,以domain1来说密码位置上存在domain1的根目录下的master-password

<debug>:是否使用debug模式启动glassfish,使用debug模式启动可以查看中间使用的[Info]信息,可以跟echo一起使用

<echo>:是否以echo模式启动glassfish,使用echo模式启动则直接运行,除了最后出错信息跟一些必要的[Info]信息之外其余都不显示包括中间运行错误的信息

<domain>:域

<name>:域名,指定当前项目使用那个域启动,这个域是跟<user>,<passwordFile>的内容对应的

<adminPort>:控制台端口,一般是4848

<components>:组件,生成目录:

<component>组件

<name>:组件名称,一般默认使用project的artifactId,也就是project的文件名

<artifact>:生成指定文件的目录与文件类型,对于webapp的话则是webapp

在安装的过程中就可以修改,这个比较简单,这里主要讲安装之后如何修改。进入到%glassfish3%\glassfish\domains\domain1\config目录下面,找到domainxml,编辑打开,搜索8080,改成想要的端口号即可更改>

j2ee服务器有哪些

众所周知,J2EE应用服务器百花齐放,种类众多。那么J2EE应用服务器有哪些又有哪些功能呢一起来看看吧!

从功能实现上划分:

有实现完整J2EE规范(full profile)的Weblogic, WebSphere, GlassFish

有实现web应用规范(web profile)的 TomEE, JBoss/WildFly

有基本的Servlet及Jsp规范的Web容器(Web Container) Tomcat, Jetty, Resin

回顾过去的2015年,各应用服务器市场占有率各有千秋。

下图为各个应用服务器使用率饼图

我们看到,在众多J2EE应用服务器中,Tomcat使用率达到5866%,稳坐第一。

相较2014年,Tomcat使用率大幅增长,增长将近19%。

整体而言,Tomcat做为Servlet和Jsp规范的参考实现(Reference implementation , 简称RI),一般都会在第一时间实现规范的新特性并通过Oracle的CTS 测试认证。目前最新的Tomcat 90,虽还是alpha版,但已经实现了Servlet 40草案,感兴趣的朋友,可以下载尝鲜哦!

Tomcat是一个实现了JAVA EE标准的最小的WEB服务器,是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且开源免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。学习JavaWeb开发一般都使用Tomcat服务器,该服务器支持全部JSP以及Servlet规范,启动界面如图:

 

Tomcat 是一款非常优秀的 Java Web 服务器,以致于很多开源 Java 应用服务器(如 JOnAS) 直接集成它作为 servlet 容器。

Tomcat的总体结构

Tomcat中主要涉及Server,Service,Engine,Connector,Host,Context组件,之前用过Tomcat的童鞋是不是觉得这些组件的名称有点似曾相识的赶脚,没赶脚!您再想想。好吧,不用你想了,我来告诉你吧。其实在Tomcat二进制分发包解压后,在conf目录中有一个serverxml文件,你打开它瞄两眼看看,是不是发现serverxml文件中已经包含了上述的几个名称。

Tomcat 集群源码的类图

从图中我们可以看出 Tomcat 集群包括以下几个方面的内容:

Session: Session 分为 StandardSession 与ClusterSession 两种,后者用于 Session 复制。

Session Manager: 有用于集群 Session 管理的ClusterSession,也有用于对 Session 进行一般日常管理的,如 PersistentManager,BackupManager,SimpleTcpReplicationManager。

组通迅框架:SessionManager调用组通讯框架进行 Session 的传输,Tomcat采用的组通

讯框架是 tribe,目前 tribe 已被独立为开放的 apache 工程。

Cluster: 方便集群管理而派生出的逻辑概念,可将实际物理机划分为一个 Cluster,也可 将一台物理机上不同端口的实例划分为一个 Cluster,它有一个简单的实现类 SimpleTcpCluster。

11 Session

服务器集群通常 *** 纵两种session:

1 Stickysessions: 尽量让同一个客户请求由同一台服务器来处理,这样 sticky sessions 就是 存在于单机服务器中接受客户端请求的 session,它不需要进行 Session 复制,如果这个 单机失败的话,用户必须重新登录网站。

2 Replicatedsessions: 在一台服务器中的 session 状态被复制到集群的其他服务器上,无论 何时,只要 session 改变了,session 数据都要重新全部或部分(依据复制策略)被复制 到其他服务器上。

Tomcat 支持以下三种 session 持久性类型:

1 内存复制:在 JVM 内存中复制 session状态,使用 Tomcat自带的 SimpleTcpCluster 和SimpleTcpClusterManager类。

2 数据库持久性:在这种类型中,session 状态保存在一个关系数据库中,服务器使用orgapachecatalinasessionJDBCManager类从数据库中获取 Session 信息。

3 基于文件的持久性:这里使用类orgapachecatalinasessionFileManager 把session 状态保存到一个文件系统。

Session Manager

Tomcat 通过 orgapachecatalinaManager 来管理 Session,Manager 接口总是和 Context Container 相关联。它主要负责 session 的建立、更新和销毁。该接口中一些重要的方法有:

用户在 Servlet 中通过 javaxservlet>

理论上java几乎可以运行在所有主流服务器上,无论是linux,mac还是windows

服务器上面只要按照系统的版本(32还是64位)安装jdk或者jre并且设置好服务器的java环境变量既在命令提示符下能够运行java相关命令集合或者在应用软件的启动脚本中怎家环境变量

tomcat只是一个jsp容器当然其本身也是一个java软件运行在哪里都没有问题只要权限,空间和端口号没有问题即可

以上就是关于请用白话讲解ActiveMQ的用途全部的内容,包括:请用白话讲解ActiveMQ的用途、如何在idea里自动部署maven生成的ear文件到glassfish、glassfish3更改端口号以及命令行下如何启动和关闭glassfish等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10073270.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存