��ܰ������ʡн 2024��(g��)��ُ(g��u)����(b��o)�� 2024�ЈD�W(w��ng)��Ȉ�(b��o)��
�gӭ���R�ЈD�W(w��ng) Ո(q��ng) | ע��(c��)
> >
���˶��Ǽܘ�(g��u)��-�ֲ�ʽϵ�y(t��ng)�ܘ�(g��u)����cƿ�iͻ��

���˶��Ǽܘ�(g��u)��-�ֲ�ʽϵ�y(t��ng)�ܘ�(g��u)����cƿ�iͻ��

���ߣ�������
�����磺��ӹ��I(y��)����������r(sh��)�g��2017-05-01
�_(k��i)���� 32�_(k��i) �(y��)��(sh��)�� 200
�� �D �r(ji��):¥51.1(7.4��) ���r(ji��)  ¥69.0 ��䛺�ɿ�����(hu��)�T�r(ji��)
����ُ(g��u)��܇ �ղ�
�\(y��n)�M(f��i)6Ԫ���M39Ԫ���\(y��n)�M(f��i)
?�½������س���
������Ǖ�����>
�I�^(gu��)����Ʒ����߀�I��

���˶��Ǽܘ�(g��u)��-�ֲ�ʽϵ�y(t��ng)�ܘ�(g��u)����cƿ�iͻ�� ���(qu��n)��Ϣ

���˶��Ǽܘ�(g��u)��-�ֲ�ʽϵ�y(t��ng)�ܘ�(g��u)����cƿ�iͻ�� ������ɫ

����ע�ش��;W(w��ng)վ���g(sh��)�ܘ�(g��u)������������Լ���(sh��)��(zh��n)��(sh��)ʩ���������H��(hu��)�ĺ��^�ĽǶ�ȥ�U��������̾W(w��ng)վϵ�y(t��ng)�ļܘ�(g��u)�O(sh��)Ӌ(j��)������Ҫ��������(hu��)�Y(ji��)�ϹP�ߌ�(sh��)�H�Ĺ�����(j��ng)�(y��n)�����������������ϵ�y(t��ng)*���׳��F(xi��n)ϵ�y(t��ng)ƿ�i�ļ�(x��)��(ji��)�����ṩ�Ɍ�(sh��)ʩ���������Ъ�(d��)�؃�(n��i)���У�����mq������������ϵ�y(t��ng)redis cluster�Ć��c(di��n)ƿ�i���P(gu��n)ϵ�͔�(sh��)��(j��)��(k��)֮sharding�������

���˶��Ǽܘ�(g��u)��-�ֲ�ʽϵ�y(t��ng)�ܘ�(g��u)����cƿ�iͻ�� ��(n��i)�ݺ�(ji��n)��

1��؛��r(ji��)��(sh��)�Ļ�“(li��n)�W(w��ng)��(ch��ng)���´��;W(w��ng)վ�ܘ�(g��u)��׃�^(gu��)���к��ļ��g(sh��)�y�}�Ľ�Q������
2��ȫ����(l��i)Դ�������挍(sh��)��(j��ng)�v�����a(ch��n)���������;W(w��ng)վ��(y��ng)��(du��)�߲��l(f��)���������đ�(y��ng)�����䣻
3���ֲ�ʽ����(w��)����ȫ�������������v����Θ�(g��u)��һ��(g��)�ֲ�ʽ�{(di��o)�ø�ۙϵ�y(t��ng)��
4������������/���尸��ȫ���������������M���ܓ���ϵ�y(t��ng)���Σ����⌦(du��)����ϵ�y(t��ng)�a(ch��n)���^��_����
5���ֲ�ʽ���ù�������(w��)����ȫ�������������v����Θ�(g��u)������ʽ�YԴ����������
6���ޕr(sh��)��ُ(g��u)���뚢��(ch��ng)���������c(di��n)��(sh��)��(j��)���x/����(y��u)��������
7����(sh��)��(j��)��(k��)�֎�(k��)�ֱ�����ȫ�������������v����������P(gu��n)ϵ�͔�(sh��)��(j��)��(k��)�IJ���̎�������͙z��Ч����
ÿһ�¶������c(di��n)��ÿһ�¶��ǽ�Q����
8����Փ�����������Ҫ���Ǽ��g(sh��)�y�}�Ľ�Q������
9���������ֲ������“(li��n)�W(w��ng)ζ��ʮ����
10�����;W(w��ng)վ�ܘ�(g��u)һ���Ǻ�(ji��n)�κ����������������ż���ď�(f��)�s������Q��(w��n)�}����*ֱ�ӵķ�ʽֱ��Ҫ������*Ҋ(ji��n)Ч����
11���Ľ���ӵ��惦(ch��)ϵ�y(t��ng)�������漰ȫ����
12�����o(w��)�������U�������߶����ڻ�“(li��n)�W(w��ng)��I(y��)�ļܘ�(g��u)�O(sh��)Ӌ(j��)��(j��ng)�(y��n)��
13��һ���Č�(sh��)��(zh��n)���l(f��)�Ľ�(j��ng)����Ʒ��
14������ţ�����䏈���_̤��(sh��)�؞��������ܘ�(g��u)��������

���˶��Ǽܘ�(g��u)��-�ֲ�ʽϵ�y(t��ng)�ܘ�(g��u)����cƿ�iͻ�� Ŀ�

��1�� �ֲ�ʽ����(w��)���� 1
1.1 �ֲ�ʽϵ�y(t��ng)�ļܘ�(g��u)��׃�^(gu��)�� 2
1.1.1 �ΙC(j��)ϵ�y(t��ng) 3
1.1.2 ��Ⱥ�ܘ�(g��u) 4
1.1.3 ��ϵ�y(t��ng)֮�I(y��)��(w��)��ֱ�� 6
1.1.4 ��ʲô��Ҫ��(sh��)�F(xi��n)����(w��)���ܘ�(g��u) 8
1.1.5 ����(w��)�������֮΢����(w��) 10
1.2 ϵ�y(t��ng)����(w��)������ 11
1.2.1 ����(w��)���cRPC�f(xi��)�h 11
1.2.2 ʹ�ð���ֲ�ʽ����(w��)���Dubbo��(sh��)�F(xi��n)����(w��)�� 12
1.2.3 ����Dubbo�򳬕r(sh��)����ԇ�����ϵ�y(t��ng)ѩ�� 16
1.2.4 ����(w��)�������� 18
1.2.5 �P(gu��n)�ڷ���(w��)����ķֲ�ʽ�„�(w��)��(w��n)�} 20
1.3 �ֲ�ʽ�{(di��o)�ø�ۙϵ�y(t��ng)���� 21
1.3.1 Google��DapperՓ�ĺ�(ji��n)�� 22
1.3.2 ����Dubbo��(sh��)�F(xi��n)�ֲ�ʽ�{(di��o)�ø�ۙϵ�y(t��ng)���� 25
1.3.3 �ɘ��ʷ��� 35
1.4 �����Y(ji��) 37
��2�� ����������/���尸�� 38
2.1 �ֲ�ʽϵ�y(t��ng)��ʲô��Ҫ�M(j��n)���������� 39
2.2 �����ľ��w���� 42
2.2.1 ��Ҋ(ji��n)�������㷨 43
2.2.2 ʹ��Google��Guava��(sh��)�F(xi��n)ƽ���������� 45
2.2.3 ʹ��Nginx��(sh��)�F(xi��n)��������� 48
2.2.4 ʹ��Ӌ(j��)��(sh��)���㷨��(sh��)�F(xi��n)��Ʒ��ُ(g��u)���� 49
2.3 ���ڕr(sh��)�g��Ƭ�����巽�� 51
2.3.1 ���(d��ng)�֕r(sh��)���M(j��n)�Ќ�(sh��)�F(xi��n)���� 52
2.3.2 ͨ�^(gu��)���}�(y��n)�C��(sh��)�F(xi��n)���� 52
2.4 �����{(di��o)������ 53
2.4.1 ʹ��MQ��(sh��)�F(xi��n)ϵ�y(t��ng)֮�g�Ľ��� 54
2.4.2 ʹ��Apache�_(k��i)Դ��ActiveMQ��(sh��)�F(xi��n)�����{(di��o)�� 55
2.4.3 ʹ�ð����_(k��i)Դ��RocketMQ��(sh��)�F(xi��n)��“(li��n)�W(w��ng)��(ch��ng)���µ��������� 61
2.4.4 ����MQ������(sh��)�F(xi��n)���������һЩ���Ͱ��� 72
2.5 �����Y(ji��) 75
��3�� �ֲ�ʽ���ù�������(w��)���� 76
3.1 �������� 77
3.1.1 ��������Ϣ����ژI(y��)��(w��)���a�� 77
3.1.2 ��������Ϣ�����������ļ��� 79
3.2 ����ʽ�YԴ�������� 82
3.2.1 �ֲ�ʽһ���ԅf(xi��)�{(di��o)����(w��)ZooKeeper��(ji��n)�� 83
3.2.2 ZooKeeper�����d�c��Ⱥ���b 84
3.2.3 ZooKeeper�Ļ���ʹ�ü��� 86
3.2.4 ����ZooKeeper��(sh��)�F(xi��n)�ֲ�ʽ���ù���ƽ�_(t��i)���� 87
3.2.5 ���������ī@ȡSpring��Bean���x��(sh��)�F(xi��n)Bean��(d��ng)�B(t��i)ע��(c��) 93
3.2.6 �ݞ�(z��i)���� 95
3.2.7 ʹ���Ԍ�Diamond��(sh��)�F(xi��n)�ֲ�ʽ���ù�������(w��) 96
3.2.8 Diamond�cZooKeeper�ļ�(x��)��(ji��)� 101
3.2.9 ʹ�ðٶ�Disconf��(sh��)�F(xi��n)�ֲ�ʽ���ù�������(w��) 102
3.3 �����Y(ji��) 110
��4�� ��و�(ch��ng)���Ÿ��c(di��n)��(sh��)��(j��)���x/����(y��u)������ 111
4.1 ���漼�g(sh��)��(ji��n)�� 112
4.1.1 ʹ��Ehcache��(sh��)�F(xi��n)��(sh��)��(j��)���� 114
4.1.2 LocalCache���ڵı׶� 116
4.1.3 ���ص�off-heap���g(sh��) 117
4.2 �����ֲܷ�ʽ����Redis��(ji��n)�� 120
4.2.1 ʹ��Jedis�͑��˲���Redis 121
4.2.2 ʹ��Redis��Ⱥ��(sh��)�F(xi��n)��(sh��)��(j��)ˮƽ���惦(ch��) 122
4.3 ͬһ���u��Ʒ�߲��l(f��)�x���� 124
4.3.1 Redis��Ⱥ�������x���� 125
4.3.2 ���϶����r(sh��)�Ĕ�(sh��)��(j��)һ���� 126
4.3.3 LocalCache�Y(ji��)��Redis��Ⱥ�Ķ༉(j��)Cache���� 128
4.3.4 ��(sh��)�r(sh��)���c(di��n)�Ԅ�(d��ng)�l(f��)�F(xi��n)���� 130
4.4 ͬһ���u��Ʒ�߲��l(f��)������ 132
4.4.1 InnoDB���i����(sh��)��(j��)��(k��)TPS�½� 132
4.4.2 ��Redis�пۜp���u��Ʒ��(k��)�淽�� 134
4.4.3 ���u��Ʒ��(k��)��ۜp��(y��u)������ 138
4.4.4 ���ƆΙC(j��)���l(f��)���������� 141
4.4.5 ʹ�ð����_(k��i)Դ��AliSQL��(sh��)��(j��)��(k��)�����뚢��(ch��ng)������ 142
4.5 �����Y(ji��) 148
��5�� ��(sh��)��(j��)��(k��)�֎�(k��)�ֱ����� 149
5.1 �P(gu��n)ϵ�͔�(sh��)��(j��)��(k��)�ļܘ�(g��u)��׃ 150
5.1.1 ��(sh��)��(j��)��(k��)�x�����x 150
5.1.2 ��(sh��)��(j��)��(k��)��ֱ�֎�(k��) 151
5.1.3 ��(sh��)��(j��)��(k��)ˮƽ�֎�(k��)�cˮƽ�ֱ� 152
5.1.4 MySQL Sharding�cMySQL Cluster�ą^(q��)�e 153
5.2 Sharding���g�� 154
5.2.1 ��Ҋ(ji��n)�� Sharding���g����(du��)�� 155
5.2.2 Shark��(ji��n)�� 156
5.2.3 Shark�ļܘ�(g��u)ģ�� 157
5.2.4 ʹ��Shark��(sh��)�F(xi��n)�֎�(k��)�ֱ���Ĕ�(sh��)��(j��)·���΄�(w��) 159
5.2.5 �֎�(k��)�ֱ���������(l��i)��Ӱ� 166
5.2.6 ���C(j��)SequenceID��Q���� 167
5.2.7 ʹ��Solr�M���S�ȵď�(f��)�s�l����ԃ 170
5.2.8 �P(gu��n)�ڷֲ�ʽ�„�(w��) 172
5.3 ��(sh��)��(j��)��(k��)��HA���� 173
5.3.1 �����������Č�(sh��)�F(xi��n)�����ГQ 174
5.3.2 ����Keepalived��(sh��)�F(xi��n)�����ГQ 176
5.3.3 ���������ГQ�^(gu��)���еĔ�(sh��)��(j��)һ���� 179
5.4 ӆ�ΘI(y��)��(w��)��������� 180
5.4.1 �������(sh��)�F(xi��n)���� 181
5.4.2 ����������Ĕ�(sh��)��(j��)һ���� 183
5.5 �����Y(ji��) 186
��ӛ 187
չ�_(k��i)ȫ��

���˶��Ǽܘ�(g��u)��-�ֲ�ʽϵ�y(t��ng)�ܘ�(g��u)����cƿ�iͻ�� ���ߺ�(ji��n)��

������
�����Ƽ�΢��ܘ�(g��u)�������A(ch��)�ܘ�(g��u)�Mؓ(f��)؟(z��)����ؓ(f��)؟(z��)���A(ch��)���g(sh��)ƽ�_(t��i)�ļܘ�(g��u)�O(sh��)Ӌ(j��)�����g���аl(f��)�ȹ��������g(sh��)������Java̓�M�C(j��)���v���������������_(k��i)Դ���g(sh��)������������Github����

��Ʒ�u(p��ng)Փ(0�l)
���o(w��)�u(p��ng)Փ����
�������]
��݋���]
����픲�
�ЈD�W(w��ng)
�ھ��ͷ�