4

当我们在独立的 ActiveMQ 上配置 SSL 时,我们可能需要在客户端代码中提供 TrustStore、TrustStore Password、KeyStore 和 KeyStore 密码才能通过 SSL 协议连接到 Active MQ,但对于 AmazonMQ,虽然他们提供了 SSL 端点,但是我们可以简单地连接到它,而无需提供信任和密钥相关值。

Simple ActiveMQ over SSL 的客户端代码片段:

ActiveMQSslConnectionFactory connFactory = new ActiveMQSslConnectionFactory("ssl://<someHost>:61617");
        String trustStore = "pathTo/client_new.ts";
        String keyStore = "PathTo/client_new.ks";
        try {

            connFactory.setTrustStore(trustStore);
            connFactory.setTrustStorePassword("password");
            connFactory.setKeyStore(keyStore);
            connFactory.setKeyStorePassword("password");

        } catch (Exception e) {

            e.printStackTrace();
        }

基于 SSL 的 Amazon MQ 的客户端代码片段:

ActiveMQConnectionFactory connFactory = new ActiveMQConnectionFactory("ssl://xyz.amazonaws.com:61617");

基本上,是什么造成了这种差异?

4

1 回答 1

0

首先,AmazonMQ 在 ActiveMQ 之上工作,亚马逊在 activeMQ 上编写了一个包装层,因此就功能而言,它的工作方式几乎相同。AmazonMQ 是managed Message Broker Service for ActiveMQ. 它管理与空间相关的所有内容,在不同区域配置主动/被动端点以及以下链接中提到的一些好处。

https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/welcome.html

amazonMQ 的其他好处是您可以设置警报等等,作为使用亚马逊其他服务的一部分,例如将 activemq 版本升级到最新版本。

现在来到您的应用程序部分,一件好事是您配置 activemq 的方式是通过 SSL 连接,尽管 activemq 也暴露了 tcp 端点,可以通过简单地提供代理 URL 来连接,但在 amazonMQ 的情况下,它不会暴露任何 TCP 端点唯一的连接方式是提供 SSL 端点和相关参数。

请参阅此链接了解应用程序如何连接到 amazonMQ: https ://docs.aws.amazon.com/amazon-mq/latest/developer-guide/amazon-mq-connecting-application.html

于 2019-07-24T17:01:32.423 回答