Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 4 years ago.
Improve this question
I want a redis cluster that every redis instance can access other instance's data i.e data should be replicated among themselves.(With out master-slave concept)
I'm trying to setup redis RepilcaSet in K8s. I tried to setup slave-read-only no in config which pods are restating continuously.
Update1
I used https://github.com/kubernetes/examples/tree/master/staging/storage/redis example to setup cluster which is master-salve+Redis Sentinel. But my application can't access sentinel to know who is the redis master. That's why I don's want to use sentinel.
You can have master and slave in same node if you are short of nodes.
Replication in Redis uses the master - slave concept. you can't replicate by switching off slave. https://redis.io/topics/replication
If you do mutual replication, you need to have a way to resolve 'both updated' situations and it is not that easy. You need either CRDT model or a good resolver algorithm. If you just cycle the dependency (idk if it is possible), simultaneous updates on multiple nodes will propagate unpredictably.
Take a look at SoundCloud's roshi. Maybe it will be enough for your case?
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
Does openstack have any feature to achieve this scenario:
Check the status of openstack instances (user is able to ssh and work or not).
Get the set of instances IP which is not working.
Send an email to a user with list of not working instances.
If this is not available, any alternatives?.
Went through https://wiki.openstack.org/wiki/Operations/Tools. but could not find the one which suits my scenario.
For that you can install elasticsearch nodes on your instances, and thanks to plugins like heartbeat (https://www.elastic.co/beats/heartbeat), you can have an overview of the availability of your servers, and their access.
Monitoring is the best practice for having this kind of information, the ELK (Elasticsearch Logstash Kibana) suite does it very well for free and allows you to alert (by email or other) if one of your instances no longer responds.
You can use Mistral project for such used case , Set a cloud cron for it.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 7 years ago.
Improve this question
The cluster spec(http://redis.io/topics/cluster-spec) does not give a reason for this requirement. I guess it is because both the failure detection and the failover process require the majority of master nodes to reach an agreement. If we have only 2 masters and one failed, the other master node cannot make up the decision according to the protocol. Is this correct?
I think what you have pointed out is right.
It is suggested to have three master node and one slave to each of them.
http://redis.io/topics/cluster-tutorial:
Note that the minimal cluster that works as expected requires to contain at least three master nodes. For your first tests it is strongly suggested to start a six nodes cluster with three masters and three slaves.
Still you might be able to create cluster with less than three master node but that will affect the failover process you already pointed.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
We're looking to build a large network of sensor nodes which all eventually goes into one centralized database. The current system (which has not been scaled up) consists of a single machine that contains a data translator which takes in the raw sensor data, writes the appropriate SQL call for a Postgres database, and executes the call to stuff data into a Postgres table.
I've setup remote machines to record sensor node data in remote locations. I would like to setup some system where I can push data from the remote locations to a central location in a reliable sort of manner. Since network connectivity is an issue, I can't just do remote database writes for fear of losing some of the time-series data.
I have a hack right now which kinda works; I have a script that periodically dumps the contents of a local postgres instance on the remote machine, copies it over to the master and then the master script re-integrates that data into it's database. The database on the remote machine is then wiped to prevent duplicates from happening the next time this "sync" happens.
Is there a good, industry standard way of accomplishing this? I need a pretty easy way of doing one-way multi-source replication into a central location. I've looked at using postgres with bucardo, but I haven't quite been successful. I'm not sure if I'm describing the system correctly, so feedback on that would be much appreciated also.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I want to use Redis. Is there any stable release of Redis which supports both clustering and replication? Is Redis-V8 differs from Redis ? If Yes, then what are the differences?
There is no stable official release of Redis which supports clustering and replication. What is provided by Redis is master/slave replication, plus role management (redis-sentinel). You still need to take care of data distribution, and resource management, to get a proper cluster.
Redis-V8 is a one-man fork replacing Lua by V8. Its user base is probably very narrow, compared to official Redis.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
We have to implement a queuing system for our ROR Application.We have evaluated the following options:
Amazon SQS: High Availability but relatively slow performance.Requires constant poling.
CloudAmqp: Looks promising but doubtful about the support.
RabbitMq setup on EC2: Needs user bandwidth to manage the setup,may result in downtime if some issue arises in the setup.
Right now there won't be any dedicated team/person to manage the setup full-time so implementing our own RabbitMq setup on Ec2 may result in downtime in case something goes wrong.
I want to know considering the situation which is our best option?
I use SQS and I am happy with it; I don't worry about the support aspect, because I also don't have time to deal with setting up my own server and supporting myself when I can pay AWS pennies to do it for me.
If you don't want to poll constantly, considering pairing up your SQS queue with an SNS topic and it can do push notifications to your application instead. Don't know the nature of your application, but its something to look into. http://aws.amazon.com/sns/
ALso keep in mind the slow performance of SQS (relative to Rabbit) is not apples to apples. SQS is redundant and distributed, a single instance of RabbitMQ on a single box is not; can your application deal with the queue not being available for a period of time?
At CloudAMQP all our servers are redundant, each cluster has at least two instances in different availability zones. For support we have email support 24/7, as we have staff in different timezones. We do have phone support for our largest plans too.