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, Anda menggunakan fitur ekspor langganan Pub/Sub Lite. Fitur langganan ekspor 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 artikel Memilih Pub/Sub atau Pub/Sub Lite.
Bagian berikut menguraikan beberapa perbedaan utama antara setiap layanan yang relevan saat bermigrasi antarlayanan. Hal ini mencakup pertimbangan berikut:
- Lokalitas dan replikasi data
- Mode pengiriman
- Keparalelan dan pengurutan
- Memutar ulang dan menghapus 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 zonaonal 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 yang diinginkan menggunakan kebijakan penyimpanan pesan Pub/Sub.
Pub/Sub tidak memberikan kontrol atas zona tertentu tempat pesan disimpan. Sebagai gantinya, layanan ini selalu mereplikasi data di tiga zona dalam satu region seperti yang 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. Jika Anda tidak menetapkan kebijakan organisasi secara eksplisit, Pub/Sub akan mengizinkan semua region dan otomatis memilih salah satu region untuk menyimpan pesan.
Mode pengiriman
Pub/Sub Lite. Untuk pengiriman pesan, Pub/Sub Lite hanya mendukung API StreamingPull RPC.
Pub/Sub. Untuk pengiriman pesan, Pub/Sub menawarkan beberapa opsi pengiriman pesan, termasuk pengiriman pesan StreamingPull.
Titik migrasi utama
Jika Anda ingin mereplikasi perilaku Pub/Sub Lite di Pub/Sub (misalnya, latensi rendah dan efisiensi tinggi), terapkan klien konsumen menggunakan StreamingPull API. Atau, Anda dapat menerapkan langganan Pub/Sub menggunakan mode pengiriman lain yang tersedia seperti Pengiriman push.
Keparalelan 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 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 dalam 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 yang dienkode UTF-8.
- Kunci Pub/Sub Lite disimpan sebagai byte.
- Kunci pengurutan Pub/Sub disimpan sebagai string.
Kunci pengurutan Pub/Sub memiliki throughput penayang maksimum 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.
Memutar ulang dan menghapus permanen
Pub/Sub Lite. Pub/Sub Lite mendukung fitur penelusuran tanpa memerlukan konfigurasi tambahan.
Pub/Sub. Pub/Sub mendukung fitur penelusuran, tetapi memerlukan konfigurasi tambahan untuk menyiapkannya.
Titik migrasi utama
Untuk mengaktifkan fitur penelusuran, Pub/Sub mengharuskan Anda mengonfigurasi setelan secara eksplisit di 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 sama dengan Pub/Sub Lite atau jika migrasi Anda memerlukan pemutaran ulang atau penghapusan 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 masalah tidak terduga muncul.
Pengelolaan kapasitas dan Harga
Pub/Sub Lite. Kapasitas Pub/Sub Lite disediakan secara manual dengan mengonfigurasi kapasitas penyimpanan dan throughput menggunakan reservasi Pub/Sub Lite.
Pub/Sub. Pub/Sub dikelola sepenuhnya dan diskalakan secara otomatis.
Titik migrasi utama
Saat bertransisi ke Pub/Sub, Anda dapat mengelola kapasitas dan harga dengan menetapkan penggantian kuota atau dengan meminta perubahan kuota untuk resource Pub/Sub Anda.
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 mendetail, 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 menggunakan 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 sesuai yang Anda perlukan.
- Pastikan Pub/Sub memenuhi semua persyaratan fungsional dan bisnis Anda.
Alur kerja migrasi bertahap
Langkah-langkah berikut memberikan ringkasan alur kerja migrasi langganan ekspor.
- Buat topik Pub/Sub yang relevan dan langganan ke topik tersebut.
- Buat langganan ekspor Pub/Sub Lite.
- Berlangganan langganan Pub/Sub dan Pub/Sub Lite.
- Perbarui penayang secara bertahap untuk mengirim pesan ke topik Pub/Sub, bukan topik Pub/Sub Lite.
- Pastikan workload yang dimigrasikan berfungsi sebagaimana mestinya.
- Menonaktifkan penayang 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
Buat topik Pub/Sub yang sesuai dan langganannya. Pada fase ini, Anda akan mengonfigurasi setelan topik dan langganan yang diperlukan, seperti kebijakan retensi pesan, konfirmasi pesan, dan penyimpanan pesan.
Jika diperlukan, tetapkan dan siapkan kuota untuk mencegah penggunaan berlebih dan penagihan tidak terduga. Yang terpenting, sebaiknya siapkan topik Pub/Sub Lite yang dihentikan pengirimannya untuk menyimpan pesan yang gagal dimigrasikan ke Pub/Sub. Hal ini memungkinkan Anda memecahkan masalah error dan mengidentifikasi akar masalah kegagalan ekspor serta 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 untuk semua langganan ekspor secara kolektif. Pada akhir fase ini, topik Pub/Sub Lite dan Pub/Sub Anda akan menerima pesan yang sama sejak langganan ekspor dibuat.
Kemudian, Anda dapat menggunakan topik Pub/Sub untuk mengembangkan dan menguji klien pelanggan secara bertahap dalam fase terisolasi. Pendekatan ini meminimalkan gangguan pada aplikasi Pub/Sub Lite yang ada.
Berlangganan ganda ke topik Pub/Sub Lite dan Pub/Sub
Di lingkungan pengembangan, perbarui klien pelanggan Anda untuk membaca pesan 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 dengan 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 subscriber dengan cermat untuk memastikan konsistensi pengiriman pesan, penanganan error, dan fungsi secara keseluruhan. Setelah semua pelanggan berhasil dimigrasikan dan divalidasi, nonaktifkan 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, update penayang Anda agar menggunakan library klien Pub/Sub. Hal ini memastikan bahwa Anda dapat secara bertahap mengalihkan traffic dari Pub/Sub Lite ke Pub/Sub.
Menonaktifkan Pub/Sub Lite
Setelah berhasil memigrasikan semua pelanggan dan penayang ke Pub/Sub, Anda dapat menonaktifkan resource Pub/Sub Lite. Hal ini membantu Anda menghindari biaya yang tidak perlu untuk infrastruktur yang tidak digunakan.