Я пишу модуль лака, который проверяет HTTP-запрос, поступающий на мой сервер, и у меня есть зависимость данных JSON для моего модуля.Данные Json берутся путем выполнения HTTP-вызова от моего модуля на сервер переадресации каждый выделенный интервал времени и сохранения ответа JSON в кэш-памяти или общей памяти и их использования.Как мне добиться этого без ущерба для производительности лака.
Я уже попробовал концепцию совместной памяти Linux для хранения данных и их использования, но меня поразило увеличение производительности лака.Я вижу много сбоев http с этим методом, когда я тестировал нагрузку.Я хотел бы знать, как vanrish кеширует http-запрос и передает его пользователю, чтобы я мог использовать тот же метод.
Логика разделяемой памяти, которую я использую:
if (memory exists){
...
read memory and retrive data
...
} else {
make a call to server
server responds with data
store data in memory
}
...
use the data for request
...
Фактический вызов к серверу и получение данных должны происходить один раз в интервал времени.Хорошо работает, когда привязывается вручную.Но произошел сбой при запуске загрузки нагрузки. Кажется, это проблема дочернего процесса, когда каждый дочерний элемент обращается к этому куску кода и вызывает сервер для каждого запроса.Я не хочу использовать блокировки мьютекса для этого, так как это снизит производительность.