Макет Webstack, включая сервисы (SOA) - PullRequest
0 голосов
/ 24 августа 2011

Каков «лучший» способ создать основу более крупного веб-сайта?

В настоящее время наша веб-страница состоит из множества различных приложений, таких как WordPress для блогов, корзин покупок и другого не основанного на обслуживании не совместимого программного обеспечения. Мы хотим это изменить.

На мой взгляд, подход, основанный на сервисах, звучит многообещающе, когда каждая функция, предлагаемая нашим сайтом, поддерживается одной или несколькими службами (например, REST или SOAP). Тогда стек может выглядеть так:

  1. Веб-серверы (Apache + PHP) для рендеринга html данных, потребляемых службами
  2. Сервис-провайдеры, предоставляющие функциональность (REST, SOAP)
  3. Внутри каждого Сервиса, например базы данных mysql, экземпляры solr-search и т. д.

Есть ли в этой концепции реальные недостатки?

Каков «лучший» способ связи между уровнями 1. и 2.?

Существуют ли какие-либо источники (книги, беседы и т. Д.) По этой теме?

Update1:

Чтобы уточнить мой вопрос, вот к чему мы стремимся:

Пользователь должен иметь возможность комментировать (вести блог) статьи, управлять подписками на рассылку, искать наши продукты, настраивать продукты, покупать их, оценивать и комментировать их, задавать вопросы (и отвечать на другие) и так далее. В основном это интернет-магазин с множеством дополнительных функций, подходящих для нашего бизнеса. Эти функции должны интегрироваться друг с другом и предоставлять дополнительные функции, которые уже не может предоставить уже существующее программное обеспечение.

Конечно, можно начать писать что-нибудь на PHP с помощью фреймворка (например, Symfony) для одной базы данных, и это будет работать для 10 одновременных пользователей. Но что, если наша пользовательская база вырастет по сравнению с мощностью обычного сервера и нам потребуется масштабировать наше приложение?

Было бы неплохо, если бы мы "просто" добавили больше (идентичных) веб-серверов, которые взаимодействуют с различными службами (которые могут быть кэшированы, защищены и разделены при необходимости), или добавили дополнительные службы для функций, которые мы добавляем со временем.

Надеюсь, это поможет сделать мой вопрос более ответственным: -)

1 Ответ

0 голосов
/ 24 августа 2011

Вы можете использовать REST или SOAP для приложений, где вам может потребоваться обновление данных в режиме реального времени. Но для простых сервисов, таких как традиционный блог или корзина для покупок, сервис на основе отдыха может быть излишним.

Если вы хотите внедрить систему, основанную на отдыхе, вы можете реализовать какую-то систему, основанную на отдыхе. Есть много доступных и для php recessframework это то, что вы можете посмотреть.

Но в целом ваш вопрос нуждается в каком-то дополнительном объяснении, поскольку в его нынешнем виде трудно найти, какое приложение работает в данный момент и что именно вы пытаетесь сделать.

Обновление 1:

Из вашего обновленного вопроса я не нахожу ничего особенного, что может заставить вас использовать отдых или мыло. Все функции, которые вы упомянули, нормальны, и если все, что вы хотите, это увеличить масштаб вашего приложения, вы можете просто использовать memcache и eaccelerator и переместить ваше приложение в amazon ec2, где вы можете настроить свои серверы для масштабирования на ходу.

Возможно, вы сильно запутались здесь. Просто из интереса, сколько хитов ты получаешь в день?

...