

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Java 虛擬機器中停用 DNS 快取
<a name="best-practices-gremlin-java-disable-dns-caching"></a>

在您想要跨多個僅供讀取複本載入平衡請求的環境中，您需要停用 Java 虛擬機器 (JVM) 中的 DNS 快取，並在建立[叢集物件](https://tinkerpop.apache.org/javadocs/current/core/org/apache/tinkerpop/gremlin/driver/Cluster.html)時提供 Neptune 的讀取器端點。停用 JVM DNS 快取可確保每次新連線都會再次解析 DNS，如此一來，就會將請求分配到所有僅供讀取複本。您可以在應用程式的初始化程式碼中使用下列一行執行此動作：

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

不過，GitHub 上的 [Amazon Gremlin Java 用戶端程式碼](https://github.com/awslabs/amazon-neptune-tools/tree/master/neptune-gremlin-client)提供了更完整和強大的負載平衡解決方案。Amazon Java Gemlin 用戶端知道您的叢集拓撲，並將連線和請求公平分配到 Neptune 叢集中的一組執行個體。如需使用該用戶端的 Java Lambda 函數範例，請參閱[此部落格文章](https://aws.amazon.com/blogs/database/load-balance-graph-queries-using-the-amazon-neptune-gremlin-client/)。