Webhook architecture for managing millions of subscribers (who are customers)












0















My Azure based SaaS system publishes events and I have customers who wish to subscribe to them - webhooks seem undeniably the right architecture (And I'm currently a happy consumer of webhooks). I've found lots of great documentation and case studies on best practices (e.g. http://resthooks.org) however I've not managed to find an existing architecture, framework, project, sample or solution that implements the best practices.



I could build my own solution however I don't want to reinvent the wheel. I was expecting to find an existing framework (e.g. on Github) created by people much smarter than I but haven't had any success.



I currently use a number of Azure services (such as Service Bus, Cosmos, Table Storage) internally and consume using Azure Functions but what I don't have is an architecture for allowing my customers to subscribe to these events.



Specifically I'm looking for best practices and code samples on how to manage potentially millions of subscribers (who are external customers) and the approach to distribute the webhooks out to each of them.



I already understand how to publish and consume webhooks where I am an individual subscriber and there are already some great samples available - https://github.com/aspnet/AspLabs/tree/master/src/WebHooks



Can anyone point me in the right direction? (Preferably to a .NET / C# based solution)










share|improve this question




















  • 1





    Have you looked at using custom events in event grid?

    – Sam Cogan
    Nov 15 '18 at 11:12











  • Event Grid definitely looks like an excellent foundation to build upon and it ties in nicely with my Azure based solution (oh how I love Azure - just had to throw that in). From what I can see it will require some customisation in order to connect subscriptions to my specific customers but definitely more sane than building from scratch. I'll do some more research and get a handle on the level of effort required between what Event Grid provides and my (largely conceptual at this stage) requirements.

    – Fanetic
    Nov 15 '18 at 22:25
















0















My Azure based SaaS system publishes events and I have customers who wish to subscribe to them - webhooks seem undeniably the right architecture (And I'm currently a happy consumer of webhooks). I've found lots of great documentation and case studies on best practices (e.g. http://resthooks.org) however I've not managed to find an existing architecture, framework, project, sample or solution that implements the best practices.



I could build my own solution however I don't want to reinvent the wheel. I was expecting to find an existing framework (e.g. on Github) created by people much smarter than I but haven't had any success.



I currently use a number of Azure services (such as Service Bus, Cosmos, Table Storage) internally and consume using Azure Functions but what I don't have is an architecture for allowing my customers to subscribe to these events.



Specifically I'm looking for best practices and code samples on how to manage potentially millions of subscribers (who are external customers) and the approach to distribute the webhooks out to each of them.



I already understand how to publish and consume webhooks where I am an individual subscriber and there are already some great samples available - https://github.com/aspnet/AspLabs/tree/master/src/WebHooks



Can anyone point me in the right direction? (Preferably to a .NET / C# based solution)










share|improve this question




















  • 1





    Have you looked at using custom events in event grid?

    – Sam Cogan
    Nov 15 '18 at 11:12











  • Event Grid definitely looks like an excellent foundation to build upon and it ties in nicely with my Azure based solution (oh how I love Azure - just had to throw that in). From what I can see it will require some customisation in order to connect subscriptions to my specific customers but definitely more sane than building from scratch. I'll do some more research and get a handle on the level of effort required between what Event Grid provides and my (largely conceptual at this stage) requirements.

    – Fanetic
    Nov 15 '18 at 22:25














0












0








0


1






My Azure based SaaS system publishes events and I have customers who wish to subscribe to them - webhooks seem undeniably the right architecture (And I'm currently a happy consumer of webhooks). I've found lots of great documentation and case studies on best practices (e.g. http://resthooks.org) however I've not managed to find an existing architecture, framework, project, sample or solution that implements the best practices.



I could build my own solution however I don't want to reinvent the wheel. I was expecting to find an existing framework (e.g. on Github) created by people much smarter than I but haven't had any success.



I currently use a number of Azure services (such as Service Bus, Cosmos, Table Storage) internally and consume using Azure Functions but what I don't have is an architecture for allowing my customers to subscribe to these events.



Specifically I'm looking for best practices and code samples on how to manage potentially millions of subscribers (who are external customers) and the approach to distribute the webhooks out to each of them.



I already understand how to publish and consume webhooks where I am an individual subscriber and there are already some great samples available - https://github.com/aspnet/AspLabs/tree/master/src/WebHooks



Can anyone point me in the right direction? (Preferably to a .NET / C# based solution)










share|improve this question
















My Azure based SaaS system publishes events and I have customers who wish to subscribe to them - webhooks seem undeniably the right architecture (And I'm currently a happy consumer of webhooks). I've found lots of great documentation and case studies on best practices (e.g. http://resthooks.org) however I've not managed to find an existing architecture, framework, project, sample or solution that implements the best practices.



I could build my own solution however I don't want to reinvent the wheel. I was expecting to find an existing framework (e.g. on Github) created by people much smarter than I but haven't had any success.



I currently use a number of Azure services (such as Service Bus, Cosmos, Table Storage) internally and consume using Azure Functions but what I don't have is an architecture for allowing my customers to subscribe to these events.



Specifically I'm looking for best practices and code samples on how to manage potentially millions of subscribers (who are external customers) and the approach to distribute the webhooks out to each of them.



I already understand how to publish and consume webhooks where I am an individual subscriber and there are already some great samples available - https://github.com/aspnet/AspLabs/tree/master/src/WebHooks



Can anyone point me in the right direction? (Preferably to a .NET / C# based solution)







azure events architecture webhooks publish-subscribe






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 15 '18 at 10:31







Fanetic

















asked Nov 15 '18 at 7:26









FaneticFanetic

1028




1028








  • 1





    Have you looked at using custom events in event grid?

    – Sam Cogan
    Nov 15 '18 at 11:12











  • Event Grid definitely looks like an excellent foundation to build upon and it ties in nicely with my Azure based solution (oh how I love Azure - just had to throw that in). From what I can see it will require some customisation in order to connect subscriptions to my specific customers but definitely more sane than building from scratch. I'll do some more research and get a handle on the level of effort required between what Event Grid provides and my (largely conceptual at this stage) requirements.

    – Fanetic
    Nov 15 '18 at 22:25














  • 1





    Have you looked at using custom events in event grid?

    – Sam Cogan
    Nov 15 '18 at 11:12











  • Event Grid definitely looks like an excellent foundation to build upon and it ties in nicely with my Azure based solution (oh how I love Azure - just had to throw that in). From what I can see it will require some customisation in order to connect subscriptions to my specific customers but definitely more sane than building from scratch. I'll do some more research and get a handle on the level of effort required between what Event Grid provides and my (largely conceptual at this stage) requirements.

    – Fanetic
    Nov 15 '18 at 22:25








1




1





Have you looked at using custom events in event grid?

– Sam Cogan
Nov 15 '18 at 11:12





Have you looked at using custom events in event grid?

– Sam Cogan
Nov 15 '18 at 11:12













Event Grid definitely looks like an excellent foundation to build upon and it ties in nicely with my Azure based solution (oh how I love Azure - just had to throw that in). From what I can see it will require some customisation in order to connect subscriptions to my specific customers but definitely more sane than building from scratch. I'll do some more research and get a handle on the level of effort required between what Event Grid provides and my (largely conceptual at this stage) requirements.

– Fanetic
Nov 15 '18 at 22:25





Event Grid definitely looks like an excellent foundation to build upon and it ties in nicely with my Azure based solution (oh how I love Azure - just had to throw that in). From what I can see it will require some customisation in order to connect subscriptions to my specific customers but definitely more sane than building from scratch. I'll do some more research and get a handle on the level of effort required between what Event Grid provides and my (largely conceptual at this stage) requirements.

– Fanetic
Nov 15 '18 at 22:25












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53314336%2fwebhook-architecture-for-managing-millions-of-subscribers-who-are-customers%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53314336%2fwebhook-architecture-for-managing-millions-of-subscribers-who-are-customers%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







這個網誌中的熱門文章

Xamarin.form Move up view when keyboard appear

Post-Redirect-Get with Spring WebFlux and Thymeleaf

Anylogic : not able to use stopDelay()