cap-theorem

Is it possible to combine REST and messaging for microservices?

送分小仙女□ 提交于 2020-08-02 12:25:19
问题 We have the first version of an application based on a microservice architecture. We used REST for external and internal communication. Now we want to switch to AP from CP (CAP theorem)* and use a message bus for communication between microservices. There is a lot of information about how to create an event bus based on Kafka, RabbitMQ, etc. But I can't find any best practices for a combination of REST and messaging. For example, you create a car service and you need to add different car

Is it possible to combine REST and messaging for microservices?

孤者浪人 提交于 2020-08-02 12:25:11
问题 We have the first version of an application based on a microservice architecture. We used REST for external and internal communication. Now we want to switch to AP from CP (CAP theorem)* and use a message bus for communication between microservices. There is a lot of information about how to create an event bus based on Kafka, RabbitMQ, etc. But I can't find any best practices for a combination of REST and messaging. For example, you create a car service and you need to add different car

How CA distributed system according to Cap Theorem can exist

末鹿安然 提交于 2020-07-02 18:31:45
问题 How can a distributed system be consistent and available - CA. Because when partition happens CA is not possible. And if we say partition wont happen then only they are CA, then all systems which are CP or AP will also be CA in case partition wont happen? 回答1: A little late answer, sorry: It can't. As often mentioned, the CAP theorem in its original form is a little misleading. It can be restated as in the presence of the network partition, a distributed system is either available or

How CA distributed system according to Cap Theorem can exist

天大地大妈咪最大 提交于 2020-07-02 18:30:22
问题 How can a distributed system be consistent and available - CA. Because when partition happens CA is not possible. And if we say partition wont happen then only they are CA, then all systems which are CP or AP will also be CA in case partition wont happen? 回答1: A little late answer, sorry: It can't. As often mentioned, the CAP theorem in its original form is a little misleading. It can be restated as in the presence of the network partition, a distributed system is either available or

Why are RDBMS considered Available (CA) for CAP Theorem

非 Y 不嫁゛ 提交于 2019-12-13 11:53:56
问题 If I understand the CAP Theorem correctly, availability means that the cluster continues to operate even if a node goes down. I've seen a lot of people (http://blog.nahurst.com/tag/guide) list RDBMS as CA, but I do not understand how RBDMS is available, as if a node goes down, the cluster must go down to maintain consistency. My only possible answer to this has been that most RDBMS are a single node, so there is no "non-failing" node. But, this seems to be a technicality, not true

Where would a scaled relational DB fall in the CAP theorem?

纵然是瞬间 提交于 2019-12-13 04:45:52
问题 If you have scaled SQL server with one DB for writes and multiple DBs for reads. Wouldn't there be a delay for data to be replicated from the write DB to the to other read databases? In which case isn't the data inconsistent? So where would a scaled relational DB fall in the CAP theorem? Update: In relational DBs consistency means there wont be partial updates. For example if someone transfers money from one account to another and the whole thing is a part of one transaction, it wont happen

DynamoDB: Conditional writes vs. the CAP theorem

情到浓时终转凉″ 提交于 2019-12-04 11:35:27
问题 Using DynamoDB, two independent clients trying to write to the same item at the same time, using conditional writes, and trying to change the value that the condition is referencing. Obviously, one of these writes is doomed to fail with the condition check; that's ok. Suppose during the write operation, something bad happens, and some of the various DynamoDB nodes fail or lose connectivity to each other. What happens to my write operations? Will they both block or fail (sacrifice of "A" in

Why are RDBMS considered Available (CA) for CAP Theorem

走远了吗. 提交于 2019-12-04 01:52:57
If I understand the CAP Theorem correctly, availability means that the cluster continues to operate even if a node goes down. I've seen a lot of people ( http://blog.nahurst.com/tag/guide ) list RDBMS as CA, but I do not understand how RBDMS is available, as if a node goes down, the cluster must go down to maintain consistency. My only possible answer to this has been that most RDBMS are a single node, so there is no "non-failing" node. But, this seems to be a technicality, not true 'availability' and definitely not high availability. Thank you. First of all, let me clarify and state that the

Why isn't RDBMS Partition Tolerant in CAP Theorem and why is it Available?

余生长醉 提交于 2019-12-03 09:28:53
问题 Two points I don’t understand about RDBMS being CA in CAP Theorem : 1) It says RDBMS is not Partition Tolerant but how is RDBMS any less Partition Tolerant than other technologies like MongoDB or Cassandra? Is there a RDBMS setup where we give up CA to make it AP or CP? 2) How is it CAP-Available? Is it through master-slave setup? As in when the master dies, slave takes over writes? I’m a novice at DB architecture and CAP theorem so please bear with me. 回答1: A lot of databases now actually

DynamoDB: Conditional writes vs. the CAP theorem

纵然是瞬间 提交于 2019-12-03 08:11:34
Using DynamoDB, two independent clients trying to write to the same item at the same time, using conditional writes, and trying to change the value that the condition is referencing. Obviously, one of these writes is doomed to fail with the condition check; that's ok. Suppose during the write operation, something bad happens, and some of the various DynamoDB nodes fail or lose connectivity to each other. What happens to my write operations? Will they both block or fail (sacrifice of "A" in the CAP theorem)? Will they both appear to succeed and only later it turns out that one of them actually