معماری Master–Slave در دیتابیسها
ا Replication یعنی اینکه یه کپی از دیتابیس رو روی چندتا نود (replica) داشته باشیم. اما وقتی یه چیزی روی دیتابیس نوشته میشه، چطور همه replicaها همون دیتا رو داشته باشن؟ راهحل رایج، مدل Master–Slave هست. توی این مدل، Master مسئول نوشتن دیتا هست و بعد تغییرات رو برای Slaveها میفرسته تا همه هماهنگ بمونن.
نوشتن فقط روی Master انجام میشه، خوندن میتونه از Slaveها هم باشه. اما انتقال دیتا از Master به Slave میتونه شکلهای مختلفی داشته باشه: توی حالت async، نود Master به محض نوشتن، response رو به کلاینت میده و Slaveها بعدا آپدیت میشن. توی حالت sync، نود Master صبر میکنه تا همه Slaveها آپدیت بشن و بعد response بده. حالت semi-sync هم یه چیزی بین این دوتاست. هرکدومش یه تعادل بین سرعت، سازگاری و ریسک از دست رفتن دیتا ایجاد میکنن.
مقاله:
https://www.enjoyalgorithms.com/blog/master-slave-replication-databases
#system_design
@techstuff100
Post #204
902

- 👍 9
- ❤ 1