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.
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
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
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.