Назад | Перейти на главную страницу

Конфигурация установки MongoDB PHP EC2

Я новичок в веб-разработке и настройке серверов. Я ищу совет или ссылку на учебник по настройке производственной системы. Прямо сейчас у меня есть сервер (Ubuntu, Apache, MongoDB и PHP). Он получает запрос, PHP запрашивает Mongo, а PHP отправляет запрошенные данные. Как мне заставить это работать с большим количеством серверов? Я читал, что вы можете создать кластер из основного и двух подчиненных узлов, которые работают как отдельные серверы под управлением Mongo, но работают ли они также с PHP? Или основной - единственный, на котором работает PHP? Я прочитал несколько документов на сайте Mongo и видео кого-то из 10gen, проходящего через это, но они ориентированы на людей, которые, кажется, уже понимают этот материал, я понятия не имею, и мне нужно начинать с самого начала.

Если кто-нибудь может помочь мне понять, где PHP (действующий как мой API) находится в этих кластерах, я был бы очень признателен! Заранее благодарю за любую помощь!

При масштабировании компоненты обычно разбиваются. У вас получится что-то вроде этого (это не стандартные имена, и вам не нужно этого делать, но это обычное дело):

  • Сервер (ы) приложений (Linux, Apache, PHP)
  • Серверы баз данных (Linux, MongoDB)

Сколько вам нужно каждого, будет зависеть от потребностей вашего приложения. Что касается MongoDB, для производства вы захотите запустить как минимум набор реплик. Это будет как минимум один первичный, один вторичный и арбитр (см. Документацию, но в качестве быстрой рекомендации первичный и вторичный должны быть идентичны и, как правило, являются выделенными хостами, арбитр не имеет данных и является легковесным, может быть запущен на общем хосте).

Сервер приложений будет принимать запросы от клиентов, будь то люди или какое-либо другое приложение, вызывающее ваше приложение. Приложение будет использовать драйвер PHP для связи с репликой MongoDB, установленной по сети (а не локально, как вы, вероятно, делали до сих пор).

В конце концов, если вы продолжите расти, вам может потребоваться расширение до сегментированный MongoDB настроить. С точки зрения PHP, единственная разница будет заключаться в том, что вы общаетесь с процессом mongos, а не напрямую с наборами реплик. Похоже, что в этом случае это будет для вас в будущем, поэтому знайте об этом, но в ближайшем будущем в этом нет необходимости.