Requesting a system-wide webhook rate-limit increase for triggers.losant.com

I’m head of product over at Losant and we’re seeing some mutual customers get affected by your system-wide per-host webhook limit. In another thread, I believe I saw it was set to 120 req/min. In a small test I did, I was getting rate limited randomly and at virtually no activity. I would hate for this to be the experience that others are seeing also.

I would like to request that this limit be increased for the triggers.losant.com host, since the Particle/Losant combo seems to be a popular choice. Let me know if there’s any more info I can provide to make this happen!

Ping @Dave

1 Like

Hi @BrandonCannaday,

Thanks for reaching out! By default we limit hosts to 120 requests per minute so we don’t overwhelm a server with traffic without confirmation and consent from the site owner. It looks like someone already raised your limits a bit, but I’ll look into raising those limits additionally.

Thanks,
David

That’s awesome guys! Thanks for the quick turnaround.

1 Like

Hey guys, we’re seeing this limit being hit again. If at all possible, would love the limit to just be removed. Your other limits around number of events per device will be sufficient to block any potential downstream flooding over the webhook. Thanks!

Hi everyone.
Last year, we had this problem, and we contact support to increase the limit (Product WebHook (integration) - Rate limit - Help!)
Now, a few days ago, we have this error on our WebHooks:

It´s also seems to impact in other integrations, that no present issues in the past:

It´s the same error? Or something diferent?

Regards.

For Losant, we now recommend using our Particle Integration. This makes use of Particle’s streaming API instead of Webhooks. This avoid the webhook rate limiting. We haven’t found any documentation that describes any limits on streaming endpoints, but I’m sure there are some safeguards in place. Maybe someone at Particle could shed on light on that?

1 Like

@BrandonCannaday, Intergrations are driven by Particle.publish() and hence are rate limited as per the tier subscribed to by the user.

1 Like

The biggest worry would be a per-host consumer limit. For example, there will be a limited number of Losant external IPs subscribing to many event streams. I imagine Particle has some safe guard in place to prevent the same IP from subscribing “unlimited” times to the streaming endpoints.

@BrandonCannaday, that would be a question for @Dave :relaxed:

1 Like

@BrandonCannaday Hey, I just setup a free sandbox account on Losant to give it a try.

It has a nice user interface.

1 Like

I don’t get yet what this message means:

Product event limit exceed.

I mean, i can figure, but how can i be sure about reach it?

Hi @Fracoro,

In order to pay for the Particle platform and access a bunch of valuable features for product creators, the Product tools have several tiers of event and data delivery.

https://www.particle.io/pricing

If you’re over your limit for your products, consider reaching out to our sales team ( https://www.particle.io/sales ), or trying to publish fewer events.

Thanks!
David

1 Like

Thanks Dave, but there is a counter, log or something to know the utilization?

@BrandonCannaday @Dave

Quick question I want to clear up for myself.

The Losant Particle Integration relies on the Particle Publish to send and receive data from Particle Cloud connected devices.

Let’s say I have a Practice Pilot plan which includes 250 devices and 2.5 million particle publishes per month. Are there any limitations if I have 250 products sending a Particle Publish even every min and Losant’s IOT backend is subscribing to all those published events.

@Dave Are there any limitations on scaling this to 1000 - 5000 devices without any issues on Losant subscribing to all these events?

@BrandonCannaday Am I right in assuming I have the ability to communicate with the Losant service via the Particle Integration or direclty via your MQTT API using the MQTT library for Particle?

Using the MQTT method to send and receive data from Losant bypasses the Particle Cloud, it’s monthly cost, and it’s Particle publish rate limits but we also loose the Particle Product features like Mass Product firmware upgrades.

https://docs.losant.com/applications/integrations/#particle

MQTT setup guide: https://www.losant.com/blog/how-to-connect-a-particle-photon-to-the-losant-iot-platform

@BrandonCannaday What are the advantages of using the Particle Integration other than how much easier it makes the setup and coding? I assume since the MQTT is not as secure as the Particle Publish because the Photon does not support Secure MQTT communication yet?

Just trying to figure this out before choosing which method to use. Any help is appreciated :smiley:

You can communicate with Losant however you’d like and whatever makes the most sense for your application. MQTT/REST are popular choices. The Particle Integration works well if you’re using other Particle features like variables and functions.

The biggest advantage is that it does simplify the firmware. The Integration uses the built-in functionality of publish and function, so no additional libraries are required. For a long time it was difficult to do MQTT over TLS, however there is now an MQTT-TLS library that does make this possible. In our testing, we’ve seen much higher long-term reliability using Particle’s built-in functionality compared to MQTT directly.

Those are 2 strong points for using the Particle Cloud.

So streaming Endpoints are throttled differently than the system-wide per-host webhook limits are correct?

And the Streaming Endpoints ended up allowing you to get around system-wide per-host webhook limits Losant users were experiencing in the past?

We don’t know yet if there are undocumented limits on streaming endpoint consumers. Need someone at Particle to verify.

There are documented limits on webhooks at 120 req/min per host. Since all incoming webhooks to Losant use the same triggers.losant.com host, this limit had to be shared among every Particle user, which was causing considerable problems. We’ve also had challenges getting this limit increased.

Each Particle Integration is done using a separate connection between Losant and Particle, so hopefully this will avoid any future limiting issues.

@DAVE can you comment.

This is something I’m wondering about also as I would rather know about issues now rather than later.

Hi @BrandonCannaday,

Thanks again for bringing this back up! We’ve upgraded the host limit for triggers.losant.com to unlimited, so things should be good to go!

At the moment, the webhook delivery system should have an easier time scaling to huge numbers of events versus the streaming system. The streaming endpoint doesn’t have an explicit limit, just an implicit limit of the streaming service running on the box you’re connected to. For example, if one server can deliver 1x messages, webhooks can deliver Nx messages (where N == number of webhooks servers), etc.

Losant folks, please feel free to ping me directly if you run into issues down the road. :slight_smile:

Thanks!
David