如何解决将 BoringSSL 与 Hazelcast IMDG 一起使用的正确配置设置是什么? 为什么要检查 Java 11
我将 Hazelcast 作为缓存服务运行,看来我可以使用 BoringSSL 提高性能,这更简单,因为我不需要安装其他软件
阅读他们的文档:https://docs.hazelcast.com/imdg/4.1.2/security/integrating-openssl.html
我看到我只需要两个 jar,但我没有看到任何关于配置设置的提及。我是否只将 Java SSL 设置与 BasicSSLContextFactory
一起使用?
我知道我可以使用此处提到的 com.hazelcast.nio.ssl.BasicSSLContextFactory
https://docs.hazelcast.com/imdg/4.1.2/security/tls-ssl.html#tlsssl-for-hazelcast-members 来实现 Java SSL
他们还为 OpenSSL 集成提供 com.hazelcast.nio.ssl.OpenSSLEngineFactory
(https://docs.hazelcast.com/imdg/4.1.2/security/integrating-openssl.html#using-openssl)
解决方法
BoringSSL 是使用 OpenSSL 的库。所以 this link 是一个很好的来源。但是,如果您不绑定旧的 Java 版本,那么现在 Java TLS 比 OpenSSL 更快,因此不需要 BoringSSL。
由于 SSL 是 Hazelcast Enterprise 的一项功能,如果您需要更详细的帮助,请随时提出 Hazelcast Zendesk Ticket。
,从 Hazelcast 4.0 版开始,决定使用哪个 TLS 引擎的逻辑如下:
- 当 Java 版本 和 netty-tcnative 包(包装 OpenSSL、BoringSSL 等)在类路径上时:使用 {{ 1}};
- 在所有其他情况下:使用
OpenSSLEngineFactory
。
当然,您不需要使用默认值,但您可以使用您选择的工厂指定 BasicSSLContextFactory
配置属性。
您可以在 factory-class-name
中使用与 OpenSSLEngineFactory
中相同的属性(例如 BasicSSLContextFactory
、keyStore*
)。不过,配置 trustStore*
的原生方式是使用 OpenSSLEngineFactory
和文档 section about OpenSSL 中提到的其他属性。
为什么要检查 Java 11
如上所述,默认情况下,keyFile
不用于 Java 11 及更新版本。该决定基于 Hazelcast 性能测试,该测试显示了与 Java 8 一起使用时 OpenSSL 的性能优势,但与 Java 11(或更高版本)一起使用时则没有。
以下是这些测试的吞吐量图(2019 年执行)。
TLSv1.2
TLSv1.3
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。