Решардинг Redis "на живую" (Андрей Смирнов, Василий...

Preview:

DESCRIPTION

 

Citation preview

������������ ���

��������������������������

������������������� ��� ������

��������������� �

!"#��������$%&'()*+��,)-.+

/"��0�1����1�����������

2"3�4� �����4��4�����1�����5�6

7"8�������,)-.+�9��� :���������14�

��������

������������������ ���� �������������������������� � �� ����!��"��� �����

��������������� �#������ ����"���� ��� �� � ��"��� ��"����� "�����" ������� " ����������$������

���������"�� #�" % �" ������� �# ���

������������ ���!"����� � �� �������������� ����! ���"��!�����

�������

� ;��������6�<�=>� �?@�

!" ��>� �?@�<�AB+A>� �?@�C�D

/" ��>� �?@�<�EB%F)G� �?H

� I���4��������������� ����

��� ��� �������� ��������

���������������

�������� �#��"������������ ����� �&����� �&����

���������������

�������� �#��"������������ ����� �&����� �&����

���������������

�������� �#��"������������ ����� �&����� �&����

���������������

�������� �#��"������������ ����� �&����� �&����

����� !�"�#$%�&�'()�#$%�&�

*'$�

+ , - . / 0

+ + + , , , - - - - . . . . . / / 0 0 0

1%2�&

� J��4�4�9�4�6�����6K��������

� ����4:9���������14�

� �K�������9������?���������

� ;������4:9�LB+*)MN+FB$)

��3��4�����5�1%2�&6

� !�,)-.+�<�!�OPQ�'RM)

� !�,)-.+�S�,TU

� !�,)-.+2/�S�2V%

�����7������7�8���

9

:

��

"

1;"

��

9

:

1;"

<=>> ?2�

!=@

��

9

:

<=>> ?2�

!=@

A������

� ����������� �������������4�1�

����� ������ ������������ � ��

� W���� ���������������� �4:�

���?����������

A��������

:B �2

'> &�%��

*�!�%��?@

�%C!�# ��=?

C�=DE

F%G

&B �2

'&! (%�

$%E�H�IJ()--KI

L�������

M

M

M

M

M

NCC

��

=!2

?%G

C�=DE�! E%�

��O���������6

� �B&*R.X'M)L)X*�

� Y�� ����4��

� I����4��

→→→→

...

Master SlaveMaster Slave

Master Slave

Master Slave

Shard #1

Master Slave

Shard #2 Shard #3

Shard #4 Shard #5

ProxyMasterSlave

Shard 1−3

Shard 1−2

Shard 1−4

Shard 1−1Shard 1

......

Shard 1−1

Shard 1−2

Shard 1−3

Proxy

Rea

ctor

RedisProxySrv

RedisProxySrv

RedisProxySrv

Master

Shard 1

RDB, CMD

SYNC

Red

isSr

vFac

tory

Python/Twisted

� −−−−→� →� →