Saya belajar sedikit pelajaran (dengan cara yang sulit). Saya membuat aplikasi pengolah angka yang berjalan di layanan cloud Ubuntu AWS EC2 (menggunakan GPU yang kuat), dan saya ingin membuatnya menjadi front-end hanya untuk melihat kemajuannya secara realtime. Karena fakta bahwa itu membutuhkan data waktu nyata, jelas bahwa saya membutuhkan soket web untuk mendorong pembaruan.
Ini dimulai dengan bukti konsep, dan bekerja dengan baik. Tapi kemudian ketika kami ingin membuatnya tersedia untuk umum, kami harus menambahkan sesi pengguna, jadi kami membutuhkan fitur login. Dan tidak peduli bagaimana Anda melihatnya, websocket harus mengetahui pengguna mana yang dihadapinya, jadi kami mengambil jalan pintas menggunakan websockets untuk mengautentikasi pengguna . Tampaknya jelas, dan nyaman.
Kami benar-benar harus meluangkan waktu untuk membuat koneksi dapat diandalkan. Kami memulai dengan beberapa tutorial websocket murah, tetapi menemukan bahwa implementasi kami tidak dapat terhubung kembali secara otomatis ketika koneksi terputus. Itu semua membaik saat kami beralih ke socket-io. Socket-io adalah suatu keharusan!
Karena itu, sejujurnya, saya pikir kami melewatkan beberapa fitur socket-io yang hebat. Socket-io memiliki lebih banyak hal untuk ditawarkan, dan saya yakin, jika Anda memperhitungkannya dalam desain awal Anda, Anda bisa mendapatkan lebih banyak darinya. Sebaliknya, kami hanya mengganti websockets lama dengan fungsionalitas websocket dari socket-io, dan hanya itu. (tidak ada kamar, tidak ada saluran, ...) Desain ulang bisa membuat segalanya lebih kuat. Tapi kami tidak punya waktu untuk itu. Itu adalah sesuatu yang perlu diingat untuk proyek kita selanjutnya.
Selanjutnya kami mulai menyimpan lebih banyak data (riwayat pengguna, faktur, transaksi, ...). Kami menyimpan semuanya dalam database dynamodb AWS, dan LAGI, kami menggunakan socket-io untuk mengomunikasikan operasi CRUD dari front-end ke backend. Saya pikir kami salah belok di sana. Itu adalah sebuah kesalahan.
- Karena tak lama setelah kami mengetahui bahwa layanan cloud Amazon (AWS) menawarkan beberapa alat penyeimbang / penskalaan beban yang hebat untuk aplikasi RESTful .
- Kami mendapat kesan sekarang bahwa kami perlu menulis banyak kode untuk melakukan jabat tangan operasi CRUD.
- Baru-baru ini kami menerapkan integrasi Paypal. Kami berhasil membuatnya bekerja. Tapi sekali lagi, semua tutorial melakukannya dengan RESTful API . Kami harus menulis ulang / memikirkan kembali contoh mereka untuk mengimplementasikannya dengan websockets. Kami membuatnya bekerja cukup cepat. Tapi rasanya kita melawan arus.
Karena itu, kami akan live minggu depan. Kami tiba di sana tepat waktu, semuanya bekerja. Dan itu cepat, tetapi apakah itu akan meningkat?