Я занимаюсь разработкой системы на основе микроуслуг с асинхронными вызовами.
Клиент хочет использовать систему синхронно.Вместо того, чтобы синхронизировать весь поток, я пришел к следующей идее:
Я написал другой сервис, который действует как шлюз.Он удерживает RoutingContext
в памяти, вызывает асинхронную службу HTTP , и после завершения асинхронного потока (уведомляется событием) я возвращаю ответ, используя routingContext.status(200).end()
.
Теперь, при загрузке около 20 событий в секунду, я каждый раз сталкиваюсь с проблемой задержки, когда новая служба пересылает HTTP-вызов.
Ниже приводятся некоторые подробности, касающиеся моей среды:
- Я работаю на AWS , машинах M5.(Пока нет кластера - тестирование)
- Vert.x асинхронный Http-клиент для пересылки HTTP.
- Нет блоков цикла событий (установите его на 100 мс).
Может ли факт, что я держу routingContext
в памяти, причинить вред?