Cuba semula
Glasswall Halo terdiri daripada pelbagai perkhidmatan yang berkomunikasi menggunakan mesej tak segerak dan bukannya HTTP. Bagi perkhidmatan ini, kami telah membuat pertimbangan tentang cara platform mengendalikan kegagalan sekiranya berlaku ralat semasa memproses mesej.
API Segerak dan API Tak Segerak
API melanggan baris gilir respons daripada Glasswall Engine, namun sekiranya berlaku kegagalan, respons ralat akan dikembalikan kepada klien http.
Perkhidmatan enjin
Seni bina ini ialah request/response menggunakan baris gilir reply-to RabbitMQ. Ini bermakna sekiranya berlaku kegagalan, semasa mengendalikan mesej kami masih menghantar mesej respons yang mengandungi sebab kegagalan.
Pengagregat laporan
Pengagregat laporan berfungsi sebagai pengguna mesej standard dan fungsi tambahan telah diperkenalkan untuk membolehkan percubaan semula mesej. Dua pilihan konfigurasi tersedia pada perkhidmatan ini.
Retrymessages ialah bool dengan nilai lalai true yang membolehkan fungsi untuk mencuba semula mesej. Jika dimatikan semua mesej yang gagal akan segera dimasukkan ke dalam baris gilir dead letter.
Messagettl ialah integer yang mewakili bilangan saat sesuatu mesej boleh berada dalam baris gilir. Ini adalah untuk mengelakkan mesej bertimbun disebabkan mesej gagal yang mencuba semula tanpa henti. Apabila tempoh hayat sesuatu mesej telah tamat, ia dimasukkan ke dalam baris gilir dead letter. nilai lalai kod ialah 30 saat.
Fungsi pengagregat laporan tidak kritikal untuk klien menerima fail mereka dan digunakan untuk menghasilkan data laporan agregat. Disebabkan hal ini, dead lettering bagi mesej pengagregat laporan tidak dianggap sebagai kegagalan kritikal dan dead letter boleh diterima (hanya dalam kes yang melampau).