Lihat konektor yang didukung untuk Application Integration.

Membuat layanan web

Halaman ini menjelaskan cara membuat layanan web di VM menggunakan framework web Gin yang ditulis dalam Golang. Anda dapat memilih untuk membuat layanan web di framework lain yang ingin Anda gunakan.

  1. Untuk mendownload paket Go di VM, jalankan perintah berikut di VM:
    wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
      
  2. Instal Go di VM. Untuk mengetahui informasinya, lihat Menginstal Go.
  3. Untuk membuat direktori baru bagi layanan web, jalankan perintah berikut:
    mkdir SERVICE_REPO
      cd SERVICE_REPO
      

Pertimbangan lainnya

Saat membuat layanan web, Anda harus mengetahui pertimbangan berikut:

  • Input yang Anda perlukan selama pembuatan VM tersedia sebagai variabel lingkungan dan memiliki awalan berikut: CONNECTOR_ENV_.
  • Saat menyiapkan layanan web, gunakan variabel lingkungan untuk membaca nilai tersebut.
  • Hanya nilai yang diperlukan untuk menyiapkan layanan web yang harus diambil sebagai input selama pembuatan VM.
  • Port layanan harus diambil sebagai input dari variabel CONNECTOR_ENV_PORT.
  • Gunakan variabel lingkungan lain untuk input opsional.
  • Anda juga bisa mendapatkan input selama pembuatan koneksi. Anda dapat menentukan kolom ini saat membuat konektor kustom dan meneruskannya sebagai jalur, kueri, atau header di setiap panggilan API.
  • Pastikan server berjalan di localhost.

Logging

Catat informasi yang diperlukan dan kirim log ke Cloud Logging. Hal ini membantu konsumen konektor melacak dan men-debug kegagalan. Untuk memublikasikan log ke Cloud Logging, Anda dapat menggunakan klien Cloud Logging berikut yang tersedia di Go: https://pkg.go.dev/cloud.google.com/go/logging#NewClient

Anda harus melakukan inisialisasi logger di main dan menambahkan middleware di Gin untuk melacak semua permintaan masuk. Anda harus melacak metode, jalur, status, dan latensi untuk permintaan. Untuk memfilter log, gunakan tingkat keparahan yang sesuai saat mencatat log. Di layanan web, baca tingkat log dari variabel lingkungan. Tingkat log diambil sebagai input opsional selama pembuatan VM. Secara default, log Info dapat digunakan. Berikut adalah level log:

  • DEBUG: mencatat setiap bagian permintaan, termasuk rekaman aktivitas permintaan/respons HTTP.
  • INFO: mencatat startup layanan, penonaktifan layanan, permintaan, dan informasi lainnya.
  • ERROR: mencatat kegagalan permintaan, pengecualian pemformatan, dan error lainnya.

Penghentian tuntas

Siapkan server untuk mematikan secara halus dan menangani permintaan yang sedang diproses. Untuk mengetahui informasi tentang cara memulai ulang atau menghentikan server dengan benar, lihat Memulai ulang atau menghentikan dengan benar.

Serentak

Server Gin secara inheren mendukung permintaan serentak menggunakan rutin Go. Secara default, sejumlah permintaan yang tidak ditentukan diizinkan untuk diproses oleh rutin Go. Namun, dalam beberapa kasus, saat permintaan diperkirakan akan menggunakan banyak resource, gunakan kumpulan pekerja untuk membatasi dan mem-buffer permintaan di server. Untuk mengetahui informasi selengkapnya, lihat Contoh kumpulan pekerja.

Menguji dan membangun biner

  1. Tetapkan port dan jalankan server menggunakan perintah berikut:
  2. EXPORT CONNECTOR_ENV_PORT = 8081
    go get .
    go run .

    Perintah ini menggabungkan library yang diperlukan dan menjalankan server.

  3. Untuk memverifikasi server, jalankan perintah curl berikut di VM:
    curl -X POST -H "Content-Type: application/json" -H "X-Custom-Header: MyValue" -d '{"name": "Alice", "address": "123 Main St", "gender": "F"}' http://localhost:8081/postData/456
    curl -v http://localhost:8081/getData -H "TestKey: MyValue"
  4. Buat biner dan gunakan sebagai image VM menggunakan perintah berikut:
    go build -o SERVICE_NAME
  5. Pindahkan biner ke folder root menggunakan perintah berikut:
    sudo cp SERVICE_NAME /opt
  6. Jalankan layanan lagi untuk memverifikasi bahwa program biner berfungsi seperti yang diharapkan menggunakan perintah berikut:
    sudo chmod +x SERVICE_NAME
    ./SERVICE_NAME

Mem-build aplikasi dalam container

  1. Instal Docker. Untuk mengetahui informasinya, lihat Menginstal Docker.
  2. Buat file Docker untuk menjalankan biner.
    FROM alpine:latest
    WORKDIR /opt
    COPY . .
    CMD ["./SERVICE_NAME"]
  3. Bangun container konektor menggunakan perintah berikut:
    sudo docker build -t connector-container .
  4. Jalankan container Docker. Tetapkan --restart=unless-stopped untuk memulai ulang layanan jika terjadi kegagalan yang tidak terduga.

Tugas tingkat penampung

Semua log di stdout dapat dirutekan ke Cloud Logging menggunakan driver Log gcplogs saat menjalankan container Docker. Hal ini membantu melacak startup atau kegagalan atau penonaktifan layanan yang tidak terduga.

Untuk merutekan log ke Cloud Logging, jalankan perintah berikut:
  sudo docker run --name connector-service -e
  CONNECTOR_ENV_PORT=$CONNECTOR_ENV_PORT -p
  $CONNECTOR_ENV_PORT:$CONNECTOR_ENV_PORT --restart=unless-stopped ----log-driver=gcplogs connector-container

Langkah berikutnya