4

Has anybody tried to connect AWS Elasticache Redis (cluster mode disabled) to use with SignalR? I see there are some serious configuration issues and limitations with AWS Redis.

1) We are trying to use Redis as a backplane for signalr,

//GlobalHost.DependencyResolver.UseRedis("xxxxxx.0001.use1.cache.amazonaws.com:6379", 6379, "", "Performance");

It has to be as simple as this as per docs, I get socket failure on Ping when I try to connect. (I have seen posts about this with Windows azure, but could not find any help articles with AWS)

2) Should the cluster mode have to enabled ? as with cluster mode disabled, we need to use the replica end points for reading, and signalr does not know this ?

Thanks in advance.

jamesb
  • 61
  • 6

2 Answers2

2

We finally resolved, by removing the clusters and making a standalone AWS Redis.

The other issue we had it was assigned to the wrong security group, so we had changed it to the same as our EC2 instances.

You will still need to include ":6379" while accessing the DB.

However, if you are using dependency resolver for signalr you should not include ":6379" as the access point, but if you use the redis for read and write operations using StackExchange.Redis then you need to include ":6379" in the request.

jamesb
  • 61
  • 6
  • Hi James. Aws Redis seems to create 3 servers by default, not clustered.. Is that what you did and it worked ok? and did you include the :6379 in the end? Thanks – timk Dec 18 '18 at 21:30
  • @timk I am not sure the config of AWS redis currently, but yes :6379 is part of the connection string and it works. – jamesb Feb 28 '19 at 16:57
  • 1
    we're regularly seeing Timeout exceptions from Signalr calls to the AWS Redis backplane.. Ever seen any of those? – timk Mar 11 '19 at 10:19
1

This note (https://learn.microsoft.com/en-us/aspnet/signalr/overview/performance/scaleout-with-redis) says "SignalR scaleout with Redis does not support Redis clusters.".

Also, perhaps remove ":6379" from the server and only have 6379 in the port?

Carl Dacosta
  • 873
  • 4
  • 13
  • thanks , I guess this answers my 2nd question. I am still unable to connect to AWS Redis. – jamesb Feb 12 '18 at 16:14
  • perhaps remove ":6379" from the server and only have 6379 in the port? – Carl Dacosta Feb 12 '18 at 20:38
  • Thanks Carl, I have even tried that. As per AWS docs we need to include ":6379" in the endpoint to access the node . My only thought so far is the doc says the end point to write and read are different, but when configuring we are only using the primary end point which is only for write operations. – jamesb Feb 13 '18 at 15:00