XMiDT

Call For Webhook SNS Replacement

As the service has matured, I think we’re at the point where the SNS implementation of webhooks is being outgrown. Why?

  1. Now that we have consul at the core for coordination, we can use that & remove 1 more integration needed.
  2. There is the 5 minute window where a server needs to wait before it can service traffic… or let it call the “give me all” endpoint to speed up the process.
  3. Some groups don’t use AWS, so it’s a hassle for them.

I thought there were a few implementations floating around, but I haven’t seen them. I’d love to deprecate the webpa-common/webhook in favor of a new one that is it’s own git repo.

How about using distributed queues (e.x.: rabbitmq) ? Talaria publishes device events to RabbitMQ queues & applications listening to events subscribe to those queues

That’s an interesting suggestion for whole Caduceus replacement.

In my initial post I was focusing just on the replacement of the webhook configuration data being passed from tr1d1um/scytale to caduceus to configure the delivery pipeline & leave the rest of the delivery pipeline (Talaria->Caduceus->Customer) unchanged. I just re-read my post & realized that I didn’t focus my comment on the configuration data vs. the event data flow.

We are all in favor for this SNS replacement change. In our current deploy we don’t use AWS, and this extra integration should be removed if possible.

I like the idea of the consul gain that extra responsability, but by it self cannot replace the SNS implementation. But I think it’s possible to achive a solution only using the consul and new code in webpa-common.