networking - UDP load balancing using customised balancing method with session id inside UDP body -
i trying set load balancing solution able load balance udp traffic. in case, have several different servers send udp package load-balancer. inside each udp package body, there msg-id field. ideally, want load-balance udp traffic set of servers based on msg-id. in other words, 2 udp packages same msg-id should sent same server (because want assemble 2 udp packages same msg-id form complete package further processing). if it's not possible, solution based on source/sender ip might sufficient.
haproxy doesn't support udp checking nginx. seems nginx-plus (not free solution) allows load-balance based on ip_hash method?
i wish know:
- what best open-source solution me handle load-balance based on custom msg-id inside udp body.
- does nginx (free/open-source) version support @ least udp load-balance based on ip_hash method.
- is there anyway can spoof udp source/sender ip. basically, if have server (such server a) receive udp package multiple server (server d) , forward set of server (server b, c); want server b, c receiving package ip indicated server d, not a.
- what drawback of writing custom layer read udp form tcp package , maintain tcp connection load balancer forward newly-formed tcp package. in case, both nginx or haproxy can used.
thanks.
nginx support udp load balancing in both open source nginx(since v1.19.13) , nginx plus. read post nginx.com
and nginx provides udp load-balance based on ip_hash out of box,check docs
so think answer question no.2 yes.
also mentioned in docs here, nginx upstream module provide hash algorithm on custom key, in case msg-id, don't know how can msg-id out udp datagram , guess won't easy. tried search while got no luck. if found solution, hope can share under question.
Comments
Post a Comment