Is it possible to run Hangfire on AWS Elasticache?
Amazon says Elasticache implements Reddis protocols and Hangfire Pro is supports Reddis, so in theory it should be possible. Does anyone know if it's possible in practice?
Some customers of mine are using Hangfire.Redis with AWS Elasticache. However, please note that SSL isn't supported by Hangfire.Redis yet.
Related
My ElastiCache Redis version is on 6.0.5. But I want to use 6.2. According to AWS you can't specify the exact v6.x version.
I want to know if it's possible to upgrade it manually or something.
I’ve looked into this and was unable to find a way to use ElastiCache with Redis 6.2. Instead, I have deployed Redis in docker with ECS and Fargate in a Redis 6.2 dockerfile. Not as turnkey as ElastiCache though, I’m afraid.
Originally was trying to install RediSearch ontop of Aws ElastiCache but it seems they dont support modules in their managed service (makes sense).
Then I was looking into running RediSearch on a separate EC2 instance with my VPC instance that would allow me to utilize it while not having to install it in ElastiCache directly.
Is this possible?
Thanks!
RediSearch is available as a service on Redis Enterprise Cloud from Redis Labs on AWS, Azure and GCP.
For a large online application, use k8s to run it. The scale maybe daily activity user 500,000.
The application inside k8s need messaging feature - Pub/Sub, there are these options:
Kafka
RabbitMQ
Redis
Kafka
It needs zookeeper and good to run on os depends on disk I/O. So if install it into k8s cluster, how? The performance will be worse?
And, if keep Kafka outside of the k8s cluster, connect Kafka from application inside the k8s cluster, how about that performance? They are in the different layer, won't be slow?
RabbitMQ
It's slow than Kafka, but for a daily activity user 500,000 application, is it good enough? If so, maybe it's a good choice.
Redis
It's another option. Maybe the most simple one. But from the internet I got that it will lose message sometimes. If true, that's terrible.
So, the most important thing is, use Kafka(also with zookeeper) on k8s, good or not in this use case?
Yes, running Kafka on Kubernetes is great. Check out this example: https://github.com/Yolean/kubernetes-kafka. It includes ZooKeeper and Kafka as StatefulSets.
PS. Running any of the services in your question on Kubernetes will be pleasant. You can Google the name of the service and "kubernetes" and find example manifests. Many examples here: https://github.com/kubernetes/charts.
For Kafka, you can find some suggestion here. Kubernetes 1.7+ supports local persistent volume, which may be good for Kafka deployment.
You can also take a look to the following project :
https://github.com/EnMasseProject/barnabas
It's about running Kafka on Kubernetes and OpenShift as well. It provides deploying with StatefulSets with persistent volumes or just in memory (for developing or just testing purpose). It provides deploying for Kafka Connect and Prometheus metrics as well.
Another simple configuration of Kafka/Zookeeper on Kubernetes in DigitalOcean with external access:
https://github.com/StanislavKo/k8s_digitalocean_kafka
You can connect to Kafka from outside of AWS/DO/GCE by regular binary protocol. Connection is PLAINTEXT or SASL_PLAINTEXT (user/password).
Kafka cluster is StatefulSet, so you can scale cluster easily.
We are planned to use Amazon RDS and currently using Mule Standalone.Can we use Amazon RDS in Mule and deploy in standalone. Reason I'm asking is there are few example over internet which is with CloudHub and Amazon RDS?. Hopefully shouldn't, but i'm confused.
Are we having any specific config difference in Amazon RDS with cloudhub or using with standalone.
Any pros and cons using Amazon RDS with cloudhub or with standalone.
Are we have specific connector for Amazon RDS as like SQS?
Helpful on clarify the doubts.
If you have already used, Please let me know if anything which i need to keep me in mind on development.
Helpful if you direct me with url's also. Thanks in advance.
No difference in using it with Cloudhub or Mule Standalone functionally. Just use the database connector and setup the correct JDBC properties: https://docs.mulesoft.com/mule-user-guide/v/3.8/
I have a web farm in amazon and one of my sites need some caching.
I am considering the use of Elasticache redis.
Can anyone shed some ligth on how I would connect and interact with this cache?
I have read about several client sdks like stackexchange redis, service stack etc.
.NET is my preferred platform.
Can these client sdks be used to interact with redis on elasticache?
Anyone know about some documentation and/or code examples using elasticache redis (with the stackexchange redis sdk)?
Im guessing I will have to authenticate using a key / secret pair, is this supported in any of these client sdks?
thanks in advance!
Lars
Elasticache is connected to the same way you connect to any other Redis instance. Once you create a new Elasticache instance, you'll be given the hostname to connect to. No need for secret/key pair. All access to the Redis instance there is configured through security groups just like with other AWS instances in EC2, RDS, etc...
With that said, there are two important caveats:
You will only be able to connect to elasticache from within the region and/or VPC in which it's launched, even if you open up the security group to outside IPs (for me, this is one of the biggest reasons not to use Elasticache).
You cannot set a password on your Redis instance. Anyone on a box that is given access to the instance in security groups (keeping in mind the limitations from caveat 1) will be able to get access to your Redis instance with full rights to add/delete/modify whatever keys they like. This is the other big reason not to use Elasticache, though it certainly still has use-cases where these drawbacks are less important.