Skip to content

Выбор стека

Как сделать приложение?

Создание бэкенд-приложения с нуля требует предварительных знаний и планирования. Первым шагом является выбор стека технологий.

Основные факторы выбора стека технологий.

  1. Поддерживаемость: выбирай технологии и библиотеки, которые активно поддерживаются и развиваются сообществом.

  2. Производительность: выбирай технологии и библиотеки, которые позволяют быстро выполнять задачи и обрабатывать большое количество запросов.

  3. Расширяемость: выбирай технологии и библиотеки, которые легко масштабируются и расширяются в зависимости от развития проекта.

  4. Документация и сообщество: выбирай технологии и библиотеки с хорошей документацией и активным сообществом, чтобы иметь возможность получать поддержку и находить решения проблем.

  5. Опыт больших компаний: пользуйся опытом больших компаний. Никто не придумает лучше, чем компании, вливающие в разработку миллиарды долларов. Конечно, можно улучшать отдельные части, но не весь каркас приложений.

В нашем случае выберем стек, состоящий из языка Go, базы данных PostgreSQL и кеша Redis.

Go — высокоуровневый язык программирования (но в сравнении с языками php, python, java более низкоуровневый) с открытым исходным кодом, который предлагает высокую производительность и легкость разработки. Это позволяет нам создавать быстрые и надежные приложения.

PostgreSQL — мощная и гибкая объектно-реляционная СУБД, которая поддерживает множество функций и позволяет хранить большое количество структурированных данных. Слово реляционная (relational, где relation переводится как отношение) означает, что данные хранятся в виде таблиц, между которыми устанавливаются связи. Поэтому можно искать информацию, основываясь на этих связях. 

Redis — оперативная СУБД, которая предлагает высокую скорость доступа и обработки данных. Это позволяет нам хранить и использовать данные в реальном времени.

Мы выбрали этот стек, потому что он позволяет создавать быстрые, надежные и расширяемые приложения, поддерживающие работу с большим потоком данных под большой нагрузкой. Так как SQL-решения работают со структурированными данными с поддержкой типов, Postgres отлично подойдет для работы в связке с Golang (строго типизированным языком, работающим c данными в виде структур). Redis поможет снизить нагрузку с БД, уменьшив количество однотипных запросов, таких как, например, получение пользователя по его id или номеру телефона. Вышеприведенный стек имеет большое сообщество разработчиков и множество инструментов и библиотек, которые помогут нам эффективно производить горизонтальное масштабирование, а также улучшать и расширять функциональность нашего приложения. 

Самое главное — мы можем воспользоваться опытом bigtech-компаний, которые уже решали сложные задачи в данном стеке.