Saya berencana merilis aplikasi iOS yang mengunduh video dari server saya. Jika ratusan orang pada hari peluncuran mencoba melakukan ini, maka situs web saya dan layanan yang disediakan server saya jelas akan turun. Bagaimana Anda meng-host situs web di beberapa server? Ketika seseorang mencoba mengakses situs saya, bagaimana permintaan mereka diteruskan ke server yang tersedia? Bagaimana cara Apple dan Google melakukannya? Terima kasih atas bantuan Anda.
10
Jawaban:
Dan untuk orang besar (Google, Apple, dll.) Mereka memiliki perangkat keras yang canggih, dan mahal, lalu lintas rute.
Solusi yang lebih sederhana adalah dengan mengatur beberapa host Anda dan memiliki satu host yang merotasi permintaan.
Katakanlah kami memiliki 5 server untuk meng-hosting video, bernama VideoHostN dan kami memiliki satu server terpisah dari server yang melacaknya menggunakan nama RoutingHost.
Klien iOS pertama meminta alamat untuk mendapatkan video dari RoutingHost. RoutingHost mengembalikan alamat pada VideoHost1.
Permintaan klien iOS kedua. RoutingHost membalas dengan VideoHost2.
Demikian seterusnya hingga mencapai max hipotetis kami, VideoHost5, dan reset ke VideoHost1.
Hanya perlu beberapa kode sisi server sederhana untuk melacak VideoHost mana yang akan digunakan selanjutnya dan mengembalikan alamatnya.
Ini adalah cara yang murah dan mudah untuk menyebarkan pengguna. Ini tidak menjamin bahwa Anda tidak akan mendapatkan beberapa pengguna yang tersumbat pada VideoHost yang diberikan. Kesempatan acak bahwa beberapa pengguna dengan koneksi lambat semua bisa berakhir menarik dari lokasi yang sama, tetapi ini adalah permulaan.
sumber
Anda dapat melakukan load balancing sesuai tautan @ PeeHaa ke artikel Wikipedia untuk info di sini . Ini membutuhkan beberapa pengetahuan dan uang serta waktu untuk pengaturan. Perusahaan besar seperti Google dan Apple menggunakan teknologi yang mereka tulis sendiri dan berusaha meniru mereka adalah solusi mahal dan berlebihan. Jika Anda melakukan load balancing, Anda akan ingin menggunakan sesuatu yang jauh lebih kecil dari apa yang mereka lakukan.
Atau Anda dapat menggunakan server cloud untuk meng-host video Anda atau konten lainnya. Mereka disebut Content Distribution Networks (CDNS) dan mereka dapat melakukan lebih dari sekadar hosting file sederhana sekarang. Manfaat dari situs-situs ini adalah bahwa mereka menggunakan teknologi seperti apa yang telah dibuat Google untuk menciptakan penyeimbangan beban dan mereka menjual layanan berdasarkan jumlah persisnya data atau siklus yang Anda konsumsi di server mereka. Ini berarti biaya Anda akan tumbuh pada tingkat yang sama seperti penggunaan Anda, selama Anda memiliki model pendapatan yang baik, Anda akan selalu memiliki dana untuk membayar layanan. Beberapa perusahaan besar untuk pengguna yang lebih kecil adalah:
Mereka lebih dari tiga ini. Juga, manfaat lain dari CDN adalah bahwa konten Anda tidak di satu server tetapi di jaringan di seluruh dunia. CDN melakukan ini sehingga konten selalu berasal dari server terdekat dengan pengguna. Menyiapkan 2+ server di satu lokasi tidak akan pernah memberi Anda manfaat kecepatan pengiriman yang sama dengan yang dapat dilakukan CDN.
Sebagai catatan, saya tidak bekerja untuk perusahaan-perusahaan ini. Saya telah menggunakan Layanan Web Amazon untuk hosting video di situs web perusahaan saya dan itu merupakan manfaat besar.
sumber
Saya akan menggunakan Scalr pada ec2 untuk memonitor server Anda secara otomatis, ini open source dan bekerja sangat baik dengan layanan AWS. Jadi jika server aplikasi Anda mulai terkena terlalu banyak lalu lintas, Scalr akan secara otomatis memunculkan lebih banyak server dan menyeimbangkan beban untuk Anda. Ini juga akan secara otomatis membuat cadangan basis data Anda jika ada yang turun membawa budak sebagai tuan. Jadi server aplikasi dan server basis data Anda semuanya dimonitor dan diskalakan sesuai kebutuhan.
http://code.google.com/p/scalr/
sumber
Perangkat lunak penyeimbang beban gratis seperti ZenLoader akan melakukan triknya. Ini adalah perangkat lunak sumber terbuka, Anda hanya membayar jika Anda memerlukan dukungan.
Saya dengar itu akan mencakup kebutuhan Anda jika Anda sudah membeli server.
sumber