Replication (computing): Difference between revisions

Content deleted Content added
Monkbot (talk | contribs)
m Task 16: replaced (1×) / removed (1×) deprecated |dead-url= and |deadurl= with |url-status=;
Line 21:
[[load balancing (computing)|Load balancing]] differs from task replication, since it distributes a load of different computations across machines, and allows a single computation to be dropped in case of failure. Load balancing, however, sometimes uses data replication (especially multi-master replication) internally, to distribute its data among machines.
 
[[Backup]] differs from replication in that the saved copy of data remains unchanged for a long period of time.<ref>{{Cite web|url=https://www.zerto.com/replication/backup-and-replication-what-is-the-difference/|title=Backup and Replication: What is the Difference?|last=|first=|date=February 6, 2012|website=Zerto|archive-url=|archive-date=|dead-url=|access-date=}}</ref> Replicas, on the other hand, undergo frequent updates and quickly lose any historical state. Replication is one of the oldest and most important topics in the overall area of [[distributed computing|distributed systems]].
 
Data replication and computation replication both require processes to handle incoming events. Processes for data replication are passive and operate only to maintain the stored data, reply to read requests and apply updates. Computation replication is usually performed to provide fault-tolerance, and take over an operation if one component fails. In both cases, the underlying needs are to ensure that the replicas see the same events in equivalent orders, so that they stay in consistent states and any replica can respond to queries.
Line 32:
title=Keyspace: A Consistently Replicated, Highly-Available Key-Value Store | author=Marton Trencseni, Attila Gazso}}
</ref><ref name=chubby>
{{cite web | accessdate=2010-04-18 | year=2006 | url=http://labs.google.com/papers/chubby.html | title=The Chubby Lock Service for Loosely-Coupled Distributed Systems | author=Mike Burrows | deadurlurl-status=yesdead | archiveurl=https://web.archive.org/web/20100209225931/http://labs.google.com/papers/chubby.html | archivedate=2010-02-09 | df= }}
</ref>
* ''[[Virtual synchrony]]'' – involves a group of processes which cooperate to replicate in-memory data or to coordinate actions. The model defines a distributed entity called a ''process group''. A process can join a group and is provided with a checkpoint containing the current state of the data replicated by group members. Processes can then send multicasts to the group and will see incoming multicasts in the identical order. Membership changes are handled as a special multicast that delivers a new "membership view" to the processes in the group.