Abstract

Using the Internet as a universal and global media for information exchange apart from convenience has brought up a set of significant challenges. To secure scalability and redundancy and to provide service over wide geographic areas, information systems include multiple distributed nodes that are placed in the best way to optimize data ows and bring the service as close to consumers as possible. One of critically important tasks when designing such systems is synchronization between nodes of the system, which means bringing them to a coordinated state and replicating data between them.The task of synchronization may be considered as message exchange between the nodes, as a result of which each of the nodes gets into the desired state. Due to message propagation delays, which are common in wide area systems, it is possible that reason-consequence relations between events are lost. While a correct chronological order of the events can be achieved by using timestamps for the messages, the fact is that that some message appeared as a reaction to some other message that may be gone. To preserve not only the chronological order but also the logic of the events during synchronization of nodes in a wide area system, it is necessary to use reason-consequence events ordering. The other problem with the distributed system is handling the case of connectivity loss between parts of the system known as split brain. Choosing one of disconnected parts as a single operational one and considering all the others as failed simplifies synchronization upon recovery but may cause a severe performance degradation. On the other hand, allowing all of the disconnected parts to operate significantly complicates integration of operational results of all the nodes. Adding reason-consequence relations between events may lead to more natural ordering of events that occurred on disconnected nodes, and simplify synchronization.

Highlights

  • Покриття мережею Інтернет усієї планети зумовило появу територіально розподілених систем, які складаються з вузлів, рознесених на значну відстань один від одного

  • На вузлі A порядок подій виглядатиме так: Order_A = [ NONE, MSG_A, MSG_B ]

  • Adding reason-consequence relations between events may lead to more natural ordering of events that occurred on disconnected nodes, and simplify synchronization

Read more

Summary

Обмін повідомленнями як метод синхронізації вузлів розподіленої системи

Покриття мережею Інтернет усієї планети зумовило появу територіально розподілених систем, які складаються з вузлів, рознесених на значну відстань один від одного. Синхронізація вузлів системи обміну повідомленнями повинна забезпечити ідентичний склад та порядок відображення повідомлень усіх користувачів на всіх вузлах. Для синхронізації – спонукання вузла B до аналогічної зміни стану вузол A надсилає вузлу B повідомлення MSG_A. На вузлі A порядок подій виглядатиме так (перший елемент списку NONE додано для позначення початкового стану системи, в якому вона перебувала до передачі першого повідомлення): Order_A = [ NONE, MSG_A, MSG_B ]. ● після того, як на первинний вузол наді­ йдуть підтвердження від усіх вузлів системи про отримання його повідомлення, передача повідомлення вважається успішно завершеною. Протягом часу очікування на ACK_A вузол A отримує повідомлення MSG_B від вузла B, але не реплікує його, доки передачу MSG_A не завершено. Після отримання ACK_A вузол A вважає передачу MSG_A завершеною і відправляє до вузла B раніше отримане повідомлення MSG_B. Зокрема для відтворення однакового порядку надходження повідомлень на всіх вузлах, можливе використання таких підходів

Синхронна реплікація повідомлень
Асинхронна реплікація повідомлень
Список використаної літератури
Dmytro Cherkasov
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call