Я собираюсь начать проект, который, я надеюсь, когда-нибудь понадобится для масштабирования. Ключевым вопросом для меня является: должен ли я сейчас инвестировать усилия для разработки этой возможности, или я должен пересечь этот мост, когда я туда доберусь?Когда разрабатывать масштабируемость?
Я знаю, как все это происходит: каждый думает, что их проект может масштабироваться, но большинство проектов никогда не делают.
Есть ли набор лучших практик, которые позволят вам более легко масштабироваться на более позднем этапе, не вкладывая слишком много в то, что никогда не понадобится?
Очевидно, что у меня нет опыта работы с масштабируемыми веб-сайтами. В настоящее время я склоняюсь к Scala/Play!/Акка. Из того, что я могу получить на веб-сайте Akka, он очень подходит для такого проекта (в том, что он предоставляет набор инструментов, который позволяет разрабатывать на одной машине и масштабировать до произвольного числа машин).
Проект представляет собой ориентированный на потребителя веб-сайт, который включает в себя взаимодействие с пользователем (комментарии, сообщения, голосование и т. Д.). Однако основное внимание уделяется редакционной работе. Это не Facebook :)
Не испытывая ни одной из этих технологий (мой опыт, главным образом, исходящий из PHP, AS3, Objective-C), я, вероятно, слишком сильно на моей пластинке сейчас. Но тогда я не собираюсь сразу же это делать. Я знаю, что мне нужно получить опыт использования Scala и Play! первый.
Любые советы приветствуются.
Поскольку вы новичок в Scala, вам все равно придется переписывать (или говорить «делать крупные рефакторинги»). Я постараюсь придерживаться непосредственных требований. Я рассматриваю этот общий совет, а не конкретно касаюсь вашей проблемы. – ziggystar