java - 我应该在单独的机器上安装 ActiveMQ 吗?

标签 java spring-boot jms activemq

我正在使用 Spring Boot 邮件和 ActiveMQ 构建电子邮件系统。我关注了this example project 。因为我们的应用程序 QPS 很小,一台服务器足以处理请求。在示例项目 ActiveMQ 中,发送方和接收方都位于同一服务器上。这对于小型应用程序来说是一个好的做法吗?或者我应该将 ActiveMQ、发送方和接收方放在三台独立的机器上?

最佳答案

这取决于...

应用程序的大小无关紧要。这更多地取决于您对可用性、可扩展性和数据安全性的要求。

如果您将所有内容都放在同一台计算机上,那么您就会面临单点风险。如果机器崩溃,你就会失去该机器上的所有内容。不过这个设定是最 简单的一种(也用于维护)并且服务器崩溃的变化很低。现代机器能够处理很大的负载。

如果您的负载非常高和/或需要保证交付,您应该使用多个系统,其中生产者将消息发送到 ActiveMQ 集群(也分布在多台机器上)。消费者也使用不止一台机器。还使用负载平衡器连接/连接到机器。

您还可以在两个示例设置的中间进行设置(简单和 复杂的)。

如果您能够重现所有消息(示例中的电子邮件消息),并且负载不是那么高,我会建议您将其简单地全部放在同一台计算机上。

关于java - 我应该在单独的机器上安装 ActiveMQ 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59832220/

相关文章:

java - 测试两个 Maven 工件的向后兼容性

java - 独立 Java 程序的数据库连接池

java - Netbeans 中 JButton 中的 ImageIcon

java - ArrayIndexOutOfBoundsException,同时未访问任何索引

java - 在 while 循环中比较两个相等的整数时,等于运算符失败?

jakarta-ee - 在 Web 层和业务层之间使用 RMI 或 JMS 的优缺点是什么?

java - 有关 Spring 和 JMS 的帮助。我正在尝试使用 spring 设置一个简单的发布者?

spring-boot - 当同时支持 http 和 https 时,Spring boot tomcat httpsession 是不一样的

java - 使用 Spring Boot 启动 Kafka 生产者时出错

java - 通过 Spring Boot 连接 mysql 时出现时区问题,相当于 Mitteleuropäische Zeit