Назад | Перейти на главную страницу

Проблемы с вызовами gRPC за балансировщиком нагрузки (классический AWS)

У меня есть сервер, написанный на Python 3.6, используя фреймворки flask (1.0.2), и SQLAlchemy (2.4.0). У меня есть несколько обращений к сторонним службам, таким как API визуализации.

У меня есть несколько вызовов API, выходящих из RESTfuly (чтобы убедиться, что API не вешают их, я также добавил таймаут). Однако после нескольких вызовов API программа зависает, но всегда в той же точке, где библиотека Google выполняет вызов API через gRPC.

  1. Первоначально я предполагал, что сервер завис, потому что я использую ORM с активной загрузкой. Какой IMO на самом деле не является хорошей причиной, потому что большинство результатов запросов не очень большие, чтобы сервер завис.

  2. Мое второе предположение заключается в том, что конкретный сервер места зависает почти все время, когда он вызывал API Google, используя собственный SDK, который внутренне использует, gRPC.

Может ли gRPC вызывать проблемы, когда он действует как клиент и работает за балансировщиком нагрузки (классический AWS)? Если да, какие действия нужно выполнить, чтобы преодолеть этот сбой?

Проблема никогда не возникает в локальной среде (которая имеет около 8 ГБ ОЗУ и 16 ГБ ОЗУ) для тех же данных. Программа потребляет примерно 150 МБ памяти. На сервере, являющемся AWS, управляется несколько экземпляров эластичного beanstalk (работающего на экземпляре ec2 t2.micro 1 ГБ ОЗУ). За AWS классический балансировщик нагрузки.