Як розмістити один веб-сайт на декількох серверах?


10

Я планую випустити додаток для iOS, яке завантажує відео з мого сервера. Якщо сотні людей у ​​день запуску спробують це зробити, то мій веб-сайт та сервіси, які надає мій сервер, явно знизяться. Як розмістити веб-сайт на декількох серверах? Коли хтось намагається отримати доступ до мого сайту, як їх запит передається на доступний сервер? Як це роблять Apple і Google? Спасибі за вашу допомогу.



Перевірте мою відповідь, що це дуже популярна програма для масштабування та моніторингу серверів
Anagio

Відповіді:


5

Що ж стосується великих хлопців (Google, Apple тощо), вони мають складну та дорогу техніку для руху маршрутів.

Більш простим рішенням буде встановити кілька хостів і мати єдиного хоста, який обертає запити.

Скажімо, у нас є 5 серверів для розміщення відео під назвою VideoHostN, і ми маємо один сервер, окремий від того, який відслідковує, як вони використовуються іменем RoutingHost.

Перший клієнт iOS запитує адресу, щоб отримати відео з RoutingHost. RoutingHost повертає адресу на VideoHost1.

Другий запит клієнта iOS. Відповіді RoutingHost з VideoHost2.

Отже, поки він не потрапить до нашого гіпотетичного максимуму, VideoHost5, і перезавантажиться на VideoHost1.

Просто потрібен простий код на стороні сервера, який слідкує, який VideoHost використовувати наступний, і повертає адресу до нього.

Це дешевий і простий спосіб поширити користувачів. Це не гарантує, що ви не заблокуєте користувачів на будь-якому даному VideoHost. Випадкова ймовірність, що кілька користувачів із повільними зв’язками можуть перетягнутись з одного місця, але це початок.


1
Спасибі за вашу допомогу! Я використовую послугу під назвою "Редагування зони". Я встановив DNS для всього свого сайту з ними сьогодні, і вони пропонують круговий DNS (я вважаю, що це так називається) разом з "послугами відмови". Це здійснює моніторинг серверів, на які вказує DNS, та надсилає запити на доступні сервери та витягує ті, які запаковані запитами. Це близько 12 доларів на рік, тож я просто дотримуватимусь їх, а не роздумувати все це. Але велике спасибі за вашу допомогу!
Джек Хамфріс

Так, за $ 12 / рік для кращого рішення. Чи можете ви залишити URL-адресу цієї служби для подальшої довідки?
Кріс

2
Впевнений, zoneedit.com
Джек Хамфріс

7

Ви можете виконати балансування завантаження відповідно до посилання @ PeeHaa до статті Вікіпедії, щоб отримати інформацію тут . Для цього потрібні певні знання та гроші та час, щоб налаштувати. Великі компанії, такі як Google і Apple, використовують технологію, яку вони написали для себе, і намагаються наслідувати їх - це дороге і надмірне рішення. Якщо ви навантажуєте балансування, ви хочете використовувати щось набагато менше, ніж те, що вони роблять.

Або ви можете використовувати хмарні сервери для розміщення ваших відео чи іншого вмісту. Вони називаються мережами розподілу вмісту (CDNS), і вони можуть зробити набагато більше, ніж простий розміщення файлів зараз. Перевага цих сайтів полягає в тому, що вони використовують такі технології, як те, що створила Google, щоб створити балансування навантаження, і вони продають вам послугу, виходячи саме з кількості даних або циклів, які ви споживаєте на своїх серверах. Це означає, що ваша вартість зростатиме тією ж швидкістю, що й використання, доки у вас є хороша модель доходу, ви завжди матимете кошти на оплату послуги. Деякі чудові компанії для менших користувачів:

Їх набагато більше, ніж цих трьох. Крім того, інша перевага CDN полягає в тому, що ви вміст не на одному сервері, а в мережі по всьому світу. CDN роблять це так, щоб вміст завжди надходив із сервера, найближчого до користувача. Налаштування 2+ серверів в одному місці ніколи не дасть вам тих самих переваг швидкості доставки, які може використовувати CDN.

Для запису я не працюю ні в одній із цих компаній. Я використовував веб-служби Amazon для відеохостингу на веб-сайті своїх компаній, і це було величезною користю.


1

Я б використовував Scalr на ec2 для автоматичного моніторингу ваших серверів, це відкритий код і дуже добре працює з послугами AWS. Тож якщо ваш сервер додатків почне отримувати надто велику кількість трафіку, Scalr автоматично підніме більше серверів і врівноважить навантаження на вас. Він також автоматично створить резервну копію ваших баз даних, якщо хтось перейде в підводних невільників. Таким чином, ваші сервери додатків і сервери баз даних все відстежуються та масштабуються за потребою.

Масштабування веб-сайтів важко і дорого. Використовуючи потужність хмарних обчислень, Scalr автоматично масштабує інфраструктуру вашого веб-сайту: він масштабує вашу базу даних, масштабує ваші сервери додатків і навіть додає та налаштовує сервери балансування та кешування!

http://code.google.com/p/scalr/


1

Безкоштовне програмне забезпечення для балансування навантаження, таке як ZenLoader , зробить свою справу. Це програмне забезпечення з відкритим кодом, ви платите лише тоді, коли вам потрібна підтримка.

Я чую, що він покриє ваші вимоги, якщо ви вже придбали сервери.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.