Все это основано на стандартной теории распределенных систем.
Есть формула определения стойкости распределенной системы, автор Gifford (1979).
Пусть у нас есть N реплик, которые и реализуют нашу систему. На W единиц мы пишем, с R - читаем.
Чтобы назвать систему стойкой должно соблюдаться условие:
W+R > N
W>N/2
Теракота эррей состоит их mirror-group, с одного нада мы читаем, а второй является страховочным зеркалом первого, тоесть пишем мы как во второй так и в первый. Чтобы узнать стойкость эррея, достаточно посчитать стойкость одного зеркальной группы.
W=2
R=1
N=2
2+1>2
2>2/2
И так условия формулы совпадают наш эррей получается стойкой распределенной системой.
Есть формула определения стойкости распределенной системы, автор Gifford (1979).
Пусть у нас есть N реплик, которые и реализуют нашу систему. На W единиц мы пишем, с R - читаем.
Чтобы назвать систему стойкой должно соблюдаться условие:
W+R > N
W>N/2
Теракота эррей состоит их mirror-group, с одного нада мы читаем, а второй является страховочным зеркалом первого, тоесть пишем мы как во второй так и в первый. Чтобы узнать стойкость эррея, достаточно посчитать стойкость одного зеркальной группы.
W=2
R=1
N=2
2+1>2
2>2/2
И так условия формулы совпадают наш эррей получается стойкой распределенной системой.
Standard Client-Side Consistency Modes
Strong consistency. После того как апдейт закончен, любое последующее обращение к такому ключу вернет на всех нодах(из разных потоков одного нода) это значение.
Weak consistency. Система не гарантирует, что значение будет последним при обращении.
Eventual consistency. Это специфичная форма слабой связности. После апдейта возможен варинат, когда на каком-то из нодов вренется не последнее значение.
Время, во время коготоро нет гарантии связности на всех нодах, называется "окно ненесвязности", оно зависит от многих факторов: задержек коммуникации,
загруженности системы, количества реплик задействованных в репликационной схеме.
В ehcache может быть две модели звязности:
<cache name="sampleCache1" ... /> <terracotta consistency="strong" /> </cache>
<cache name="sampleCache1" ... /> <terracotta consistency="eventual" /> </cache>Понятие Sticky sessions и Non-sticky sessions. Первый вариант это когда лоад-балансер гарантирует, что клиент с активной сессией постоянно будет попадать на нод, к которому он первый раз обратился, создав сессию. Второй- это когда скорей всего клиент будет каждый раз попадать на разные ноды.
Комментариев нет:
Отправить комментарий