View a markdown version of this page

Konfigurasi Detak Jantung untuk Neptune Serverless - 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 Neptune Serverless

Saat menggunakan WebSocket klien Gremlin dengan Neptune Serverless, 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 inst ans yang disediakan Neptunus, sebaiknya atur interval ping menjadi 5 detik. Untuk cluster Neptune Serverless, kami sarankan mengatur interval ping setidaknya 20 detik untuk mengakomodasi potensi penundaan selama operasi penskalaan. Parameter ini mengontrol berapa lama klien menunggu antara penulisan 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 selengkapnya tentang konfigurasi driver Java, lihat TinkerPop dokumentasi Java.

Konfigurasi Klien Go

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.

JavaScript/Node.js Konfigurasi Klien

Untuk klien JavaScript/Node.js Gremlin, 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 selengkapnya tentang konfigurasi JavaScript driver, lihat JavaScript TinkerPop dokumentasi.

Konfigurasi Klien Python

Untuk klien Python Gremlin, interval ping biasanya dikelola di lapisan transport. Konsultasikan dokumentasi implementasi transportasi 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 selengkapnya tentang konfigurasi driver Python, lihat TinkerPop dokumentasi Python.

Konfigurasi ini memastikan klien Anda mempertahankan stabilitas koneksi selama peristiwa penskalaan Neptune Serverless, mencegah penutupan koneksi yang tidak perlu dan meningkatkan keandalan aplikasi.