Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using SignalR with ElastiCache fails

We have C# application using SignalR and Amazon's ElastiCache as backplane. However even SignalR allows to mask out certain commands it stills sends a CONFIG to the ElastiCache which fails SignalR silently (CONFIG is not supported by ElastiCache). For now we compile our own binary of SignalR with the change of removing the auto reconfiguration routine.

I wonder if anyone else tripped over this issue and wanted to see how you solved it.

The best idea would be to write a proxy for ElastiCache (like the Twitter proxy) but that is a huge undertaking.

Thanks in advance.

like image 859
flyandi Avatar asked Jun 25 '15 17:06

flyandi


People also ask

How do I test my ElastiCache connection?

ElastiCache supports both cluster mode disabled and cluster mode enabled Redis clusters. To test a connection to these clusters, you can use the redis-cli utility. The latest version of redis-cli also supports SSL/TLS for connecting to clusters with encryption and/or authentication turned on.

How many connections can ElastiCache handle?

Large number of connections Individual ElastiCache for Redis nodes support up to 65,000 concurrent client connections.

How do I know if ElastiCache is enabled in cluster mode?

In the ElastiCache console dashboard, choose Redis to display a list of all your clusters that are running any version of Redis. To see details of a Redis (cluster mode enabled) cluster, choose the box to the left of the cluster's name.

What is the difference between ElastiCache and Redis?

ElastiCache supports Memcached and Redis. On the other hand, Redis is detailed as "An in-memory database that persists on disk". Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.


1 Answers

In this case client is important and Baking your own SignalR definitly bad practice. Did you check this page http://www.asp.net/signalr/overview/performance/scaleout-with-redis: This method uses StackExchange.Redis(StrongName) and StackExchange.Redis has many options for connection.

We are using same method described in the page on AWS with Elasticache Redis and we don't have any issues you had...

Regards...

like image 131
efaruk Avatar answered Oct 02 '22 12:10

efaruk