Setelah mengonfigurasi tugas pelacakan perubahan, Anda dapat menggunakan demo SDK yang disediakan oleh Data Transmission Service (DTS) untuk melacak dan mengonsumsi data. Topik ini menjelaskan cara menggunakan demo SDK untuk mengonsumsi data yang dilacak.
Prosedur
Untuk informasi tentang cara mengonsumsi data yang dilacak dari instance PolarDB-X 1.0 atau database logis Data Management (DMS), lihat Gunakan Kode Demo SDK untuk Mengonsumsi Data yang Dilacak dari Instance PolarDB-X 1.0.
Jika Anda melacak dan mengonsumsi data sebagai pengguna RAM, pengguna tersebut harus memiliki izin AliyunDTSFullAccess dan akses ke objek sumber. Untuk informasi lebih lanjut tentang cara memberikan izin, lihat Gunakan Kebijakan Sistem untuk Mengotorisasi Pengguna RAM Mengelola Instance DTS dan Berikan Izin kepada Pengguna RAM.
Kelompok konsumen beroperasi secara independen satu sama lain.
Topik ini menjelaskan cara menggunakan demo SDK untuk mengonsumsi data yang dilacak. Contoh ini menggunakan IntelliJ IDEA Community Edition 2020.1 untuk Windows.
Buat tugas pelacakan perubahan. Untuk detail lebih lanjut, lihat Lacak Perubahan Data dari Instance ApsaraDB RDS for MySQL, Lacak Perubahan Data dari Kluster PolarDB for MySQL, atau Lacak Perubahan Data dari Database Oracle yang Dikelola Sendiri.
Buat satu atau beberapa kelompok konsumen. Untuk informasi lebih lanjut, lihat Buat Kelompok Konsumen.
Gunakan demo SDK sesuai dengan kebutuhan bisnis Anda.
(Direkomendasikan) Gunakan SDK Pelacakan Perubahan Baru yang Dikemas
Buka IntelliJ IDEA dan klik Create New Project.
Di proyek yang dibuat, temukan file pom.xml.
Tambahkan dependensi berikut ke file pom.xml:
<dependency> <groupId>com.aliyun.dts</groupId> <artifactId>dts-new-subscribe-sdk</artifactId> <version>{dts_new_sdk_version}</version> </dependency>CatatanAnda dapat menemukan versi terbaru dari SDK Pelacakan Perubahan di halaman dts-new-subscribe-sdk.
Gunakan SDK Pelacakan Perubahan Baru. Untuk detail lebih lanjut tentang kode demo, lihat Kode Demo SDK.
Gunakan SDK Pelacakan Perubahan Baru dengan Menyesuaikan Kode
Unduh Paket Demo SDK dan ekstrak paket tersebut.
CatatanUntuk mengunduh paket, pilih
> Download ZIP.Buka direktori tempat paket diekstraksi. Kemudian, buka file pom.xml menggunakan editor teks dan ubah versi SDK ke versi terbaru.
PentingVersi terbaru dari SDK Pelacakan Perubahan dapat ditemukan di situs Maven. Untuk informasi lebih lanjut, kunjungi Halaman Maven dari SDK Pelacakan Perubahan.
Buka IntelliJ IDEA. Di jendela yang muncul, klik Open or Import.

Di kotak dialog yang muncul, navigasikan ke direktori tempat paket diekstraksi, temukan file pom.xml, lalu klik OK.

Di kotak dialog yang muncul, pilih Open as Project.
Di IntelliJ IDEA, perluas folder untuk menemukan file Java. Lalu, klik dua kali file Java berdasarkan mode penggunaan klien SDK. File Java DTSConsumerAssignDemo.java dan DTSConsumerSubscribeDemo.java tersedia.
CatatanDTS mendukung mode berikut dalam menggunakan klien SDK:
Mode ASSIGN: Untuk memastikan urutan global pesan, DTS hanya menetapkan satu partisi (Partition 0) ke setiap topik yang dilacak. Jika Anda menggunakan klien SDK dalam mode ASSIGN, kami sarankan untuk memulai hanya satu klien SDK.
Mode SUBSCRIBE: Untuk memastikan urutan global pesan, DTS hanya menetapkan satu partisi (Partition 0) ke setiap topik yang dilacak. Dalam mode SUBSCRIBE, Anda dapat memulai beberapa klien SDK dalam kelompok konsumen secara bersamaan untuk mengimplementasikan pemulihan bencana. Jika klien SDK dalam kelompok konsumen gagal, klien SDK lainnya akan dialokasikan secara acak dan otomatis ke Partition 0 untuk melanjutkan konsumsi data.
Atur parameter yang diperlukan dalam kode file Java.

Tabel 1. Parameter yang Diperlukan
Parameter
Deskripsi
Cara mendapatkan
brokerUrlTitik akhir dan nomor port dari instance pelacakan perubahan.
CatatanJika Anda melacak perubahan data melalui jaringan internal, latensi jaringan minimal. Ini berlaku jika instance Elastic Compute Service (ECS) tempat Anda menyebarkan klien SDK termasuk dalam jaringan klasik atau VPC yang sama dengan instance pelacakan perubahan.
Di konsol DTS baru, klik ID instance. Di halaman Basic Information, Anda dapat memperoleh titik akhir dan nomor port di bagian Network.

topicNama topik dari instance pelacakan perubahan.
Di konsol DTS, klik ID instance. Di halaman Basic Information, Anda dapat memperoleh topik yang dilacak di bagian Basic Information.

sidID kelompok konsumen.
Di konsol DTS, klik ID instance. Di panel navigasi di sebelah kiri, klik Consume Data. Anda dapat memperoleh ID dan akun kelompok konsumen.
CatatanKata sandi akun kelompok konsumen ditentukan secara otomatis saat Anda membuat kelompok konsumen.

userNameAkun kelompok konsumen.
PeringatanJika Anda tidak menggunakan klien SDK yang dijelaskan dalam topik ini, Anda harus menentukan parameter ini dalam format berikut:
<Username>-<Consumer group ID>. Contoh:dtstest-dtsae******bpv. Jika tidak, koneksi gagal.passwordKata sandi akun.
initCheckpointCheckpoint konsumsi. Ini adalah timestamp ketika klien SDK mengonsumsi catatan data pertama. Nilainya adalah timestamp UNIX. Contoh: 1620962769.
CatatanCheckpoint konsumsi dapat digunakan dalam skenario berikut:
Jika proses konsumsi terganggu, Anda dapat menentukan checkpoint konsumsi untuk melanjutkan konsumsi data. Ini memungkinkan Anda mencegah kehilangan data.
Saat Anda memulai klien pelacakan perubahan, Anda dapat menentukan checkpoint konsumsi untuk mengonsumsi data sesuai permintaan.
Checkpoint konsumsi harus berada dalam rentang data instance pelacakan perubahan, seperti yang ditunjukkan pada gambar berikut. Checkpoint konsumsi harus dikonversi ke timestamp UNIX.
CatatanAnda dapat menggunakan mesin pencari untuk mendapatkan konverter timestamp UNIX.
ConsumerContext.ConsumerSubscribeMode subscribeModeMode Anda menggunakan klien SDK. Nilai valid:
ConsumerContext.ConsumerSubscribeMode.ASSIGN: Dalam mode ASSIGN, hanya satu klien SDK dalam kelompok konsumen yang dapat mengonsumsi data yang dilacak.ConsumerContext.ConsumerSubscribeMode.SUBSCRIBE: Dalam mode SUBSCRIBE, Anda dapat memulai beberapa klien SDK dalam kelompok konsumen secara bersamaan untuk mengimplementasikan pemulihan bencana.
Tidak tersedia
Di bilah navigasi atas IntelliJ IDEA, pilih untuk menjalankan klien.
CatatanSaat menjalankan IntelliJ IDEA untuk pertama kalinya, diperlukan waktu untuk memuat dan menginstal dependensi yang relevan.
Gambar berikut menunjukkan hasilnya. Hasil ini menunjukkan bahwa klien SDK dapat melacak perubahan data dari database sumber.

Klien SDK menghitung dan menampilkan informasi tentang data yang dikonsumsi pada interval reguler. Informasi tersebut mencakup jumlah total catatan data yang dikirim dan diterima, jumlah total data, serta jumlah permintaan per detik (RPS).

Tabel 2. Parameter dalam Informasi Tersebut
Parameter
Deskripsi
outCountsJumlah total catatan data yang dikonsumsi oleh klien SDK.
outBytesJumlah total data yang dikonsumsi oleh klien SDK. Satuan: byte.
outRpsRPS di mana klien SDK mengonsumsi data.
outBpsJumlah bit yang ditransmisikan per detik di mana klien SDK mengonsumsi data.
inBytesJumlah total data yang dikirim oleh server DTS. Satuan: byte.
DStoreRecordQueueUkuran antrian cache data saat ini ketika server DTS mengirim data.
inCountsJumlah total catatan data yang dikirim oleh server DTS.
inRpsRPS di mana server DTS mengirim data.
__dtTimestamp yang dihasilkan ketika klien SDK menerima data. Satuan: milidetik.
DefaultUserRecordQueueUkuran antrian cache data saat ini setelah serialisasi.
Simpan dan kueri checkpoint konsumsi
Saat klien SDK dijalankan untuk pertama kali atau dimulai ulang, atau terjadi percobaan ulang internal, Anda harus mengkueri dan menentukan checkpoint konsumsi untuk memulai atau melanjutkan konsumsi data. Tabel berikut menjelaskan cara mengelola dan mengkueri checkpoint konsumsi dalam skenario berbeda. Ini mencegah kehilangan data atau data duplikat dan memungkinkan Anda mengonsumsi data sesuai permintaan.
Skenario | Mode penggunaan klien SDK | Metode kueri |
Kueri checkpoint konsumsi | ASSIGN dan SUBSCRIBE |
|
Saat Anda memulai klien SDK untuk pertama kali, Anda harus menentukan checkpoint konsumsi untuk mengonsumsi data. | ASSIGN dan SUBSCRIBE | Pilih file DTSConsumerAssignDemo.java atau DTSConsumerSubscribeDemo.java berdasarkan mode Anda menggunakan klien SDK. Lalu, tentukan parameter |
Saat terjadi percobaan ulang internal, Anda harus menentukan checkpoint konsumsi dari catatan data sebelumnya untuk melanjutkan konsumsi data. | ASSIGN | Lakukan langkah-langkah berikut untuk menemukan checkpoint konsumsi dari catatan data sebelumnya:
|
SUBSCRIBE | Lakukan langkah-langkah berikut untuk menemukan checkpoint konsumsi dari catatan data sebelumnya:
| |
Setelah klien SDK dimulai ulang, Anda harus menentukan checkpoint konsumsi dari catatan data terakhir untuk melanjutkan konsumsi data. | ASSIGN | Periksa pengaturan parameter
|
SUBSCRIBE | Dalam mode ini, pengaturan parameter
|
Pemecahan Masalah
Masalah | Pesan kesalahan | Penyebab | Solusi |
Koneksi gagal. | | Nilai parameter | Masukkan nilai valid untuk parameter |
| Alamat broker tidak dapat dialihkan ke alamat IP asli. | ||
| Nama pengguna atau kata sandi yang ditentukan tidak valid. | ||
| Parameter | Tentukan checkpoint konsumsi dalam rentang data instance pelacakan perubahan. Untuk informasi lebih lanjut, lihat Tabel berikut menjelaskan parameter yang diperlukan.. | |
Waktu respons konsumsi data meningkat. | Tidak tersedia | Anda dapat menganalisis penyebab dengan mengkueri parameter DStoreRecordQueue dan DefaultUserRecordQueue. Untuk informasi lebih lanjut, lihat Tabel berikut menjelaskan parameter dalam informasi tersebut..
| |