Arsitektur Dual Run

Halaman ini menjelaskan komponen utama Dual Run. Meskipun beberapa bagian arsitektur digunakan bersama antara perbandingan batch dan online, bagian lainnya khusus untuk salah satu workload.

Komponen Dual Run

Komponen Dual Run berjalan sebagai container di cluster Google Kubernetes Engine (GKE). Dual Run juga mengandalkan produk Google Cloud lain, seperti BigQuery, Cloud Storage, dan komponen khusus lainnya untuk perbandingan batch dan perbandingan online.

Komponen cluster Dual Run yang digunakan bersama untuk workload online dan batch adalah sebagai berikut:

  • Pengelola Konfigurasi: antarmuka pengguna dan dasbor.
  • Env Checker: mesin verifikasi penginstalan.

Pengelola Konfigurasi

Pengelola Konfigurasi adalah frontend aplikasi Dual Run. Anda menggunakan komponen ini untuk mengelola izin pengguna, mengonfigurasi beban kerja online melalui endpoint, dan mengedit dasbor. Anda dapat menyiapkan autentikasi pengguna dengan menggunakan sistem Identity and Access Management.

Config Manager juga menyediakan lingkungan dasbor tempat Anda dapat meninjau hasil perbandingan. Dasbor ini memungkinkan Anda melihat ringkasan hasil perbandingan berdasarkan filter yang Anda terapkan, dan memungkinkan Anda meninjau detail hasil untuk setiap entri.

Dasbor ini didasarkan pada Apache Superset, software open source untuk visualisasi dan eksplorasi data. Selain itu, Anda dapat membuat laporan dan kueri yang disesuaikan.

Env Checker

Env Checker adalah komponen Dual Run yang memverifikasi bahwa penginstalan dan deployment Dual Run berhasil diselesaikan. Alat ini memeriksa apakah semua komponen Dual Run yang diperlukan telah dikonfigurasi dan berjalan dengan benar, serta melaporkan error atau kesalahan konfigurasi lainnya.

Arsitektur untuk perbandingan batch

Diagram berikut menunjukkan arsitektur Dual Run untuk perbandingan batch, seperti yang dijelaskan di bagian berikut.

Arsitektur Dual Run dengan perbandingan file antara file mainframe dan Google Cloud .

Perbandingan File

Perbandingan File adalah komponen Run Ganda yang memungkinkan Anda membandingkan output file yang diharapkan dan sebenarnya dari penyiapan Run Ganda Anda. Saat melakukan perbandingan, Anda dapat menetapkan tingkat toleransi untuk menandai hasil sebagai setara.

Perbandingan File menggunakan Managed Service untuk Apache Spark, cluster Apache Spark yang terkelola sepenuhnya dan berjalan di Google Cloud, untuk melakukan perbandingan. Bergantung pada ukuran data yang ingin Anda bandingkan dan persyaratan infrastruktur, Anda dapat memilih dua pendekatan yang berbeda:

  • Lingkungan berbasis Spark serverless terkelola yang berjalan di Managed Service for Apache Spark yang dibuat sebagai bagian dari deployment Dual Run. Fitur ini menggunakan konfigurasi tetap yang memungkinkan Anda membandingkan file hingga beberapa GB. Ini adalah pendekatan default.
  • Cluster Spark di Managed Service untuk Apache Spark yang Anda buat dan konfigurasi setelah deployment Dual Run. Hal ini berguna dalam kasus berikut:
    • Anda berencana menggunakan konfigurasi VM atau disk kustom.
    • Anda perlu membandingkan file yang lebih besar dari beberapa GB.
    • Anda ingin menjalankan beberapa tugas perbandingan secara bersamaan.

Arsitektur untuk perbandingan online

Diagram berikut menunjukkan arsitektur Dual Run untuk perbandingan online, seperti yang dijelaskan di bagian berikut.

Arsitektur Dual Run untuk perbandingan online antara file mainframe dan Google Cloud .

Interceptor

Interceptor bertindak sebagai proxy yang sangat andal dan berperforma tinggi untuk sistem utama, yaitu aplikasi mainframe. Fitur ini memantau traffic aplikasi dan meneruskan permintaan ke sistem utama dengan latensi minimal. Fungsi ini mereplikasi semua permintaan dan respons untuk dualisasi berikutnya. Anda dapat men-deploy interceptor di lingkungan berbasis Kubernetes mana pun, termasuk project Dual Run atau lingkungan lokal Anda.

Interceptor beroperasi bahkan saat koneksi ke layanan Google Cloud gagal, sehingga memastikan ketersediaan maksimum untuk sistem utama.

Dual Run mendukung interceptor untuk pesan HTTP, TN3270, dan MQ.

Dualizer

Dualizer memutar ulang transaksi online yang direkam ke sistem sekunder yang dimodernisasi. Proses ini menggunakan transaksi yang direkam dari antrean dualisasi di Pub/Sub, mengirim permintaan ke sistem sekunder, dan mengambil respons.

Respons utama dan sekunder dibandingkan menggunakan mesin perbandingan pokok yang sama dengan yang digunakan Perbandingan File untuk batch. Permintaan, respons, dan hasil perbandingan disimpan di Cloud Storage, sementara hasil perbandingan di-streaming ke BigQuery. File konfigurasi dikelola oleh Config Manager dan dibaca dari Cloud Storage.

Handler Sesi

Handler sesi bertanggung jawab untuk mempertahankan sesi aktif dengan sistem sekunder. Handler sesi mempertahankan soket TCP terbuka per koneksi klien, untuk protokol komunikasi yang stateful, seperti TN3270. Untuk setiap permintaan yang diduakan ke sistem sekunder, dualizer mengirimkan permintaan yang diduakan ke handler sesi. Kemudian, handler sesi mengirimkannya ke sistem sekunder menggunakan soket terbuka, menerima respons sekunder, dan mengirimkannya kembali ke dualizer untuk diproses.

Google Cloud dependencies

Dual Run mengandalkan produk Google Cloud berikut untuk dijalankan:

  • Google Kubernetes Engine: Dual Run menggunakan GKE untuk menjalankan microservice-nya di pod.
  • Cloud Storage: Dual Run menyimpan file konfigurasi untuk lingkungan Anda dan artefak perbandingan yang Anda berikan di bucket Cloud Storage.
  • Artifact Registry: Dual Run menyimpan image container di registry untuk penggunaan GKE.
  • BigQuery: Dual Run menyimpan hasil output perbandingan untuk transaksi batch dan online di BigQuery.
  • Pub/Sub: Dual Run menggunakan Pub/Sub sebagai sistem pesan internal untuk meneruskan perubahan konfigurasi antar-podnya.
  • Cloud SQL: Dual Run membuat instance database Cloud SQL untuk memastikan kompatibilitas dengan update mendatang.

Perbandingan batch Dual Run mengandalkan produk tambahan berikut:

  • Managed Service for Apache Spark: Dual Run menggunakan cluster Spark tanpa server di Managed Service for Apache Spark untuk menjalankan perbandingan file.
  • Workflows dan Cloud Run Functions: Dual Run menggunakan Workflows untuk mengelola Cloud Run Functions yang menjalankan tugas perbandingan file.
  • Identity and Access Management: Dual Run mengandalkan Identity and Access Management untuk autentikasi dan pengelolaan akses, yang memungkinkan Anda menggunakan penyedia identitas Google atau SAML untuk mengautentikasi dan memberi otorisasi peran pengguna.

Perbandingan online Dual Run mengandalkan produk tambahan berikut:

  • Secret Manager: Dual Run menggunakan Secret Manager untuk menyimpan secret, seperti kredensial untuk pengelola antrean yang Anda deploy untuk Dual Run.
  • Cloud Monitoring: Dual Run menggunakan Cloud Monitoring untuk mengumpulkan dan memantau metrik, peristiwa, dan log dari komponen dan Google Cloud resource Dual Run Anda.
  • Cloud Trace: Dual Run menggunakan Cloud Trace untuk memberikan kemampuan pemantauan dan proses debug yang lebih baik.

Langkah berikutnya

Pelajari lebih lanjut Perbandingan File Dual Run.