Melakukan migrasi dari Pub/Sub Lite ke Pub/Sub

Dokumen ini memberikan informasi tentang cara memigrasikan aplikasi dan data Pub/Sub Lite dari Pub/Sub Lite ke Pub/Sub.

Untuk bermigrasi ke Pub/Sub, gunakan fitur langganan ekspor Pub/Sub Lite. Fitur ekspor langganan mengonversi pesan dari Pub/Sub Lite menjadi pesan Pub/Sub menggunakan jenis langganan yang disebut langganan ekspor.

Perbedaan antara Pub/Sub Lite dan Pub/Sub

Pub/Sub dan Pub/Sub Lite adalah layanan pesan yang dapat diskalakan secara horizontal, tetapi setiap layanan memiliki perbedaan utama dalam cara kerjanya. Untuk memahami perbedaan ini secara mendetail, baca Memilih Pub/Sub atau Pub/Sub Lite.

Bagian berikut menguraikan beberapa perbedaan utama antara setiap layanan yang relevan saat bermigrasi antarlayanan. Pertimbangan ini mencakup pertimbangan berikut:

  • Lokalitas dan replikasi data
  • Mode pengiriman
  • Paralelisme dan pengurutan
  • Putar ulang dan hapus permanen
  • Pengelolaan kapasitas dan Harga

Lokalitas dan replikasi data

  • Pub/Sub Lite. Topik Pub/Sub Lite regional mereplikasi data ke zona sekunder dalam region yang sama. Topik Pub/Sub Lite Zona menyimpan data di satu zona tanpa replikasi.

  • Pub/Sub. Pub/Sub mereplikasi data di tiga zona dalam satu region.

Titik migrasi utama

Penting untuk memahami cara setiap layanan mereplikasi data secara berbeda.

Saat menggunakan Pub/Sub, Anda dapat memastikan bahwa data disimpan di region pilihan dengan menggunakan kebijakan penyimpanan pesan Pub/Sub.

  • Pub/Sub tidak memberikan kontrol atas zona tertentu tempat pesan disimpan. Sebaliknya, library ini selalu mereplikasi data di tiga zona dalam suatu region sebagaimana ditentukan oleh kebijakan penyimpanan pesan.

  • Jika Anda tidak menentukan kebijakan penyimpanan pesan, Pub/Sub akan otomatis menentukan tempat pesan disimpan berdasarkan kebijakan organisasi Pembatasan Lokasi Resource Anda. Jika Anda tidak menetapkan kebijakan organisasi secara eksplisit, Pub/Sub akan mengizinkan semua region dan secara otomatis memilih satu region untuk menyimpan pesan.

Mode pengiriman

Titik migrasi utama

Jika Anda ingin mereplikasi perilaku Pub/Sub Lite di Pub/Sub (misalnya, latensi rendah dan efisiensi tinggi), terapkan klien konsumen Anda menggunakan StreamingPull API. Atau, Anda dapat mengimplementasikan langganan Pub/Sub menggunakan mode pengiriman lain yang tersedia seperti Pengiriman Push.

Paralelisme dan pengurutan

  • Pub/Sub Lite. Pub/Sub Lite mendukung paralelisme per partisi.

  • Pub/Sub. Pub/Sub mendukung paralelisme per pesan.

Titik migrasi utama

Pub/Sub bukan solusi berbasis partisi. Pesan Pub/Sub juga dapat diproses secara serentak, yang berarti bahwa urutan pesan tidak dijamin. Jika aplikasi Anda memerlukan pengurutan pesan, gunakan kunci pengurutan Pub/Sub.

Saat menggunakan langganan ekspor di Pub/Sub Lite, kunci Pub/Sub Lite digunakan sebagai kunci pengurutan di Pesan Pub/Sub. Hal ini memastikan bahwa pesan terus dikirim secara berurutan.

Untuk memastikan kompatibilitas dengan pesan Pub/Sub, pastikan kunci Pub/Sub Lite Anda hanya berisi karakter berenkode UTF-8.

  • Kunci Pub/Sub Lite disimpan sebagai byte.
  • Kunci pemesanan Pub/Sub disimpan sebagai string.

Kunci pemesanan Pub/Sub memiliki throughput penayang maksimum sebesar 1 MBps. Pengurutan pesan di Pub/Sub hanya dijamin dalam satu region. Untuk menerima pesan yang diurutkan di Pub/Sub, Anda harus mengaktifkan pengurutan pesan secara eksplisit di setelan langganan.

Putar ulang dan hapus permanen

  • Pub/Sub Lite. Pub/Sub Lite mendukung fitur seek tanpa memerlukan konfigurasi tambahan.

  • Pub/Sub. Pub/Sub mendukung fitur pencarian tetapi memerlukan konfigurasi tambahan untuk menyiapkannya.

Titik migrasi utama

Untuk mengaktifkan fitur pencarian, Pub/Sub mengharuskan Anda mengonfigurasi setelan secara eksplisit pada topik dan langganan.

  • Topik: Anda harus mengonfigurasi durasi retensi pesan
  • Langganan: Anda harus mengonfigurasi retensi pesan yang dikonfirmasi.

Mengonfigurasi setelan ini sangat penting jika Anda memerlukan paritas yang tepat dengan Pub/Sub Lite atau jika migrasi memerlukan pemutaran ulang atau pembersihan pesan. Terlepas dari persyaratan spesifik Anda, kemampuan untuk mencari dan memproses ulang pesan adalah pengamanan yang berharga selama migrasi bertahap. Hal ini memungkinkan rollback dan meminimalkan kehilangan data jika muncul masalah yang tidak terduga.

Pengelolaan kapasitas dan Harga

  • Pub/Sub Lite. Kapasitas Pub/Sub Lite disediakan secara manual dengan mengonfigurasi penyimpanan dan kapasitas throughput menggunakan reservasi Pub/Sub Lite.

  • Pub/Sub. Pub/Sub terkelola sepenuhnya dan diskalakan secara otomatis.

Titik migrasi utama

Saat melakukan transisi ke Pub/Sub, Anda dapat mengelola kapasitas dan harga dengan menetapkan penggantian kuota atau dengan meminta perubahan kuota untuk resource Pub/Sub.

Alasan utama untuk mengelola kapasitas Pub/Sub adalah untuk mematuhi persyaratan biaya yang ketat. Jika Anda tidak memiliki batas biaya yang ketat, Pub/Sub dapat mengelola resource secara efisien tanpa banyak intervensi. Pub/Sub ditagih berdasarkan penggunaan. Untuk mengetahui informasi selengkapnya, lihat Harga Pub/Sub.

Merencanakan migrasi

Untuk bermigrasi dari Pub/Sub Lite ke Pub/Sub, Anda dapat menggunakan fitur langganan ekspor Pub/Sub Lite. Ekspor langganan memungkinkan Anda memigrasikan aplikasi Pub/Sub Lite secara bertahap. Dengan mengadopsi pendekatan bertahap, Anda dapat memperbarui, menguji, dan memantau migrasi secara iteratif, sehingga meminimalkan risiko error dan periode nonaktif.

Sebelum memulai

  • Evaluasi aplikasi Pub/Sub Lite yang ada dan petakan fitur Pub/Sub yang Anda butuhkan.
  • Pastikan Pub/Sub memenuhi semua persyaratan fungsional dan bisnis Anda.

Alur kerja migrasi bertahap

Langkah-langkah berikut memberikan ringkasan alur kerja migrasi langganan ekspor.

  1. Membuat topik Pub/Sub yang relevan dan langganan ke topik tersebut.
  2. Buat langganan ekspor Pub/Sub Lite.
  3. Berlangganan langganan Pub/Sub dan Pub/Sub Lite.
  4. Secara bertahap mengupdate penayang agar mengirim pesan ke topik Pub/Sub, bukan ke topik Pub/Sub Lite.
  5. Pastikan beban kerja yang dimigrasikan berfungsi sebagaimana mestinya.
  6. Menonaktifkan penerbit dan pelanggan Pub/Sub Lite.

Fase migrasi

Bagian berikut memberikan detail tentang setiap langkah dalam alur kerja migrasi bertahap.

Membuat topik dan langganan Pub/Sub

Membuat topik Pub/Sub yang sesuai dan langganannya. Pada fase ini, Anda akan mengonfigurasi topik dan setelan langganan yang diperlukan, seperti retensi pesan, konfirmasi pesan, dan kebijakan penyimpanan pesan.

Jika perlu, tetapkan dan siapkan kuota untuk mencegah penggunaan yang berlebihan dan penagihan tidak terduga. Yang terpenting, sebaiknya siapkan topik Pub/Sub Lite yang dihentikan pengirimannya untuk menangkap pesan yang gagal dimigrasikan ke Pub/Sub. Hal ini memungkinkan Anda memecahkan masalah error dan mengidentifikasi penyebab utama kegagalan ekspor dan mengirim ulang pesan yang gagal ke topik yang benar, sehingga memastikan tidak ada data yang hilang.

Membuat langganan ekspor Pub/Sub Lite

Untuk setiap topik, buat langganan ekspor Pub/Sub Lite untuk mengekspor pesan dari topik Pub/Sub Lite ke topik Pub/Sub yang sesuai. Daripada menetapkan kapasitas throughput satu per satu untuk setiap langganan ekspor, gunakan reservasi Pub/Sub Lite untuk mengelola throughput secara efisien bagi semua langganan ekspor Anda secara kolektif. Pada akhir fase ini, topik Pub/Sub Lite dan Pub/Sub akan menerima pesan yang sama sejak langganan ekspor dibuat.

Selanjutnya, Anda dapat menggunakan topik Pub/Sub untuk secara bertahap mengembangkan dan menguji klien pelanggan dalam fase-fase terpisah. Pendekatan ini meminimalkan gangguan pada aplikasi Pub/Sub Lite yang ada.

Berlangganan topik Pub/Sub Lite dan Pub/Sub secara ganda

Dalam lingkungan pengembangan, perbarui klien pelanggan Anda untuk membaca pesan secara langsung dari topik Pub/Sub menggunakan library klien Pub/Sub yang sesuai. Tidak seperti Pub/Sub Lite, Pub/Sub menawarkan beberapa. Tidak seperti Pub/Sub Lite, Pub/Sub menawarkan beberapa mode pengiriman (pull dan push), jadi pilih salah satu yang paling sesuai dengan persyaratan aplikasi Anda.

  • Untuk mengemulasi perilaku yang sama seperti Pub/Sub Lite, konfigurasikan instance Pub/Sub dengan StreamingPull API.

  • Dalam sistem yang memiliki beberapa aplikasi konsumen, migrasikan setiap aplikasi secara bertahap satu per satu. Untuk setiap aplikasi pelanggan, jalankan pelanggan Pub/Sub Lite dan pelanggan Pub/Sub baru secara paralel, sehingga Anda dapat memverifikasi perilaku dan performa pelanggan baru. Pantau kedua pelanggan dengan cermat untuk memastikan konsistensi pengiriman pesan, penanganan error, dan fungsionalitas secara keseluruhan. Setelah semua pelanggan berhasil dimigrasikan dan divalidasi, hentikan klien pelanggan Pub/Sub Lite lama.

Memperbarui penayang

Setelah semua pelanggan berhasil menggunakan pesan dari Pub/Sub, Anda dapat memperbarui penayang secara bertahap untuk mengirim pesan langsung ke topik Pub/Sub. Untuk melakukannya, perbarui penayang agar menggunakan library klien Pub/Sub. Dengan begitu, Anda dapat mengalihkan traffic secara bertahap dari Pub/Sub Lite ke Pub/Sub.

Menonaktifkan Pub/Sub Lite

Setelah berhasil memigrasikan semua pelanggan dan penerbit ke Pub/Sub, Anda dapat menonaktifkan resource Pub/Sub Lite. Hal ini membantu Anda menghindari timbulnya biaya yang tidak perlu untuk infrastruktur yang tidak digunakan.

Langkah selanjutnya