ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java独立应用程序的可伸缩性和高可用性

2019-05-27 04:47:22  阅读:266  来源: 互联网

标签:java spring scalability high-availability


我们目前正在Linux机器上运行Java集成应用程序.首先是应用程序的概述.

Java应用程序是一个独立的应用程序(未部署在任何Java EE应用程序服务器上,如OracleAS,WebLogic,JBOSS等).
By Stand Alone我的意思是它不是桌面应用程序.但是它是从Main类的命令行运行的.用户根本不直接与此应用程序交互.使用API​​将消息转储到队列中,然后由我的应用程序读取,该应用程序一直24/7运行.我不认为这是一个桌面应用程序,因为用户没有与它直接交互.(不确定这是否是合格的正确推理).

它使用Spring并连接到WebSphere MQ和Oracle数据库
我们使用Spring Listener(Spring Message Driven POJO)来监听WebSphere MQ上的队列.一旦队列中有消息,应用程序就会从MQ读取消息并将其转储(插入/更新)到数据库中.

现在的问题是:

>我们如何横向扩展此应用程序?我的意思是只是放置更多的盒子并运行同一个应用程序的多个实例,这是一种可行的方法吗?
>我们应该考虑从Spring MDP迁移到EJB MDB吗?从而在Application Server上部署它.这样做会有额外的好处吗?
>有一个要求使应用程序高可用性(HA)?有哪些建议的方法或策略可用于制作独立的应用程序HA?

解决方法:

“独立”==“桌面”吗?

用户如何与拥有消息驱动bean的控制器进行交互?

我对你的问题的看法:

>您可以通过向侦听器池添加更多消息侦听器来进行扩展,因为每个侦听器都在其自己的线程中运行.您应该将数据库连接池的大小与消息侦听器匹配,因此也必须增加.在添加更多服务器之前这样做.确保手头有足够的RAM.
>我没有看到EJB MDB通过Spring MDB购买的内容.你一直在提到“app servers”.您是否特别指Java EE应用服务器,如WebLogic,WebSphere,JBOSS,Glassfish?因为如果你在Tomcat上部署Spring,我会认为Tomcat是这个对话中的“app server”.
> HA表示负载平衡和故障转移.您需要具有同步或热重新部署的数据库.与队列相同. F5是负载均衡的绝佳硬件解决方案.如果你有一些人,我会和你的基础设施人员谈谈.

标签:java,spring,scalability,high-availability
来源: https://codeday.me/bug/20190527/1160936.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有