翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Neptune Serverless のハートビート設定
Neptune Serverless で Gremlin WebSocket クライアントを使用する場合は、スケーリングイベント中に安定した接続を維持するために、クライアントの ping 間隔を適切に設定する必要があります。Gremlin クライアントは WebSocket 接続を使用し、定期的な ping を送信して接続がアクティブであることを確認します。クライアントは、ping 間隔の期間内にサーバーからのレスポンスを期待します。サーバーが応答しない場合、クライアントは自動的に接続を閉じます。
Neptune でプロビジョニングされたインスタンスの場合、ping 間隔を 5 秒に設定することをお勧めします。Neptune Serverless クラスターの場合、スケーリングオペレーション中の潜在的な遅延に対応するために、ping 間隔を少なくとも 20 秒に設定することをお勧めします。このパラメータは、クライアントがサーバーへの書き込みから ping を送信して接続がまだアクティブであることを確認するまでの待機時間を制御します。
このパラメータの設定は、クライアントの実装によって異なります。
Java クライアント設定
Java TinkerPop Gremlin クライアントの場合は、 keepAliveIntervalパラメータを設定します。
Cluster.Builder builder = Cluster.build() .addContactPoint(endpoint) .keepAliveInterval(20000); // Configure ping interval in milliseconds
Java ドライバー設定の詳細については、Java TinkerPop ドキュメント
Go クライアント設定
Gremlin Go クライアントの場合は、 KeepAliveIntervalパラメータを設定します。
rc, err := driver.NewDriverRemoteConnection(endpoint, func(settings *driver.DriverRemoteConnectionSettings) { settings.TraversalSource = "g" settings.AuthInfo = auth settings.KeepAliveInterval = 20 * time.Second // Configure ping interval ... })
Go ドライバー設定の詳細については、Go TinkerPop ドキュメント
JavaScript/Node.js クライアント設定
JavaScript/Node.js Gremlin クライアントの場合は、 pingIntervalパラメータを設定します。
const gremlin = require('gremlin'); const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection; const connection = new DriverRemoteConnection(endpoint, { traversalSource: 'g', pingInterval: 20000 // Configure ping interval in milliseconds });
JavaScript ドライバー設定の詳細については、JavaScript TinkerPop ドキュメント
Python クライアント設定
Python Gremlin クライアントの場合、ping 間隔は通常トランスポートレイヤーで管理されます。設定オプションについては、特定のトランスポート実装ドキュメントを参照してください。
from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection g = traversal().with_remote( DriverRemoteConnection('wss://your-neptune-endpoint:your-neptune-port/gremlin','g', transport_factory=lambda: AiohttpTransport(read_timeout=60, write_timeout=20, heartbeat=20, // Configure heartbeat call_from_event_loop=True, max_content_length=100*1024*1024, ssl_options=ssl.create_default_context(Purpose.CLIENT_AUTH))))
Python ドライバー設定の詳細については、Python TinkerPop ドキュメント
この設定により、クライアントは Neptune Serverless スケーリングイベント中に接続の安定性を維持し、不要な接続の閉鎖を防ぎ、アプリケーションの信頼性が向上します。