0

我将 Hazelcast 作为缓存服务运行,看来我可以使用 BoringSSL 提高性能,这更简单,因为我不需要安装额外的软件

阅读他们的文档:https ://docs.hazelcast.com/imdg/4.1.2/security/integrating-openssl.html

我看到我只需要两个罐子,但我没有看到任何关于配置设置的提及。我是否只使用 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

它们还提供com.hazelcast.nio.ssl.OpenSSLEngineFactoryOpenSSL 集成(https://docs.hazelcast.com/imdg/4.1.2/security/integrating-openssl.html#using-openssl

4

2 回答 2

2

BoringSSL 是使用 OpenSSL 的库。所以这个链接是一个很好的来源。但是,如果您不绑定旧的 Java 版本,那么现在 Java TLS 比 OpenSSL 更快,因此不需要 BoringSSL。

由于 SSL 是 Hazelcast Enterprise 功能,如果您需要更详细的帮助,请随时提出Hazelcast Zendesk Ticket 。

于 2021-03-23T08:32:40.027 回答
0

从 Hazelcast 4.0 版开始,有以下逻辑决定使用哪个 TLS 引擎:

  • Java 版本<11并且netty-tcnative包(包装 OpenSSL、BoringSSL、...)在类路径上时:使用OpenSSLEngineFactory;
  • 所有其他情况下:使用BasicSSLContextFactory.

当然,您不需要使用默认值,但您可以使用factory-class-name您选择的工厂指定配置属性。

您可以使用与(例如,)OpenSSLEngineFactory中相同的属性。尽管如此,配置的本地方式是使用文档部分中提到的 OpenSSL和其他属性。BasicSSLContextFactorykeyStore*trustStore*OpenSSLEngineFactorykeyFile

为什么 Java 11 检查

如上所述,OpenSSLEngineFactory默认情况下不用于 Java 11 和更新版本。该决定基于 Hazelcast 性能测试,该测试显示 OpenSSL 与 Java 8 一起使用时的性能优势,而不是与 Java 11(或更新版本)一起使用时。

以下是这些测试的吞吐量图(2019 年执行)。

TLSv1.2 TLS 1.2

TLSv1.3 TLS 1.3

于 2021-03-23T08:39:10.177 回答