Snapchat terkenal di kalangan remaja dan remaja. Anda mungkin berusia di atas 25 tahun jika anda tidak dapat mengetahui cara ia berfungsi. Snapchat, salah satu aplikasi media sosial yang paling popular, menyediakan kanak-kanak dan remaja apa yang mereka mahukan: kaedah mudah untuk berkongsi kejadian biasa sambil menjadikannya kelihatan keren.
Tidak seperti Facebook dan Twitter, yang merekod dan menerbitkan semua yang anda lakukan, Snapchat menggunakan mesej yang sepatutnya hilang (lihat bagaimana ia tidak).
Terdapat banyak tentang Snapchat, dan jika anda seorang pembangun, ia lebih banyak lagi. Jadi, siaran ini akan memberi anda pandangan peringkat tinggi tentang Snapchat reka bentuk sistem dan banyak lagi pandangan.
Pengenalan
Snapchat adalah berasaskan AS rangkaian sosial apl yang membolehkan pengguna berhubung dengan segera, berkongsi imej dan banyak lagi.
- Mesej dan imej (atau snap) mempunyai had masa 24 jam. Menggalakkan orang ramai berkongsi cerita mereka dalam kumpulan.
- Peta Snap membolehkan pengguna melihat pada peta di mana rakan mereka berada.
- Kenangan mengingatkan pengguna tentang foto yang mereka simpan atau kongsi setahun kemudian.
- Snapchat sangat popular dengan generasi muda, terutamanya remaja. Terdapat 319 juta pengguna aktif pada aplikasi dan 5.4 bilion snap dihantar setiap hari.
Syarat Reka Bentuk Penting
Seni Bina Monolitik – Aplikasi satu peringkat yang beroperasi secara bebas daripada aplikasi lain dikenali sebagai monolit (seni bina monolitik). Monolit direka bentuk untuk melaksanakan dan mengendalikan semua aktiviti yang diperlukan untuk menyelesaikan tugas. Aplikasi melaksanakan semua fungsi dari awal hingga akhir.
Perkhidmatan mikro – Ia polar bertentangan dengan monolit. Perkhidmatan mikro ialah pendekatan seni bina yang menganjurkan aplikasi sebagai koleksi perkhidmatan. Perkhidmatan ini digunakan untuk mengawal banyak aspek aplikasi. Seorang pelanggan membuat pesanan, seorang pelayan mengambilnya dan menghantarnya, dan seorang tukang masak menyediakannya. Dalam contoh ini, setiap komponen berfungsi secara bebas dan berasingan daripada yang lain; tiada siapa yang tahu dengan tepat apa yang orang lain lakukan, dan tiada siapa yang mempunyai akses kepada maklumat yang sama.
JSON: Ia ialah format berasaskan teks yang boleh digunakan untuk memaparkan objek JavaScript, literal, tatasusunan dan data. Format berasaskan teks ini bertujuan untuk mudah dibaca dan ditulis, serta mudah dihadam oleh perisian. JSON biasanya digunakan untuk memindahkan data dan maklumat antara pelayan dan aplikasi dalam talian.
Orkestra: Teknik mengautomasikan banyak operasi dikenali sebagai orkestrasi. Pekerjaan ini termasuk konfigurasi sistem komputer dan perisian, penyelarasan dan pentadbiran.
Proksi: Proksi bertindak sebagai perantara antara pelanggan yang mencari sumber dan pelayan yang menyediakannya.
Jaringan: Jaring perkhidmatan ialah corak seni bina perisian yang menambah lapisan pada lapisan infrastruktur untuk membenarkan komunikasi terkawal, boleh diperhatikan dan selamat antara perkhidmatan melalui proksi.
Reka Bentuk Aras Tinggi
Masalah Monolitik
Snapchat berasal sebagai monolit berasaskan awan berdasarkan Enjin Aplikasi Google. Walau bagaimanapun, apabila program ini semakin popular dan memperoleh lebih ramai pengguna dan data, kebolehskalaan menjadi isu.
Selain itu, dengan jejari letupan yang besar dalam monolit, gangguan seluruh sistem lebih mungkin berlaku. Salah satu masalah Snapchat ditakrifkan sebagai "tragedi rakyat biasa," di mana ciri bersaing untuk akses kepada sumber; ciri dimuatkan pada masa pelancaran apl, membenarkan ciri tertentu dimuatkan dengan lebih pantas tetapi ciri lain dimuatkan dengan lebih perlahan.
Jurutera juga mencari keterlihatan yang jelas, pengasingan dan pemilikan komponen mereka dari sudut pembangunan, supaya perkhidmatan itu boleh menjadi fleksibel dan cekap.
Transformasi
Apabila Snapchat berkembang, firma itu menyedari ia perlu memecahkan infrastruktur monolitiknya kepada bahagian yang lebih kecil dan lebih cekap. Untuk menyediakan kependaman yang berkurangan, organisasi memutuskan untuk membangunkan reka bentuk berasaskan perkhidmatan mikro.
Untuk memenuhi matlamat tersebut, Snapchat memilih untuk mengemas kini perisiannya menggunakan Amazon DynamoDB, perkhidmatan pangkalan data NoSQL berskala. Firma itu dapat mengurangkan kependaman median sebanyak 20% hasil daripada usahanya.
Apl itu telah ditulis semula ke dalam banyak aplikasi yang lebih kecil oleh perbadanan itu. Snapchat bermula dengan pelbagai aplikasi, termasuk kamera, sembang, kenangan, penyuntingan gambar, penggunaan kandungan dan peta. Walaupun menyepadukan program ini ke dalam satu monolit adalah mudah untuk pengguna, ia menimbulkan isu teknikal yang teruk dari segi mengekalkan prestasi yang baik.
Untuk penulisan semula, perbadanan itu menetapkan banyak peraturan asas. Jangan pramuat; setiap ciri mestilah aplnya sendiri dan ia harus pantas. Snapchat menghentikan pengubahsuaian di beberapa tempat untuk membolehkan penulisan semula, menjadikannya tugas teknikal semata-mata.
Penyepaduan ciri tambahan
Apl kamera Snapchat mempunyai kanta, penapis, bitmoji, dan keupayaan untuk menambah animasi realiti tambahan, antara lain. Apl sembang Snapchat juga membolehkan pengguna menyimpan gambar, menyimpan ceramah, menambah emotikon dan banyak lagi.
Peta Snapchat, antara lain, membolehkan anda memantau rakan jika mereka mahu anda. Kenangan, penyuntingan foto dan penggunaan kandungan adalah semua aplikasi Snapchat yang berasingan dengan keupayaan uniknya.
Kenangan membolehkan anda menyimpan atau mengubah suai gambar atau video untuk kegunaan kemudian, serta memuat naik atau menghantarnya. Pengguna juga boleh menggunakan pengeditan gambar untuk memotong filem, menambah teks, menambah pelekat dan banyak lagi.
Penggunaan kandungan luaran Snapchat merujuk kepada perkara yang ditunjukkan kepada pengguna berdasarkan julat parameter.
Perkhidmatan mikro
Program ini bergantung secara meluas pada JSON untuk melaksanakan pertanyaan rangkaian pada masa itu. Walau bagaimanapun, menghuraikan JSON memakan masa dan tidak cekap. Snapchat menggunakan API pengurusan rangkaian terpusat untuk menutup penggunaan JSON sebagai perincian pelaksanaan untuk menangani masalah ini.
Perkhidmatan mikro memperkenalkan cabaran pengurusan keadaan aplikasi, komunikasi perkhidmatan dan pengurusan kegagalan. Snapchat menggunakan teknologi sumber terbuka seperti Temporal untuk mengatasi kesukaran orkestra untuk membina sistem yang kukuh dan boleh dipercayai.
Akibatnya, organisasi memutuskan untuk menggunakan corak reka bentuk mesh perkhidmatan. Snapchat menggunakan Envoy, satu lagi alat sumber terbuka yang bertindak sebagai proksi, untuk mencapai corak ini. Utusan menguruskan aliran trafik perkhidmatan melalui infrastruktur, memberikan pemaju keterlihatan terhadap potensi kesukaran.
Snapchat mencipta aplikasi dalaman yang dipanggil Papan Suis dalam jaringan perkhidmatan. Papan suis berfungsi sebagai panel kawalan untuk perkhidmatan Snap, membolehkan pengguna mengalihkan trafik, mengurus kebergantungan perkhidmatan (ciri yang membolehkan satu perkhidmatan diurus bergantung pada keadaan orang lain) dan kawasan longkang.
Untuk memudahkan kerumitan konfigurasi berpotensi dalam perkhidmatan, Papan Suis telah digunakan dan bukannya mendedahkan keseluruhan API Envoy. Snap mempunyai rangkaian dalaman dan serantau yang sama untuk perkhidmatan mikronya berkat jaringan perkhidmatan.
Perkhidmatan di dalam wilayah yang sama boleh berhubung antara satu sama lain tanpa menggunakan Internet awam, dan tiada trafik rangkaian luaran boleh berkomunikasi dengan bahagian rangkaian dalaman.
Hanya Gateway akan diberi kuasa untuk mendedahkan diri mereka kepada internet atas sebab keselamatan. Gerbang API, sebagai contoh, mungkin berfungsi sebagai pintu depan dengan mudah, memproses permintaan daripada pelanggan/pengguna dan menghalakannya bersama rangkaian.
Rangkaian & Gerbang API
Semua pertanyaan daripada pelanggan Snapchat datang melalui API Gateway. Ia menggunakan imej Utusan yang sama dan bersambung ke Satah Kawalan yang sama seperti perkhidmatan mikro dalaman kami. Pesawat Kawalan kami membolehkan kami mendayakan penapis Utusan tersuai.
Sistem pengesahan Snapchat, serta teknologi pengehadan kadar dan penumpahan beban kami, dikendalikan oleh penapis ini. Utusan menggunakan Service Mesh untuk menghalakan permintaan ke perkhidmatan mikro yang berkaitan selepas rantai penapis selesai.
Kesimpulan
Gerbang API Snapchat mengarahkan trafik luaran ke banyak fungsi apl. Permintaan pengguna untuk mengubah suai keadaan konfigurasi diuruskan oleh pelayan, yang kemudiannya menyediakan data dan maklumat kembali kepada pelbagai perkhidmatan apl.
Secara keseluruhannya, reka bentuk Snapchat sekarang boleh dibandingkan dengan beberapa program yang dijalankan pada satu sistem pengendalian, yang dalam kes ini ialah aplikasi Snapchat. Saya cuba bersungguh-sungguh untuk memberikan anda gambaran keseluruhan peringkat tinggi tentang reka bentuk sistem Snapchat. Saya harap anda mendapati ia berguna.
Sila tinggalkan balasan anda