Задать вопрос

Интересные блоги/источники информации по архитектурам Web приложений?

Здравствуйте.
Сейчас веб развивается стремительными темпами. Хочется найти какие-нибудь источники информации на тему современных архитектур веб-приложений.
Что я, собственно, под этим подразумеваю. Хочется читать, и изучать чужой опыт построения распределенных систем, какие базы данных и где лучше применять, какие-либо паттерны построения сложных высоконагруженных систем - вот все это.
Подойдут книги, блоги, статьи.

P.S. Понимаю, что никаких общепринятых паттернов нет. Все зависит от задач и требований. Но хочется учиться на чужом опыте и изучать эту тему.
  • Вопрос задан
  • 982 просмотра
Подписаться 13 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 6
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
общепринятых паттернов нет.

Почитайте Мартина Фаулера, Боба Мартина, Крэйга Лармана, Кента Бэка, банду четырех, Эрика Эванса и других людей и возможно в этом вопросе у вас поменяется мнение. Скажем SoA и гексагональная архитектура, CQRS и т.д. хорошо вписываются в концепцию распределенных систем.

Как вы комбинируете все идеи которые нагенерили за последние лет 20, это уже другое дело. А высокие нагрузки (реально высокие) когда нужно вкладывать кастыли - эта задача появляется далеко не сразу. И если архитектура изначально позволяет масштабировать приложение - проблем будет явно меньше. Преждевременная оптимизация - корень всех зол (почти).

По поводу технологий, что где и когда - никто не даст вам такого ответа. Проще всего, раз уж речь идет о распределенной системе, проектировать систему таким образом, что бы узкое место можно было легко заменить. Скажем если у вас весь проект написан на Python и один его компонент подвержен особенно большим нагрузкам, можно переписать его на Go или C++ а всю остальную систему оставить без изменений. Если у вас узким местом стала база - вводить кэши или уровни кешей. Если узким местом стала шина данных между различными компонентами системы - думаем как оптимизировать это звено (какие-нибудь protobuf для обмена данными, zeromq или свой бинарный протокол)
Ответ написан
Комментировать
@dronnix
- highscalability.com - классика
- www.insight-it.ru - неплохая подборка от Ивана Блинкова
- vimeo.com/ontico - Бесплатные видеозаписи от Онтико (конференции Highload++ и РИТ++)
Ответ написан
Комментировать
@spotifi
https://www.insight-it.ru/highload/
Выбирай любую как пример.
Ответ написан
Комментировать
index0h
@index0h
PHP, Golang. https://github.com/index0h
Вы ищите то, чего нет)). Архитектура, как правило - коммерческая тайна. И дело тут не в том, что вот же ж понимаешь зажали общественное достояние. Дело в безопасности и защите от конкурентов.

Архитектура строится под конкретное ТЗ. Да, есть базовые паттерны да, есть привычные связки (LAMP например), но бизнес логика навязывает свои уникальные требования и за счет этого различия у проектов огромнейшие.

Веду к тому, что вы сможете развить свои навыки только в разных компаниях, которые реализуют интересующие вас направления (оптимальный срок обычно 2 года).
Ответ написан
Комментировать
Комментировать
@alehano
У Олега Бунина есть книжка про High Load архитектуры. Очень доходчиво описаны принципы построения архитектуры современных высоконагруженных систем.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы