Building tandem applications with gRPC / Тандем приложений на базе gRPC

24 октября, 15:40
Смотреть Трансляцию

Key ideas

PHP is good. But sooner or later you will hit against the language’s distinctive nature: certain project parts will be executed too often, the RPS will rise to tens of thousands, daemons will no longer cope, and hardware bills will grow dramatically along with the client base of your application. Each language was created to perform its own specific task. And facing your PHP project overload, it’s time to remember that Python or R are good for machine learning, C is for system software development, and Go is for high-performance microservices. However, there are things beyond the language. A right service to transfer data between applications is the key to adequate network load. Considering PHP and Go as an example, let’s see how you can build a strong foundation for scaling a project using high-performance gRPC and protobuf.


Тезисы

PHP хорош. Но рано или поздно Вы ударитесь о специфику языка, отдельные части проекта станут выполняться слишком часто, RPS выйдет на десятки тысяч, демоны перестанут справляться, счета за железо будут неумолимо расти вместе с клиентской базой вашего приложения. Каждый язык был создан для выполнения своей профильной задачи и оверлоад PHP проекта — самое время вспомнить что для машинного обучения стоит использовать Python или R, для системной разработки C, а для высокопроизводительных микросервисов Go. Но язык это еще не всё. Правильный выбор транспорта данных между приложениям залог здоровой загрузки сети. На примере PHP, Go посмотрим как можно заложить хороший фундамент для масштабирования проекта с помощью высокопроизводительных gRPC и protobuf.

ManyChat

Антон Жуков

Backend developer at ManyChat. Before that, I worked as a Core component lead developer at ECommpay and led web development at Berg Holding. I also developed high-load projects within limited hardware resources and was engaged in load reduction activities for both monolithic and distributed systems. My expertise lies in Performance engineering in PHP, Golang, MySQL, and PostgreSQL.


Бекенд-разработчик в ManyChat. До этого работал ведущим разработчиком Core-компонента в ECommpay и руководил веб-разработкой в Berg Holding. Строил высоконагруженные проекты в условиях лимитированного количества железа, занимался снижением нагрузки в монолитных и распределенных системах. Специализируюсь на Performance engineering в PHP, Golang, MySQL и PostgreSQL.

Backend developer at ManyChat. Before that, I worked as a Core component lead developer at ECommpay and led web development at Berg Holding. I also developed high-load projects within limited hardware resources and was engaged in load reduction activities for both monolithic and distributed systems. My expertise lies in Performance engineering in PHP, Golang, MySQL, and PostgreSQL.


Бекенд-разработчик в ManyChat. До этого работал ведущим разработчиком Core-компонента в ECommpay и руководил веб-разработкой в Berg Holding. Строил высоконагруженные проекты в условиях лимитированного количества железа, занимался снижением нагрузки в монолитных и распределенных системах. Специализируюсь на Performance engineering в PHP, Golang, MySQL и PostgreSQL.

Другие спикеры: