4

I am looking for a scalable solution for push notification based on .net.

Scenario:

Both client and server will be in .NET. The requirement is, there will be approximately 60-100 clients connected to a single server and server should be able to send between 4000-5000 notification per client per minute. There will be a small payload with every notification as well.

Any ideas?

Rajat Mehta
  • 201
  • 3
  • 14
  • what about something like RabbitMQ or ZeroMQ? Also, this is a similar question: http://stackoverflow.com/questions/11803542/pub-sub-and-content-based-subscriptions – Skrealin Jan 02 '13 at 15:04
  • Hi I tried using MassTransit as a bridge with MSMQ. Everything so far looks good my only worry is the queues that are building up on server. Does anyone has any experience with MassTransit and MSMQ? I want some sort of auto purge feature. – Rajat Mehta Jan 03 '13 at 15:29

3 Answers3

2

If you consider .NET... Take a look at XSockets http://xsockets.net XSockets can deliver what you need (and more).

Regards Uffe

Uffe
  • 2,275
  • 1
  • 13
  • 9
0

It think largely depends on the nature of the client environment and the level of abstraction you want to achieve. You can develop a solution as @skrealin suggests that directly interacts with the messaging infrastructure, but this is not really ideal for internet/web based clients who's connectivity/subscription cannot be guaranteed and may also require exposing your infrastructure unnecessarily. There are a couple of options I would consider investigating for these scenarios

  1. SignalR
  2. Azure ServiceBus

Both of these will provide "push" notifications and help manage subscriptions for your clients with straight forward api. A "polling" solution might nit be appropriate here because of the relatively high notification rate.

There are other approaches I'm sure, but looking at this will give you some sense of what's involved.

stephenl
  • 3,119
  • 4
  • 22
  • 22
0

Check this vendor out: http://www.pubnub.com/

If anything else it will give you an idea of a few other problems your solution will likley need to solve.

I think this vendor's backend uses SingnalR and thus websockets for the server, client connection.