Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [leshan-dev] nginx for UDP load balancing

Hello,

 

From Leshan prespective, LWM2M Client’s IP Address and Port is an important aspect based on which the functionalities are built (DTLS, Observation notification, register, register update to notify change in client’s IP Address/Port, Queue mode etc). So load-balancer performing NAT and removing the client IP/port mapping after an specific time interval is inefficient for load-balancing Leshan servers. So we were interested in Transparent proxy option where the client’s IP address and port are preserved when forwarding a request to a Leshan server instance.

 

With this option in mind, In the last weeks we took a look in to Nginx UDP load balancing support. As part of that evaluation, we also got some interesting information from Nginx Team which I would like to share to the community.

 

Current state of Nginx (as of 20.07.2016):

·         Transparent proxy is now supported in the opensource variant of Nginx and will be added to Nginx Plus R10 (expected to be released sometime around end of August, 2016)

·         With Transparent proxy, heart beat checks are tricky as Nginx doesn’t see the reverse traffic. So Nginx has built an active-health check functionality based on CoAP. So one can use Coap-Ping or a Coap-Request to perform active-health check of the Leshan servers behind the load-balancer. This feature, however will be provided only for the Nginx Plus version.

·         DTLS Termination is a feature planned for next year (2017). A concrete date could not be named as of now.

 

Regards,

Bala

 

Von: leshan-dev-bounces@xxxxxxxxxxx [mailto:leshan-dev-bounces@xxxxxxxxxxx] Im Auftrag von Michael Huelfenhaus
Gesendet: Montag, 6. Juni 2016 14:39
An: leshan developer discussions <leshan-dev@xxxxxxxxxxx>
Betreff: Re: [leshan-dev] nginx for UDP load balancing

 

Hello,

 

are there any news about using nginx or has anybody used it successfully with leshan?

 

We tried to put a leshan server behind the nginx load manager, but the client can not connect.

 

Regards,

Michael

 

 

Am 19.05.2016 um 21:14 schrieb Benjamin Cabé <benjamin@xxxxxxxxxxx>:



FWIW I just spoke with someone from nginx at OSCON. I will probably arrange a phone discussion very soon for those of you interested in what nginx proposes right now regarding UDP and DTLS proxying/load-balancing, and what’s in their roadmap.

Benjamin –

Le 17/05/2016 10:29, « Hudalla Kai (INST/ESY1) » <leshan-dev-bounces@xxxxxxxxxxx au nom de Kai.Hudalla@xxxxxxxxxxxx> a écrit :


Hi Michael,

thanks for pointing this out. I had been waiting for UDP support in nginx for a long time :-)
I haven't tested this yet but it looks very promising at least. However, given how LWM2M Clients and Servers interact with each other, there might be some obstacles to overcome.

The blog post says:

"Where appropriate, NGINX waits for a response from the server and forwards that response (and any subsequent packets received within the timeout period) back to the client.

If a server fails to respond to a request, NGINX marks it as ‘failed’ and temporarily stops sending datagrams to it. Every few seconds, NGINX checks the server’s health to see if it has recovered by sending it a small amount of live traffic."

This should work for an inital Registration request or a subsequent Update Registration request. However, in between the "requests" are mostly issued by the LWM2M Server. It will need to be seen if nginx will still correctly forward such packets to the LWM2M Client ... maybe it is just a matter of disabling the "proxy_timeout" config property in nginx.

Regards,
Kai
________________________________________
Von: leshan-dev-bounces@xxxxxxxxxxx [leshan-dev-bounces@xxxxxxxxxxx]&quot; im Auftrag von &quot;Michael Huelfenhaus [m.huelfenhaus@xxxxxxxxxxx]
Gesendet: Dienstag, 17. Mai 2016 14:54
An: leshan developer discussions
Betreff: [leshan-dev] nginx for UDP load balancing

Hello

on the cluster page of the wiki it is stated that you are looking for alternative UDP load balancers. I just  noticed the addition of this feature to nginx https://www.nginx.com/blog/announcing-udp-load-balancing/ . I think nginx is a better choice as LVS is not so widely used.

Has anybody tested this already in a leshan setup?

Regards,
Michael




_______________________________________________
leshan-dev mailing list
leshan-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/leshan-dev
_______________________________________________
leshan-dev mailing list
leshan-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/leshan-dev



_______________________________________________
leshan-dev mailing list
leshan-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/leshan-dev

 


Back to the top