Какой ЯП выбрать как дополнение к php — Go или Python?

Пока разрабатываем продукты ипользуя монолитную структуру. На backend у нас php фреймворки.
Собираемся внедрять микросервисную структуру и есть пара идей для проектов, на которых это можно будет испытать и набить шишки. Проекты примерно как Авито - торговые площадки, биржи. Местами требуется большая скорость отклика и обработки информации.

Интересует какой помимо php выбрать язык программироания для ускорения отдельных микросервисов на бэкэнде - Go или Python ?

Понятно, что GoLang быстрее, но Python богаче в плане библиотек и функционала.

Или иными словами какой язык программирования будет хорошим дополнением к php для ускорения ?
  • Вопрос задан
  • 668 просмотров
Пригласить эксперта
Ответы на вопрос 7
@bacon
Если очень кратко, без всяких нюансов:
Python - для ускорения разработки.
Go - для ускорения работы сервиса, хотя наверно лучше сказать, для оптимизации узких мест.
Ответ написан
trapwalker
@trapwalker
Программист, энтузиаст
Питон проще осваивать, к нему больше примеров, библиотек, обучающих курсов, книг и открытого кода в инете. А ещё полно удобного инструментария. Для любых ваших проектов питон подойдёт не хуже го.
Когда вы готовы разрабатывать на Го, у вас уже не возникает вопроса питон или го. А если возникает, значит питон.
ИМХО.

Но го неслабо так развивается и у него большие перспективы, как мне кажется.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Ускорение - это нужные алгоритмы и архитектура проекта. Язык - вообще ни при чём.
Хотите быстро - используйте параллельную обработку запросов к бд (+кеширование запросов-ответов) с последующим объединением результатов, согласно запрошенному фильтру. Всё это - в оперативке (Redis, etc.).
И не закрывайте http2-соединение, если пользователь работает (есть активность) с формой/фильтром поиска.
Ответ написан
Shull
@Shull
хочу быть хорошим IT-шником
ИМХО, кроме PHP, разраб должен знать хотя бы азы JS и SQL.
Конечно, сейчас не 2000-е годы, но, во многих случаях, фронт - это JS/JQUERY, а бэк - это PHP/SQL.
Ответ написан
Drummi
@Drummi
web-разработчик
Я лично остановился на Go, так как он очень прост в освоении. Для ускорения каких-то частей php-приложения мне он показался оптимальным (обработка транзакций, отдача контента и прочие почти автономные задачи). Ну и писать код (имхо) приятнее (кроме вечных проверок ошибок). В общем, попробуйте сами написать небольшие сервисы и на том и на том. Это будет самый верный способ.
Ответ написан
@hatman
Авито написан на PHP, golang используется на микросервисах для постройки пайплайнов, которые выплевывают данные после обработки.

1) Если вам "круто попробовать и потыкаться, при этом заказчик не понимает, что вы делаете" - то, все, что угодно.
2) Если вам "круто попробовать и потыкаться, при этом заказчик понимает, что вы делаете" - то готовьте вещи и на мороз, когда заказчик увидит ваш выбор, ибо это ненужное усложнение системы и увеличение стоимости поддержки системы.
3) Если у вас проблемы с производительностью, то сначала попробуйте решить проблему докупкой железа, потом сделайте оптимизацию на php, а только потом задумайтесь о переписывании на Go.

Но правильнее было бы вас сразу выставить на мороз (если вы глава разработки), либо дать нагоняй, если вы рядовой разраб, ибо желание "творить" превалирует над здравым смыслом и целями проекта.
Ответ написан
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Если нужно дополнение к php + скорость работы + микросервисы то однозначно Go, ибо компилирование, многопоточность и concurrency, сборка мусора и все такое. И не забывайте про FFI.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы