Konfigurasi Detak Jantung untuk Neptunus Tanpa Server - Amazon Neptune

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konfigurasi Detak Jantung untuk Neptunus Tanpa Server

Saat menggunakan WebSocket klien Gremlin dengan Neptunus Tanpa Server, Anda perlu mengonfigurasi interval ping klien dengan tepat untuk mempertahankan koneksi yang stabil selama peristiwa penskalaan. Klien Gremlin menggunakan WebSocket koneksi dan mengirimkan ping berkala untuk memverifikasi koneksi aktif. Klien mengharapkan respons dari server dalam jangka waktu interval ping. Jika server tidak merespons, klien secara otomatis menutup koneksi.

Untuk instance yang disediakan Neptunus, sebaiknya atur interval ping menjadi 5 detik. Untuk cluster Neptunus Tanpa Server, sebaiknya atur interval ping setidaknya 20 detik untuk mengakomodasi potensi penundaan selama operasi penskalaan. Parameter ini mengontrol berapa lama klien menunggu antara menulis ke server sebelum mengirim ping untuk memverifikasi koneksi masih aktif.

Konfigurasi parameter ini bervariasi tergantung pada implementasi klien:

Konfigurasi Klien Java

Untuk klien Java TinkerPop Gremlin, konfigurasikan parameter: keepAliveInterval

Cluster.Builder builder = Cluster.build() .addContactPoint(endpoint) .keepAliveInterval(20000); // Configure ping interval in milliseconds

Untuk detail lebih lanjut tentang konfigurasi driver Java, lihat TinkerPop dokumentasi Java.

Konfigurasi Go Client

Untuk klien Gremlin Go, konfigurasikan parameter: KeepAliveInterval

rc, err := driver.NewDriverRemoteConnection(endpoint, func(settings *driver.DriverRemoteConnectionSettings) { settings.TraversalSource = "g" settings.AuthInfo = auth settings.KeepAliveInterval = 20 * time.Second // Configure ping interval ... })

Untuk detail selengkapnya tentang konfigurasi driver Go, lihat TinkerPop dokumentasi Go.

JavaScriptKonfigurasi Klien /Node.js

Untuk klien Gremlin JavaScript /Node.js, konfigurasikan parameter: pingInterval

const gremlin = require('gremlin'); const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection; const connection = new DriverRemoteConnection(endpoint, { traversalSource: 'g', pingInterval: 20000 // Configure ping interval in milliseconds });

Untuk detail lebih lanjut tentang konfigurasi JavaScript driver, lihat JavaScript TinkerPop dokumentasi.

Konfigurasi Klien Python

Untuk klien Python Gremlin, interval ping biasanya dikelola pada lapisan transport. Konsultasikan dokumentasi implementasi transport khusus untuk opsi konfigurasi:

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))))

Untuk detail lebih lanjut tentang konfigurasi driver Python, lihat dokumentasi Python. TinkerPop

Konfigurasi ini memastikan klien Anda menjaga stabilitas koneksi selama peristiwa penskalaan Neptunus Tanpa Server, mencegah penutupan koneksi yang tidak perlu dan meningkatkan keandalan aplikasi.