

要获得与亚马逊 Timestream 类似的功能 LiveAnalytics，可以考虑适用于 InfluxDB 的亚马逊 Timestream。适用于 InfluxDB 的 Amazon Timestream 提供简化的数据摄取和个位数毫秒级的查询响应时间，以实现实时分析。点击[此处](https://docs.amazonaws.cn//timestream/latest/developerguide/timestream-for-influxdb.html)了解更多信息。

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

# 设置 DNS 名称查找的 JVM TTL
<a name="timestream-for-influx-managing-jvm"></a>

故障转移机制自动更改数据库实例的域名系统 (DNS) 记录，使其指向备用数据库实例。因此，您需要重新建立与数据库实例之间的所有现有连接。在 Java 虚拟机 (JVM) 环境中，由于 Java DNS 缓存机制的工作原理，您可能需要重新配置 JVM 设置。

JVM 缓存 DNS 名称查找。当 JVM 将主机名解析为 IP 地址时，它会将该 IP 地址缓存一段指定的时间，即 *time-to-live*(TTL)。

由于 Amazon 资源使用的 DNS 名称条目偶尔会发生变化，因此我们建议您将 JVM 的 TTL 值配置为不超过 60 秒。这样做可确保在资源的 IP 地址发生更改时，您的应用程序可以通过重新查询 DNS 来接收和使用资源的新 IP 地址。

对于一些 Java 配置，将设置 JVM 默认 TTL，以便在重新启动 JVM 之前绝不刷新 DNS 条目。因此，如果在应用程序仍在运行时 Amazon 资源的 IP 地址发生了变化，则在您手动重新启动 JVM 并刷新缓存的 IP 信息之前，它无法使用该资源。在此情况下，设置 JVM 的 TTL，以便定期刷新其缓存的 IP 信息是极为重要的。

您可以通过检索 `networkaddress.cache.ttl` 属性值来获取 JVM 的原定设置 TTL：

```
String ttl = java.security.Security.getProperty("networkaddress.cache.ttl");
```

**注意**  
默认 TTL 是变化的，具体取决于 JVM 的版本以及是否安装安全管理器。许多 JVMs 提供的默认 TTL 小于 60 秒。如果您使用此类 JVM 并且未使用安全管理器，则您可以忽略本主题的剩余内容。  
要修改 JVM 的 TTL，请设置 networkaddress.cache.ttl 属性值。根据您的需求，使用下列方法之一：  
要为使用 JVM 的所有应用程序全局设置属性值，请在 `networkaddress.cache.ttl` 文件中设置 `$JAVA_HOME/jre/lib/security/java.security`。  

  ```
  networkaddress.cache.ttl=60 
  ```
要仅在本地为应用程序设置属性，请在建立任何网络连接之前，在应用程序的初始化代码中设置 `networkaddress.cache.ttl`。  

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