BTW: Not sure what the state of HTTP/2 support is in http_async_client.
If existent, and the server is HTTP/2, you can make multiple sequential and parallel
requests over the same connection. Given Kamailio's concurrency and isolation model,
this would probably mean sequential requests over multiple persistent connections attached
to each process.
While HTTP backends are still characteristically sluggish from the perspective of the
tight timing tolerances of traditional real-time communications, this would be a real
game-changer and probably vacate much of what I'm saying, and the basis of my
opposition to HTTP as an integration path out of Kamailio.
HTTP/1.1 is for these kinds of systems, though. If high throughput is your goal, I'd
go a different route. Whatever you do to squeeze a few hundred requests/sec out of it will
most likely amount to a Pyrrhic victory.
-- Alex
On Dec 19, 2024, at 2:06 pm, Alex Balashov
<abalashov(a)evaristesys.com> wrote:
On Dec 19, 2024, at 1:54 pm, Ben Kaufman
<bkaufman(a)bcmone.com> wrote:
Alex,
I read the OP's requirements like this. They want to implement a redirect server that
will:
• Receive a SIP INVITE
• Make a single http request that has a RTT of 200ms
• Copy a header from the HTTP reply to a SIP 300 reply
• Handle the ACK for the reply
Is it your opinion this cannot be implemented reliably with Kamailio on a 4vCPUs and 4GB
RAM host at a rate of 750 INVITE requests per second?
I have no idea. That's an empirical question. In my experience, that's an
ambitious ask given the stochastic variation in HTTP API response time (i.e. it's not
exactly and literally 200 ms), but it's probably possible with enough processes.
My only argument--from first principles-- is that you'll get a lot more throughput if
you ditch HTTP, and I joined the conversation at the point at which Alexis Fidalgo
expressed that async isn't a cure-all. I wanted to sign onto this sentiment.
-- Alex
--
Alex Balashov
Principal Consultant
Evariste Systems LLC
Web:
https://evaristesys.com
Tel: +1-706-510-6800
--
Alex Balashov
Principal Consultant
Evariste Systems LLC
Web:
https://evaristesys.com
Tel: +1-706-510-6800