禁用 Java 虚拟机中的 DNS 缓存 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

禁用 Java 虚拟机中的 DNS 缓存

在一个环境中,如果您希望跨多个线程只读副本实现请求的负载均衡,则需要禁用 Java 虚拟机 (JVM) 中的 DNS 缓存并在创建集群时提供 Neptune 的读取终端节点。禁用 JVM DNS 缓存可以确保为每个新连接重新解析 DNS,以在所有只读副本之间分配连接请求。可以在应用程序的初始化代码中使用以下行执行此操作:

java.security.Security.setProperty("networkaddress.cache.ttl", "0");

但是,上面的 A mazon Gremlin Java 客户端代码提供了更完整、更强大的负载平衡解决方案。 GitHubAmazon Java Gremlin 客户端知道您的集群拓扑,并在您的 Neptune 集群中的一组实例之间公平地分配连接和请求。有关使用该客户端的 Java Lambda 函数示例,请参阅此博客文章