Glosarium — Teknologi

Apa itu arsitektur Outbox

Halaman ini diterjemahkan secara otomatis dari bahasa Jepang. Baca versi asli berbahasa Jepang

Arsitektur Outbox (pola Outbox) adalah pola desain yang mengantri pesan secara lokal dan secara otomatis mengirimkannya ketika koneksi jaringan dipulihkan. Di SimpleMemo, mekanisme ini memungkinkan Anda untuk meninggalkan catatan di terminal dan mengirimkannya saat terhubung, bahkan di lingkungan offline seperti kereta bawah tanah dan dalam penerbangan.

Definisi

Arsitektur Outbox adalah pola jaminan pengiriman pesan dalam sistem terdistribusi. Pengirim pertama-tama mengabadikan pesan ke Outbox lokal (kotak transmisi), dan proses latar belakang memonitor Outbox dan mengirimkannya secara berurutan saat terhubung ke jaringan. Setelah mengonfirmasi transmisi yang berhasil, hapus pesan dari Outbox. Ini mencegah "kehilangan data jika terjadi kegagalan jaringan". Pesan yang hanya kehilangan respons akan dikirim lagi, jadi untuk mencegah pesan yang sama diduplikasi dan tidak diterima, gabungkan dengan sisi penerima untuk mencegah duplikasi (seperti tombol daya). Di SimpleMemo, ID pesan untuk setiap memo diteruskan sebagai kunci daya ke layanan pengiriman email untuk mencegah duplikasi dalam jam 24. Dalam aplikasi seluler, ini adalah teknologi dasar dari desain pertama offline.

Elemen 3 dari pola Outbox

Kegigihan lokal
Catatan pertama kali disimpan di penyimpanan di perangkat. Terlepas dari keadaan jaringan, operasi pengguna selesai secara instan. Di SimpleMemo, itu dienkripsi dan disimpan dengan AES-256-GCM.
Kirim ulang saat koneksi dipulihkan
Saat aplikasi sedang berjalan, NWPathMonitor (pemantauan status jaringan API) mendeteksi dan mengirim ulang pemulihan koneksi. Saat aplikasi ditutup, pembaruan latar belakang iOS (iOS menentukan waktu eksekusi) atau mencoba mengirim ulang saat berikutnya Anda membuka aplikasi.
Hapus dengan konfirmasi
Hapus catatan dari Outbox hanya setelah menerima respons transmisi yang berhasil dari Relay API kami (Pekerja Cloudflare). Jika terjadi kesalahan, secara otomatis akan dikirim ulang (hingga 5 kali per kasus 1. Catatan yang dihentikan dapat ditransmisikan ulang secara manual dari layar riwayat).

Outbox implementasi dari SimpleMemo

SimpleMemo's Outbox bukan hanya antrian offline, tetapi dirancang untuk menggabungkan keamanan dan UX. Enkripsi dengan AES-256-GCM saat menyimpan catatan, dan dekripsi hanya saat mengirim. Memo yang dikirim akan dihapus dari Outbox. Saat Anda menekan tombol kirim secara offline, tertulis "Offline - Kirim saat terhubung" dan tinggalkan memo di Outbox.

Contoh: Mengirim catatan di kereta bawah tanah

Skenario

1. Masukkan ide Anda ke dalam memo di kereta bawah tanah dan ketuk tombol kirim

2. Aplikasi mengatakan "Offline - Kirim saat terhubung" (memo tetap ada di terminal sambil menunggu transmisi)

3. Di bagian belakang, enkripsi memo dengan AES-256-GCM dan simpan ke Outbox

4. Keluar ke tanah dan sambungkan ke LTE/Wi-Fi → Jika aplikasi sedang berjalan, NWPathMonitor mendeteksi koneksi (jika ditutup, pembaruan latar belakang iOS atau saat berikutnya Anda membuka aplikasi)

5. Ekstrak catatan dari Outbox, dekripsi dan kirimkan ke Pekerja Cloudflare API

6. Resend API menerima pengiriman, dan Relay API mengembalikan respons yang berhasil (bukan konfirmasi bahwa pesan telah tiba di kotak masuk Anda)

7. Hapus catatan dari Outbox

Pertanyaan yang Sering Diajukan (Arsitektur Outbox)

Apa itu arsitektur Outbox?

Ini adalah pola desain yang menyimpan pesan dalam antrian lokal (kotak transmisi) dan secara otomatis mengirimkannya saat terhubung ke jaringan. Saat offline, itu akan dibiarkan di terminal sebagai menunggu transmisi, dan ketika koneksi dipulihkan, transmisi akan dilanjutkan.

Bagaimana cara kerja Outbox dari SimpleMemo?

Jika jaringan tidak tersedia saat mengirim memo, enkripsi dengan AES-256-GCM dan simpan ke Outbox. Ketika koneksi dikembalikan, kirimkan ke Resend API melalui Cloudflare Workers segera setelah aplikasi berjalan, dan jika ditutup, pembaruan latar belakang iOS atau saat berikutnya aplikasi dibuka. Setelah mengirim, hapus dari Outbox.

Apakah memo Outbox aman?

Outbox yang disimpan di terminal dienkripsi dengan AES-256-GCM. Kunci enkripsi disimpan di Gantungan Kunci iOS, dan aplikasi membacanya saat mengenkripsi dan mendekripsi. Kuncinya adalah pengaturan yang tidak bermigrasi ke terminal lain. Pengiriman email bukanlah enkripsi ujung ke ujung. Silakan juga periksa pencadangan dan detail manajemen kunci.

Referensi dan tautan eksternal

Bahkan offline, catatan yang Anda tulis akan tetap ada di terminal
Dengan arsitektur Outbox + enkripsi AES-256-GCM, tinggalkan catatan di terminal di kereta bawah tanah atau di pesawat, dan kirimkan saat terhubung. Unduhannya gratis.
Unduh dari App Store

Halaman terkait