From ed8e433e9322fa0012ec1f29714bee9a242cb5ab Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Fri, 24 May 2019 19:41:28 +0800 Subject: [PATCH 01/26] Create pictures --- pictures | 1 + 1 file changed, 1 insertion(+) create mode 100644 pictures diff --git a/pictures b/pictures new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/pictures @@ -0,0 +1 @@ + From b7aa2d6b64e139ce6fea6ce775c9d1439b9c8d57 Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Fri, 24 May 2019 19:41:42 +0800 Subject: [PATCH 02/26] Delete pictures --- pictures | 1 - 1 file changed, 1 deletion(-) delete mode 100644 pictures diff --git a/pictures b/pictures deleted file mode 100644 index 8b13789..0000000 --- a/pictures +++ /dev/null @@ -1 +0,0 @@ - From 1f722e5752fe2b8813fce8ea7d0c706961a0c100 Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Fri, 24 May 2019 19:43:37 +0800 Subject: [PATCH 03/26] Add files via upload --- pictures/1.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 pictures/1.txt diff --git a/pictures/1.txt b/pictures/1.txt new file mode 100644 index 0000000..32b96d1 --- /dev/null +++ b/pictures/1.txt @@ -0,0 +1 @@ +as分身乏术 \ No newline at end of file From 6974c6414986e55f5ecadac954fbc473f630e11a Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Fri, 24 May 2019 19:43:50 +0800 Subject: [PATCH 04/26] Delete 1.txt --- pictures/1.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 pictures/1.txt diff --git a/pictures/1.txt b/pictures/1.txt deleted file mode 100644 index 32b96d1..0000000 --- a/pictures/1.txt +++ /dev/null @@ -1 +0,0 @@ -as分身乏术 \ No newline at end of file From b33a7e40d9ae62008599781bdbc7ebfaa6d93934 Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Fri, 24 May 2019 19:44:06 +0800 Subject: [PATCH 05/26] Add files via upload --- pictures/1.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 pictures/1.txt diff --git a/pictures/1.txt b/pictures/1.txt new file mode 100644 index 0000000..32b96d1 --- /dev/null +++ b/pictures/1.txt @@ -0,0 +1 @@ +as分身乏术 \ No newline at end of file From 22f94fc31d2f720463d6a7343d6917d7dd4605cd Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 16:11:14 +0800 Subject: [PATCH 06/26] Add files via upload --- .../kafka-pics/1.jpg" | Bin 0 -> 13237 bytes .../kafka-pics/2.jpg" | Bin 0 -> 25455 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 "Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/1.jpg" create mode 100644 "Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/2.jpg" diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/1.jpg" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/1.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..a5bcb0aec5184a14373f290e78fc2505845c0852 GIT binary patch literal 13237 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

%}z!<>s@bQT7_ zjRYnv6h4vJK-MuDFG;6Kus*&bRuR@%CUDDSv!~rGy?C86x!6SX_});wTo#+2;gS(u z;EF)=np+!W?o6lG~CnZCiWAii&3ly!~OD(gH_?3&9YUUt~)e4t|*Eq`>I z(6x)wYGsSL$#25jn&|~w9EVweyaX>Qo7_?soS1ULU!Xv5l@G&8p24b>kT(W9)XJ|v z+-cxwB~HNS(I1o_-B229V^^EBcRDyHp=-{W2IY4!y#1CLDau-W$4odC*G0*)JF-vi z-&M0a@{X(WpF&qIF`(^!xF0!$o<>^S0p%4TO=9tp_75vg+7W&)i>@|hCOUs0Tm#Cq z8a`^8Y=;=7Mk{>U3ijFDictWD5DGQk9SquUr%Rd*KD!KISTk3Kg=;y~&QVXOU*~5H79~Zb$;_ju~jdYZCLMaJt zXQ0z1nj`q|2dbkef#PmcWM-3cgMdYklpl{6E+$PFp%hW+wI1?H>B&X5dX_N;hJm@r z)H^o0#VvF6JJJ0MHPXsgt`E)mEpW2RLmH=-fq4s*$mQ^?@OU6J>9tW0-?WO6zRqB_ zb;DNX|1UFla|k(sC6hitV5ec_H0WDoAxHYx%PWiY5_cgg=YDm^YiaoyZaSL zo$p4xo=i0oD%2$R@?D0GOz^)+&X=;LSF$GTW#IdOL95IwyQ09Z>&`KdYbU6Qa#R?* zW{M)uBzV+U*oPBg#kN<}x{(EC$x*=F{8+|x&*P|6o;y=uAy}bPfjTK-B!V4ty4u}g zI>{x;Ov1oPt_s3_gx`4R19_~1T%q3O3ds-r-LGS_-O%#cyzU-tx@Q<ab@(SLz&VJuA&(BIxo2p?i(7SL;u3~7I zKAZv5LrVcCvc##nsWPmI;Dt~@Lu^XL*cY%2tlVGxGVyM?D2;{3}_;?3{S!{@CwzP>p_Z`{0Austl2fAyPmN{J6tw3M2>xI>l+GBA&riuMhxL zB&%~qFh-h|j+y*$d^uK{#q%Bsb!8>>=`qqb?3XUzyt+i$R8MNb{NjfwUf>9pMPkw} zs*&HzB5w0F=9RX=kdpMDw*jePzg;)|t=x#TdT~4K;vv3tpcWT&@7^VxI#JTC^%ID) zd1xg+D67PM2cTXWK!t${3|Nc-=kR-{4@Xn2|KN#Jy12(6;s02D2$Z6cUk)j#_xcd> zw1=}GfHO9{)95ph)%nfBdz;qOlaJVWD>CY4PjqMwnNL8m9<}*AhGwTsVqJCD5snS} z#$wd_#BX&YuS5`j9sOL98k~?;P~*3dyRh_96ih%aEJav|x4J?#v?&k(HZnXL4?K(K zKw}k|zcs2zHEFoT!Wssq&tUGY9uxxG0WFM!8S&+2<0@r_R58RCm6;Zh@=0|xpMV{2 zfCB2}b{n~49O1peU~$F-_9=Z~_6+R!NCS4c(b4@45;+SQur~9HTN0OAc;7t2&ipwK z5RdiXLLmeDfGjP1@_@5I8lGuxhqrRA{@k=rNH(s|?{eeumzyqdU_Owm>rfx|w zQvmi_o$5RPEAnPt{9`A2WcE!=nff0nWcal38K1SI>c}FYcs(`LpkGMtv8)CYwkv-> zVf&eC|10mm$svEm zHNt*JXOk}6CYfBRjZs&3Db+F794PW2D4)O`+6(y7(*d|?Xfrl!PI2+=E1_@4D!jFY z#RR1VG*q$#0I6t}-J8Rnz=6|Hx@$Y&{nwY(7p{1^0g&^Zyy0`l8-KBrNndZ(hNas?^rePHt`JtSdI)NWE z_{<<*KTrHUcRl%390TQ9YfF#B#&81!DK8x#@*ZgEVT3at7T{${G3^_^?mya&Gq-W4 zmyIW#Ckha6=Hkzk0n9mriWh3DgJ%{NrY0v}xkb^ZKchoaU_CA;4@CfnWh*;}&#S_R z$yZ1<--XlFyV~gZVM5Vetb~{Lyhe(NkY2h%-VA>(UjAtBGualbih;lReyCRX7D+7Q zsp+!=3XiNP`4WyyOAMZhJ%Q8cNNvjfzT1(huy>8+F-_XNdYf+W+B377b$jKLBpu BXa4{I literal 0 HcmV?d00001 diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/2.jpg" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/2.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..9609c00e8ae4943e3c8d8844fa6e675a9eba2954 GIT binary patch literal 25455 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 Date: Wed, 5 Jun 2019 16:12:42 +0800 Subject: [PATCH 07/26] Add files via upload --- .../kafka-pics/kafka-pics/1.jpg" | Bin 0 -> 13237 bytes .../kafka-pics/kafka-pics/2.jpg" | Bin 0 -> 25455 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 "Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/kafka-pics/1.jpg" create mode 100644 "Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/kafka-pics/2.jpg" diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/kafka-pics/1.jpg" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/kafka-pics/1.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..a5bcb0aec5184a14373f290e78fc2505845c0852 GIT binary patch literal 13237 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

%}z!<>s@bQT7_ zjRYnv6h4vJK-MuDFG;6Kus*&bRuR@%CUDDSv!~rGy?C86x!6SX_});wTo#+2;gS(u z;EF)=np+!W?o6lG~CnZCiWAii&3ly!~OD(gH_?3&9YUUt~)e4t|*Eq`>I z(6x)wYGsSL$#25jn&|~w9EVweyaX>Qo7_?soS1ULU!Xv5l@G&8p24b>kT(W9)XJ|v z+-cxwB~HNS(I1o_-B229V^^EBcRDyHp=-{W2IY4!y#1CLDau-W$4odC*G0*)JF-vi z-&M0a@{X(WpF&qIF`(^!xF0!$o<>^S0p%4TO=9tp_75vg+7W&)i>@|hCOUs0Tm#Cq z8a`^8Y=;=7Mk{>U3ijFDictWD5DGQk9SquUr%Rd*KD!KISTk3Kg=;y~&QVXOU*~5H79~Zb$;_ju~jdYZCLMaJt zXQ0z1nj`q|2dbkef#PmcWM-3cgMdYklpl{6E+$PFp%hW+wI1?H>B&X5dX_N;hJm@r z)H^o0#VvF6JJJ0MHPXsgt`E)mEpW2RLmH=-fq4s*$mQ^?@OU6J>9tW0-?WO6zRqB_ zb;DNX|1UFla|k(sC6hitV5ec_H0WDoAxHYx%PWiY5_cgg=YDm^YiaoyZaSL zo$p4xo=i0oD%2$R@?D0GOz^)+&X=;LSF$GTW#IdOL95IwyQ09Z>&`KdYbU6Qa#R?* zW{M)uBzV+U*oPBg#kN<}x{(EC$x*=F{8+|x&*P|6o;y=uAy}bPfjTK-B!V4ty4u}g zI>{x;Ov1oPt_s3_gx`4R19_~1T%q3O3ds-r-LGS_-O%#cyzU-tx@Q<ab@(SLz&VJuA&(BIxo2p?i(7SL;u3~7I zKAZv5LrVcCvc##nsWPmI;Dt~@Lu^XL*cY%2tlVGxGVyM?D2;{3}_;?3{S!{@CwzP>p_Z`{0Austl2fAyPmN{J6tw3M2>xI>l+GBA&riuMhxL zB&%~qFh-h|j+y*$d^uK{#q%Bsb!8>>=`qqb?3XUzyt+i$R8MNb{NjfwUf>9pMPkw} zs*&HzB5w0F=9RX=kdpMDw*jePzg;)|t=x#TdT~4K;vv3tpcWT&@7^VxI#JTC^%ID) zd1xg+D67PM2cTXWK!t${3|Nc-=kR-{4@Xn2|KN#Jy12(6;s02D2$Z6cUk)j#_xcd> zw1=}GfHO9{)95ph)%nfBdz;qOlaJVWD>CY4PjqMwnNL8m9<}*AhGwTsVqJCD5snS} z#$wd_#BX&YuS5`j9sOL98k~?;P~*3dyRh_96ih%aEJav|x4J?#v?&k(HZnXL4?K(K zKw}k|zcs2zHEFoT!Wssq&tUGY9uxxG0WFM!8S&+2<0@r_R58RCm6;Zh@=0|xpMV{2 zfCB2}b{n~49O1peU~$F-_9=Z~_6+R!NCS4c(b4@45;+SQur~9HTN0OAc;7t2&ipwK z5RdiXLLmeDfGjP1@_@5I8lGuxhqrRA{@k=rNH(s|?{eeumzyqdU_Owm>rfx|w zQvmi_o$5RPEAnPt{9`A2WcE!=nff0nWcal38K1SI>c}FYcs(`LpkGMtv8)CYwkv-> zVf&eC|10mm$svEm zHNt*JXOk}6CYfBRjZs&3Db+F794PW2D4)O`+6(y7(*d|?Xfrl!PI2+=E1_@4D!jFY z#RR1VG*q$#0I6t}-J8Rnz=6|Hx@$Y&{nwY(7p{1^0g&^Zyy0`l8-KBrNndZ(hNas?^rePHt`JtSdI)NWE z_{<<*KTrHUcRl%390TQ9YfF#B#&81!DK8x#@*ZgEVT3at7T{${G3^_^?mya&Gq-W4 zmyIW#Ckha6=Hkzk0n9mriWh3DgJ%{NrY0v}xkb^ZKchoaU_CA;4@CfnWh*;}&#S_R z$yZ1<--XlFyV~gZVM5Vetb~{Lyhe(NkY2h%-VA>(UjAtBGualbih;lReyCRX7D+7Q zsp+!=3XiNP`4WyyOAMZhJ%Q8cNNvjfzT1(huy>8+F-_XNdYf+W+B377b$jKLBpu BXa4{I literal 0 HcmV?d00001 diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/kafka-pics/2.jpg" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/kafka-pics/2.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..9609c00e8ae4943e3c8d8844fa6e675a9eba2954 GIT binary patch literal 25455 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 Date: Wed, 5 Jun 2019 16:12:57 +0800 Subject: [PATCH 08/26] Delete 1.jpg --- .../kafka-pics/1.jpg" | Bin 13237 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 "Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/1.jpg" diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/1.jpg" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/1.jpg" deleted file mode 100644 index a5bcb0aec5184a14373f290e78fc2505845c0852..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13237 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

%}z!<>s@bQT7_ zjRYnv6h4vJK-MuDFG;6Kus*&bRuR@%CUDDSv!~rGy?C86x!6SX_});wTo#+2;gS(u z;EF)=np+!W?o6lG~CnZCiWAii&3ly!~OD(gH_?3&9YUUt~)e4t|*Eq`>I z(6x)wYGsSL$#25jn&|~w9EVweyaX>Qo7_?soS1ULU!Xv5l@G&8p24b>kT(W9)XJ|v z+-cxwB~HNS(I1o_-B229V^^EBcRDyHp=-{W2IY4!y#1CLDau-W$4odC*G0*)JF-vi z-&M0a@{X(WpF&qIF`(^!xF0!$o<>^S0p%4TO=9tp_75vg+7W&)i>@|hCOUs0Tm#Cq z8a`^8Y=;=7Mk{>U3ijFDictWD5DGQk9SquUr%Rd*KD!KISTk3Kg=;y~&QVXOU*~5H79~Zb$;_ju~jdYZCLMaJt zXQ0z1nj`q|2dbkef#PmcWM-3cgMdYklpl{6E+$PFp%hW+wI1?H>B&X5dX_N;hJm@r z)H^o0#VvF6JJJ0MHPXsgt`E)mEpW2RLmH=-fq4s*$mQ^?@OU6J>9tW0-?WO6zRqB_ zb;DNX|1UFla|k(sC6hitV5ec_H0WDoAxHYx%PWiY5_cgg=YDm^YiaoyZaSL zo$p4xo=i0oD%2$R@?D0GOz^)+&X=;LSF$GTW#IdOL95IwyQ09Z>&`KdYbU6Qa#R?* zW{M)uBzV+U*oPBg#kN<}x{(EC$x*=F{8+|x&*P|6o;y=uAy}bPfjTK-B!V4ty4u}g zI>{x;Ov1oPt_s3_gx`4R19_~1T%q3O3ds-r-LGS_-O%#cyzU-tx@Q<ab@(SLz&VJuA&(BIxo2p?i(7SL;u3~7I zKAZv5LrVcCvc##nsWPmI;Dt~@Lu^XL*cY%2tlVGxGVyM?D2;{3}_;?3{S!{@CwzP>p_Z`{0Austl2fAyPmN{J6tw3M2>xI>l+GBA&riuMhxL zB&%~qFh-h|j+y*$d^uK{#q%Bsb!8>>=`qqb?3XUzyt+i$R8MNb{NjfwUf>9pMPkw} zs*&HzB5w0F=9RX=kdpMDw*jePzg;)|t=x#TdT~4K;vv3tpcWT&@7^VxI#JTC^%ID) zd1xg+D67PM2cTXWK!t${3|Nc-=kR-{4@Xn2|KN#Jy12(6;s02D2$Z6cUk)j#_xcd> zw1=}GfHO9{)95ph)%nfBdz;qOlaJVWD>CY4PjqMwnNL8m9<}*AhGwTsVqJCD5snS} z#$wd_#BX&YuS5`j9sOL98k~?;P~*3dyRh_96ih%aEJav|x4J?#v?&k(HZnXL4?K(K zKw}k|zcs2zHEFoT!Wssq&tUGY9uxxG0WFM!8S&+2<0@r_R58RCm6;Zh@=0|xpMV{2 zfCB2}b{n~49O1peU~$F-_9=Z~_6+R!NCS4c(b4@45;+SQur~9HTN0OAc;7t2&ipwK z5RdiXLLmeDfGjP1@_@5I8lGuxhqrRA{@k=rNH(s|?{eeumzyqdU_Owm>rfx|w zQvmi_o$5RPEAnPt{9`A2WcE!=nff0nWcal38K1SI>c}FYcs(`LpkGMtv8)CYwkv-> zVf&eC|10mm$svEm zHNt*JXOk}6CYfBRjZs&3Db+F794PW2D4)O`+6(y7(*d|?Xfrl!PI2+=E1_@4D!jFY z#RR1VG*q$#0I6t}-J8Rnz=6|Hx@$Y&{nwY(7p{1^0g&^Zyy0`l8-KBrNndZ(hNas?^rePHt`JtSdI)NWE z_{<<*KTrHUcRl%390TQ9YfF#B#&81!DK8x#@*ZgEVT3at7T{${G3^_^?mya&Gq-W4 zmyIW#Ckha6=Hkzk0n9mriWh3DgJ%{NrY0v}xkb^ZKchoaU_CA;4@CfnWh*;}&#S_R z$yZ1<--XlFyV~gZVM5Vetb~{Lyhe(NkY2h%-VA>(UjAtBGualbih;lReyCRX7D+7Q zsp+!=3XiNP`4WyyOAMZhJ%Q8cNNvjfzT1(huy>8+F-_XNdYf+W+B377b$jKLBpu BXa4{I From 000005104093c5f65c6a8d38887145c0c82ca765 Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 16:13:07 +0800 Subject: [PATCH 09/26] Delete 2.jpg --- .../kafka-pics/2.jpg" | Bin 25455 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 "Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/2.jpg" diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/2.jpg" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/2.jpg" deleted file mode 100644 index 9609c00e8ae4943e3c8d8844fa6e675a9eba2954..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25455 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 Date: Wed, 5 Jun 2019 16:26:22 +0800 Subject: [PATCH 10/26] Add files via upload --- ...45\350\257\206\346\200\273\347\273\223.md" | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 "Kafka\347\237\245\350\257\206\346\200\273\347\273\223/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" new file mode 100644 index 0000000..bffcb4a --- /dev/null +++ "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" @@ -0,0 +1,95 @@ +**Kafka鐭ヨ瘑鎬荤粨** + +**1.璁茶acks鍙傛暟瀵规秷鎭寔涔呭寲鐨勫奖鍝** + +**鐩綍** + +1. 鍐欏湪鍓嶉潰 +2. 濡備綍淇濊瘉瀹曟満鏃舵暟鎹笉涓㈠け锛 +3. 澶氬壇鏈箣闂存暟鎹浣曞悓姝ワ紵 +4. ISR鍒板簳鎸囩殑鏄粈涔堜笢瑗匡紵 +5. acks鍙傛暟鐨勫惈涔夛紵 +6. 鏈鍚庣殑鎬濊 + +**1.鍐欏湪鍓嶉潰** + +闈㈣瘯澶у巶鏃讹紝涓鏃︾畝鍘嗕笂鍐欎簡Kafka锛屽嚑涔庡繀鐒朵細琚棶鍒颁竴涓棶棰橈細璇磋acks鍙傛暟瀵规秷鎭寔涔呭寲鐨勫奖鍝嶏紵 + +杩欎釜acks鍙傛暟鍦╧afka鐨勪娇鐢ㄤ腑锛屾槸闈炲父鏍稿績浠ュ強鍏抽敭鐨勪竴涓弬鏁帮紝鍐冲畾浜嗗緢澶氫笢瑗裤 + +鎵浠ユ棤璁烘槸涓轰簡闈㈣瘯杩樻槸瀹為檯椤圭洰浣跨敤锛屽ぇ瀹堕兘鍊煎緱鐪嬩竴涓嬭繖绡囨枃绔犲Kafka鐨刟cks鍙傛暟鐨勫垎鏋愶紝浠ュ強鑳屽悗鐨勫師鐞嗐 + +**2.濡備綍淇濊瘉瀹曟満鐨勬椂鍊欐暟鎹笉涓㈠け锛燂紙鎴栬卥afka濡備綍淇濊瘉楂樺彲鐢ㄣ佹垨鑰匥afka濡備綍淇濊瘉楂樺彲鐢級** + +- Kafka 涓涓渶鍩烘湰鐨勬灦鏋勮璇嗭細鐢卞涓 broker 缁勬垚锛屾瘡涓 broker 鏄竴涓妭鐐癸紱鍒涘缓涓涓 topic锛岃繖涓 topic 鍙互鍒掑垎涓哄涓 partition锛屾瘡涓 partition 鍙互瀛樺湪浜庝笉鍚岀殑 broker 涓婏紝姣忎釜 partition 灏辨斁涓閮ㄥ垎鏁版嵁銆 + + 杩欏氨鏄**澶╃劧鐨勫垎甯冨紡娑堟伅闃熷垪**锛屽氨鏄涓涓 topic 鐨勬暟鎹紝鏄**鍒嗘暎鏀惧湪澶氫釜鏈哄櫒涓婄殑锛屾瘡涓満鍣ㄥ氨鏀句竴閮ㄥ垎鏁版嵁**銆 + +- 鑰屼笖Kafka杩樻彁渚況eplica**鍓湰鏈哄埗**锛屾瘡涓猵artition鐨勬暟鎹兘浼氬悓姝ュ埌鍏朵粬鏈哄櫒涓婏紝褰㈡垚鑷繁鐨勫涓猺eplica鍓湰銆傛墍鏈塺eplica浼氶変妇鍑烘潵涓涓猯eader鍑烘潵锛岄偅涔**鐢熶骇鍜屾秷璐归兘璺熻繖涓猯eader鎵撲氦閬**锛岀劧鍚庡叾浠杛eplica灏辨槸follower銆傚啓鐨勬椂鍊欙紝leader浼氳礋璐f妸鏁版嵁鍚屾鍒版墍鏈塮ollower涓婂幓锛岃鐨勬椂鍊欏氨鐩存帴璇籰eader涓婄殑鏁版嵁鍗冲彲銆 + +濡傛灉鏌愪釜broker瀹曟満浜嗭紝閭d釜broker涓婄殑partition鍦ㄥ叾浠栨満鍣ㄤ笂閮芥湁鍓湰銆傚鏋滆繖涓畷鏈虹殑broker涓婇潰鏈夋煇涓猵artition鐨刲eader锛岄偅涔堜粠follower涓噸鏂伴変妇涓涓柊鐨刲eader鍑烘潵锛岀劧鍚庣户缁鍐欐柊鐨刲eader鍗冲彲锛岃繖灏辨槸鎵璋撶殑楂樺彲鐢ㄣ + +![]() + +3.**澶氬壇鏈箣闂存暟鎹浣曚繚璇佸悓姝** + +鍏跺疄浠讳綍涓涓狿artition锛屽彧鏈塋eader鏄澶栨彁渚涜鍐欐湇鍔$殑锛屼篃灏辨槸璇达紝濡傛灉鏈変竴涓鎴风寰涓涓狿artition鍐欏叆鏁版嵁锛屾鏃朵竴鑸氨鏄啓鍏ヨ繖涓狿artition鐨凩eader鍓湰銆 + +鐒跺悗Leader鍓湰鎺ユ敹鍒版暟鎹箣鍚庯紝Follower鍓湰浼氫笉鍋滅殑缁欎粬鍙戦佽姹傚皾璇曞幓鎷夊彇鏈鏂扮殑鏁版嵁锛屾媺鍙栧埌鑷繁鏈湴鍚庯紝鍐欏叆纾佺洏涓傚涓嬪浘鎵绀猴細 + +![]() + +**4.ISR鍒板簳鎸囩殑鏄粈涔堜笢瑗匡紵** + +ISR鍏ㄧО鏄淚n-Sync Replicas鈥濓紝涔熷氨鏄**淇濇寔鍚屾鐨勫壇鏈**锛屼粬鐨勫惈涔夊氨鏄紝璺烲eader濮嬬粓淇濇寔鍚屾鐨凢ollower鏈夊摢浜涖 + +澶у鍙互鎯充竴涓 锛屽鏋滆鏌愪釜Follower鎵鍦ㄧ殑Broker鍥犱负JVM FullGC涔嬬被鐨勯棶棰橈紝瀵艰嚧鑷繁鍗¢】浜嗭紝鏃犳硶鍙婃椂浠嶭eader鎷夊彇鍚屾鏁版嵁锛岄偅涔堟槸涓嶆槸浼氬鑷碏ollower鐨勬暟鎹瘮Leader瑕佽惤鍚庡緢澶氾紵 + +鎵浠ヨ繖涓椂鍊欙紝灏辨剰鍛崇潃Follower宸茬粡璺烲eader涓嶅啀澶勪簬鍚屾鐨勫叧绯讳簡銆備絾鏄彧瑕丗ollower涓鐩村強鏃朵粠Leader鍚屾鏁版嵁锛屽氨鍙互淇濊瘉浠栦滑鏄浜庡悓姝ョ殑鍏崇郴鐨勩 + +鎵浠ユ瘡涓狿artition閮芥湁涓涓狪SR锛岃繖涓狪SR閲屼竴瀹氫細鏈塋eader鑷繁锛屽洜涓篖eader鑲畾鏁版嵁鏄渶鏂扮殑锛岀劧鍚庡氨鏄偅浜涜窡Leader淇濇寔鍚屾鐨凢ollower锛屼篃浼氬湪ISR閲屻 + +**5.acks鍙傛暟鐨勫惈涔** + +棣栧厛杩欎釜acks鍙傛暟锛屾槸鍦↘afkaProducer锛屼篃灏辨槸鐢熶骇鑰呭鎴风閲岃缃殑 + +涔熷氨鏄锛屼綘寰kafka鍐欐暟鎹殑鏃跺欙紝灏卞彲浠ユ潵璁剧疆杩欎釜acks鍙傛暟銆傜劧鍚庤繖涓弬鏁板疄闄呬笂鏈変笁绉嶅父瑙佺殑鍊煎彲浠ヨ缃紝鍒嗗埆鏄細**0銆1 鍜 all**銆 + +**绗竴绉嶉夋嫨鏄妸acks鍙傛暟璁剧疆涓0**锛屾剰鎬濆氨鏄垜鐨凨afkaProducer鍦ㄥ鎴风锛屽彧瑕佹妸娑堟伅鍙戦佸嚭鍘伙紝涓嶇閭f潯鏁版嵁鏈夋病鏈夊湪鍝昉artition Leader涓婅惤鍒扮鐩橈紝鎴戝氨涓嶇浠栦簡锛岀洿鎺ュ氨璁や负杩欎釜娑堟伅鍙戦佹垚鍔熶簡銆 + +濡傛灉浣犻噰鐢ㄨ繖绉嶈缃殑璇濓紝閭d箞浣犲繀椤绘敞鎰忕殑涓鐐规槸锛屽彲鑳戒綘鍙戦佸嚭鍘荤殑娑堟伅杩樺湪鍗婅矾銆傜粨鏋滃憿锛孭artition Leader鎵鍦˙roker灏辩洿鎺ユ寕浜嗭紝鐒跺悗缁撴灉浣犵殑瀹㈡埛绔繕璁や负娑堟伅鍙戦佹垚鍔熶簡锛屾鏃跺氨浼**瀵艰嚧杩欐潯娑堟伅灏变涪澶变簡**銆 + +![]() + +**绗簩绉嶉夋嫨鏄缃 acks = 1**锛屾剰鎬濆氨鏄鍙Partition Leader鎺ユ敹鍒版秷鎭屼笖鍐欏叆鏈湴纾佺洏浜嗭紝灏辫涓烘垚鍔熶簡锛屼笉绠′粬鍏朵粬鐨凢ollower鏈夋病鏈夊悓姝ヨ繃鍘昏繖鏉℃秷鎭簡銆 + +杩欑璁剧疆鍏跺疄鏄**kafka榛樿鐨勮缃** + +涔熷氨鏄锛岄粯璁ゆ儏鍐典笅锛屼綘瑕佹槸涓嶇acks杩欎釜鍙傛暟锛屽彧瑕丳artition Leader鍐欐垚鍔熷氨绠楁垚鍔熴 + +浣嗘槸杩欓噷鏈変竴涓棶棰橈紝涓囦竴Partition Leader鍒氬垰鎺ユ敹鍒版秷鎭紝Follower杩樻病鏉ュ緱鍙婂悓姝ヨ繃鍘伙紝缁撴灉Leader鎵鍦ㄧ殑broker瀹曟満浜嗭紝姝ゆ椂涔熶細瀵艰嚧杩欐潯娑堟伅涓㈠け锛屽洜涓轰汉瀹跺鎴风宸茬粡璁や负鍙戦佹垚鍔熶簡銆 + +![]() + +**鏈鍚庝竴绉嶆儏鍐碉紝灏辨槸璁剧疆acks=all**锛岃繖涓剰鎬濆氨鏄锛**Partition Leader鎺ユ敹鍒版秷鎭箣鍚庯紝杩樺繀椤昏姹侷SR鍒楄〃閲岃窡Leader淇濇寔鍚屾鐨勯偅浜汧ollower閮借鎶婃秷鎭悓姝ヨ繃鍘**锛屾墠鑳借涓鸿繖鏉℃秷鎭槸鍐欏叆鎴愬姛浜嗐 + +濡傛灉璇碢artition Leader鍒氭帴鏀跺埌浜嗘秷鎭紝浣嗘槸缁撴灉Follower娌℃湁鏀跺埌娑堟伅锛屾鏃禠eader瀹曟満浜嗭紝閭d箞瀹㈡埛绔細鎰熺煡鍒拌繖涓秷鎭病鍙戦佹垚鍔燂紝浠栦細閲嶈瘯鍐嶆鍙戦佹秷鎭繃鍘汇 + +姝ゆ椂鍙兘Partition 2鐨凢ollower鍙樻垚Leader浜嗭紝姝ゆ椂ISR鍒楄〃閲屽彧鏈夋渶鏂扮殑杩欎釜Follower杞彉鎴愮殑Leader浜嗭紝閭d箞鍙杩欎釜鏂扮殑Leader鎺ユ敹娑堟伅灏辩畻鎴愬姛浜嗐 + +![]() + +**6.鏈鍚庣殑鎬濊** + +acks=all 灏卞彲浠ヤ唬琛ㄦ暟鎹竴瀹氫笉浼氫涪澶变簡鍚楋紵 + +褰撶劧涓嶆槸锛屽鏋滀綘鐨凱artition鍙湁涓涓壇鏈紝涔熷氨鏄竴涓狶eader锛屼换浣旻ollower閮芥病鏈夛紝浣犺涓篴cks=all鏈夌敤鍚楋紵 + +褰撶劧娌$敤浜嗭紝鍥犱负ISR閲屽氨涓涓狶eader锛屼粬鎺ユ敹瀹屾秷鎭悗瀹曟満锛屼篃浼氬鑷存暟鎹涪澶便 + +鎵浠ヨ锛**杩欎釜acks=all锛屽繀椤昏窡ISR鍒楄〃閲岃嚦灏戞湁2涓互涓婄殑鍓湰閰嶅悎浣跨敤**锛岃捣鐮佹槸鏈変竴涓狶eader鍜屼竴涓狥ollower鎵嶅彲浠ャ + +杩欐牱鎵嶈兘淇濊瘉璇村啓涓鏉℃暟鎹繃鍘伙紝涓瀹氭槸2涓互涓婄殑鍓湰閮芥敹鍒颁簡鎵嶇畻鏄垚鍔燂紝姝ゆ椂浠讳綍涓涓壇鏈畷鏈猴紝涓嶄細瀵艰嚧鏁版嵁涓㈠け銆 + +鍙傝冿細https://mp.weixin.qq.com/s/IxS46JAr7D9sBtCDr8pd7A + From 8605dd2ece06a37bfe43373b62fe2147bffd72ff Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 16:27:19 +0800 Subject: [PATCH 11/26] =?UTF-8?q?Delete=20Kafka=E7=9F=A5=E8=AF=86=E6=80=BB?= =?UTF-8?q?=E7=BB=93.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...45\350\257\206\346\200\273\347\273\223.md" | 95 ------------------- 1 file changed, 95 deletions(-) delete mode 100644 "Kafka\347\237\245\350\257\206\346\200\273\347\273\223/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" deleted file mode 100644 index bffcb4a..0000000 --- "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" +++ /dev/null @@ -1,95 +0,0 @@ -**Kafka鐭ヨ瘑鎬荤粨** - -**1.璁茶acks鍙傛暟瀵规秷鎭寔涔呭寲鐨勫奖鍝** - -**鐩綍** - -1. 鍐欏湪鍓嶉潰 -2. 濡備綍淇濊瘉瀹曟満鏃舵暟鎹笉涓㈠け锛 -3. 澶氬壇鏈箣闂存暟鎹浣曞悓姝ワ紵 -4. ISR鍒板簳鎸囩殑鏄粈涔堜笢瑗匡紵 -5. acks鍙傛暟鐨勫惈涔夛紵 -6. 鏈鍚庣殑鎬濊 - -**1.鍐欏湪鍓嶉潰** - -闈㈣瘯澶у巶鏃讹紝涓鏃︾畝鍘嗕笂鍐欎簡Kafka锛屽嚑涔庡繀鐒朵細琚棶鍒颁竴涓棶棰橈細璇磋acks鍙傛暟瀵规秷鎭寔涔呭寲鐨勫奖鍝嶏紵 - -杩欎釜acks鍙傛暟鍦╧afka鐨勪娇鐢ㄤ腑锛屾槸闈炲父鏍稿績浠ュ強鍏抽敭鐨勪竴涓弬鏁帮紝鍐冲畾浜嗗緢澶氫笢瑗裤 - -鎵浠ユ棤璁烘槸涓轰簡闈㈣瘯杩樻槸瀹為檯椤圭洰浣跨敤锛屽ぇ瀹堕兘鍊煎緱鐪嬩竴涓嬭繖绡囨枃绔犲Kafka鐨刟cks鍙傛暟鐨勫垎鏋愶紝浠ュ強鑳屽悗鐨勫師鐞嗐 - -**2.濡備綍淇濊瘉瀹曟満鐨勬椂鍊欐暟鎹笉涓㈠け锛燂紙鎴栬卥afka濡備綍淇濊瘉楂樺彲鐢ㄣ佹垨鑰匥afka濡備綍淇濊瘉楂樺彲鐢級** - -- Kafka 涓涓渶鍩烘湰鐨勬灦鏋勮璇嗭細鐢卞涓 broker 缁勬垚锛屾瘡涓 broker 鏄竴涓妭鐐癸紱鍒涘缓涓涓 topic锛岃繖涓 topic 鍙互鍒掑垎涓哄涓 partition锛屾瘡涓 partition 鍙互瀛樺湪浜庝笉鍚岀殑 broker 涓婏紝姣忎釜 partition 灏辨斁涓閮ㄥ垎鏁版嵁銆 - - 杩欏氨鏄**澶╃劧鐨勫垎甯冨紡娑堟伅闃熷垪**锛屽氨鏄涓涓 topic 鐨勬暟鎹紝鏄**鍒嗘暎鏀惧湪澶氫釜鏈哄櫒涓婄殑锛屾瘡涓満鍣ㄥ氨鏀句竴閮ㄥ垎鏁版嵁**銆 - -- 鑰屼笖Kafka杩樻彁渚況eplica**鍓湰鏈哄埗**锛屾瘡涓猵artition鐨勬暟鎹兘浼氬悓姝ュ埌鍏朵粬鏈哄櫒涓婏紝褰㈡垚鑷繁鐨勫涓猺eplica鍓湰銆傛墍鏈塺eplica浼氶変妇鍑烘潵涓涓猯eader鍑烘潵锛岄偅涔**鐢熶骇鍜屾秷璐归兘璺熻繖涓猯eader鎵撲氦閬**锛岀劧鍚庡叾浠杛eplica灏辨槸follower銆傚啓鐨勬椂鍊欙紝leader浼氳礋璐f妸鏁版嵁鍚屾鍒版墍鏈塮ollower涓婂幓锛岃鐨勬椂鍊欏氨鐩存帴璇籰eader涓婄殑鏁版嵁鍗冲彲銆 - -濡傛灉鏌愪釜broker瀹曟満浜嗭紝閭d釜broker涓婄殑partition鍦ㄥ叾浠栨満鍣ㄤ笂閮芥湁鍓湰銆傚鏋滆繖涓畷鏈虹殑broker涓婇潰鏈夋煇涓猵artition鐨刲eader锛岄偅涔堜粠follower涓噸鏂伴変妇涓涓柊鐨刲eader鍑烘潵锛岀劧鍚庣户缁鍐欐柊鐨刲eader鍗冲彲锛岃繖灏辨槸鎵璋撶殑楂樺彲鐢ㄣ - -![]() - -3.**澶氬壇鏈箣闂存暟鎹浣曚繚璇佸悓姝** - -鍏跺疄浠讳綍涓涓狿artition锛屽彧鏈塋eader鏄澶栨彁渚涜鍐欐湇鍔$殑锛屼篃灏辨槸璇达紝濡傛灉鏈変竴涓鎴风寰涓涓狿artition鍐欏叆鏁版嵁锛屾鏃朵竴鑸氨鏄啓鍏ヨ繖涓狿artition鐨凩eader鍓湰銆 - -鐒跺悗Leader鍓湰鎺ユ敹鍒版暟鎹箣鍚庯紝Follower鍓湰浼氫笉鍋滅殑缁欎粬鍙戦佽姹傚皾璇曞幓鎷夊彇鏈鏂扮殑鏁版嵁锛屾媺鍙栧埌鑷繁鏈湴鍚庯紝鍐欏叆纾佺洏涓傚涓嬪浘鎵绀猴細 - -![]() - -**4.ISR鍒板簳鎸囩殑鏄粈涔堜笢瑗匡紵** - -ISR鍏ㄧО鏄淚n-Sync Replicas鈥濓紝涔熷氨鏄**淇濇寔鍚屾鐨勫壇鏈**锛屼粬鐨勫惈涔夊氨鏄紝璺烲eader濮嬬粓淇濇寔鍚屾鐨凢ollower鏈夊摢浜涖 - -澶у鍙互鎯充竴涓 锛屽鏋滆鏌愪釜Follower鎵鍦ㄧ殑Broker鍥犱负JVM FullGC涔嬬被鐨勯棶棰橈紝瀵艰嚧鑷繁鍗¢】浜嗭紝鏃犳硶鍙婃椂浠嶭eader鎷夊彇鍚屾鏁版嵁锛岄偅涔堟槸涓嶆槸浼氬鑷碏ollower鐨勬暟鎹瘮Leader瑕佽惤鍚庡緢澶氾紵 - -鎵浠ヨ繖涓椂鍊欙紝灏辨剰鍛崇潃Follower宸茬粡璺烲eader涓嶅啀澶勪簬鍚屾鐨勫叧绯讳簡銆備絾鏄彧瑕丗ollower涓鐩村強鏃朵粠Leader鍚屾鏁版嵁锛屽氨鍙互淇濊瘉浠栦滑鏄浜庡悓姝ョ殑鍏崇郴鐨勩 - -鎵浠ユ瘡涓狿artition閮芥湁涓涓狪SR锛岃繖涓狪SR閲屼竴瀹氫細鏈塋eader鑷繁锛屽洜涓篖eader鑲畾鏁版嵁鏄渶鏂扮殑锛岀劧鍚庡氨鏄偅浜涜窡Leader淇濇寔鍚屾鐨凢ollower锛屼篃浼氬湪ISR閲屻 - -**5.acks鍙傛暟鐨勫惈涔** - -棣栧厛杩欎釜acks鍙傛暟锛屾槸鍦↘afkaProducer锛屼篃灏辨槸鐢熶骇鑰呭鎴风閲岃缃殑 - -涔熷氨鏄锛屼綘寰kafka鍐欐暟鎹殑鏃跺欙紝灏卞彲浠ユ潵璁剧疆杩欎釜acks鍙傛暟銆傜劧鍚庤繖涓弬鏁板疄闄呬笂鏈変笁绉嶅父瑙佺殑鍊煎彲浠ヨ缃紝鍒嗗埆鏄細**0銆1 鍜 all**銆 - -**绗竴绉嶉夋嫨鏄妸acks鍙傛暟璁剧疆涓0**锛屾剰鎬濆氨鏄垜鐨凨afkaProducer鍦ㄥ鎴风锛屽彧瑕佹妸娑堟伅鍙戦佸嚭鍘伙紝涓嶇閭f潯鏁版嵁鏈夋病鏈夊湪鍝昉artition Leader涓婅惤鍒扮鐩橈紝鎴戝氨涓嶇浠栦簡锛岀洿鎺ュ氨璁や负杩欎釜娑堟伅鍙戦佹垚鍔熶簡銆 - -濡傛灉浣犻噰鐢ㄨ繖绉嶈缃殑璇濓紝閭d箞浣犲繀椤绘敞鎰忕殑涓鐐规槸锛屽彲鑳戒綘鍙戦佸嚭鍘荤殑娑堟伅杩樺湪鍗婅矾銆傜粨鏋滃憿锛孭artition Leader鎵鍦˙roker灏辩洿鎺ユ寕浜嗭紝鐒跺悗缁撴灉浣犵殑瀹㈡埛绔繕璁や负娑堟伅鍙戦佹垚鍔熶簡锛屾鏃跺氨浼**瀵艰嚧杩欐潯娑堟伅灏变涪澶变簡**銆 - -![]() - -**绗簩绉嶉夋嫨鏄缃 acks = 1**锛屾剰鎬濆氨鏄鍙Partition Leader鎺ユ敹鍒版秷鎭屼笖鍐欏叆鏈湴纾佺洏浜嗭紝灏辫涓烘垚鍔熶簡锛屼笉绠′粬鍏朵粬鐨凢ollower鏈夋病鏈夊悓姝ヨ繃鍘昏繖鏉℃秷鎭簡銆 - -杩欑璁剧疆鍏跺疄鏄**kafka榛樿鐨勮缃** - -涔熷氨鏄锛岄粯璁ゆ儏鍐典笅锛屼綘瑕佹槸涓嶇acks杩欎釜鍙傛暟锛屽彧瑕丳artition Leader鍐欐垚鍔熷氨绠楁垚鍔熴 - -浣嗘槸杩欓噷鏈変竴涓棶棰橈紝涓囦竴Partition Leader鍒氬垰鎺ユ敹鍒版秷鎭紝Follower杩樻病鏉ュ緱鍙婂悓姝ヨ繃鍘伙紝缁撴灉Leader鎵鍦ㄧ殑broker瀹曟満浜嗭紝姝ゆ椂涔熶細瀵艰嚧杩欐潯娑堟伅涓㈠け锛屽洜涓轰汉瀹跺鎴风宸茬粡璁や负鍙戦佹垚鍔熶簡銆 - -![]() - -**鏈鍚庝竴绉嶆儏鍐碉紝灏辨槸璁剧疆acks=all**锛岃繖涓剰鎬濆氨鏄锛**Partition Leader鎺ユ敹鍒版秷鎭箣鍚庯紝杩樺繀椤昏姹侷SR鍒楄〃閲岃窡Leader淇濇寔鍚屾鐨勯偅浜汧ollower閮借鎶婃秷鎭悓姝ヨ繃鍘**锛屾墠鑳借涓鸿繖鏉℃秷鎭槸鍐欏叆鎴愬姛浜嗐 - -濡傛灉璇碢artition Leader鍒氭帴鏀跺埌浜嗘秷鎭紝浣嗘槸缁撴灉Follower娌℃湁鏀跺埌娑堟伅锛屾鏃禠eader瀹曟満浜嗭紝閭d箞瀹㈡埛绔細鎰熺煡鍒拌繖涓秷鎭病鍙戦佹垚鍔燂紝浠栦細閲嶈瘯鍐嶆鍙戦佹秷鎭繃鍘汇 - -姝ゆ椂鍙兘Partition 2鐨凢ollower鍙樻垚Leader浜嗭紝姝ゆ椂ISR鍒楄〃閲屽彧鏈夋渶鏂扮殑杩欎釜Follower杞彉鎴愮殑Leader浜嗭紝閭d箞鍙杩欎釜鏂扮殑Leader鎺ユ敹娑堟伅灏辩畻鎴愬姛浜嗐 - -![]() - -**6.鏈鍚庣殑鎬濊** - -acks=all 灏卞彲浠ヤ唬琛ㄦ暟鎹竴瀹氫笉浼氫涪澶变簡鍚楋紵 - -褰撶劧涓嶆槸锛屽鏋滀綘鐨凱artition鍙湁涓涓壇鏈紝涔熷氨鏄竴涓狶eader锛屼换浣旻ollower閮芥病鏈夛紝浣犺涓篴cks=all鏈夌敤鍚楋紵 - -褰撶劧娌$敤浜嗭紝鍥犱负ISR閲屽氨涓涓狶eader锛屼粬鎺ユ敹瀹屾秷鎭悗瀹曟満锛屼篃浼氬鑷存暟鎹涪澶便 - -鎵浠ヨ锛**杩欎釜acks=all锛屽繀椤昏窡ISR鍒楄〃閲岃嚦灏戞湁2涓互涓婄殑鍓湰閰嶅悎浣跨敤**锛岃捣鐮佹槸鏈変竴涓狶eader鍜屼竴涓狥ollower鎵嶅彲浠ャ - -杩欐牱鎵嶈兘淇濊瘉璇村啓涓鏉℃暟鎹繃鍘伙紝涓瀹氭槸2涓互涓婄殑鍓湰閮芥敹鍒颁簡鎵嶇畻鏄垚鍔燂紝姝ゆ椂浠讳綍涓涓壇鏈畷鏈猴紝涓嶄細瀵艰嚧鏁版嵁涓㈠け銆 - -鍙傝冿細https://mp.weixin.qq.com/s/IxS46JAr7D9sBtCDr8pd7A - From 85eafbc12789af6ee3b0197c5b77cc3beb614cb4 Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 16:27:51 +0800 Subject: [PATCH 12/26] Delete 1.jpg --- .../kafka-pics/kafka-pics/1.jpg" | Bin 13237 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 "Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/kafka-pics/1.jpg" diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/kafka-pics/1.jpg" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/kafka-pics/1.jpg" deleted file mode 100644 index a5bcb0aec5184a14373f290e78fc2505845c0852..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13237 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

%}z!<>s@bQT7_ zjRYnv6h4vJK-MuDFG;6Kus*&bRuR@%CUDDSv!~rGy?C86x!6SX_});wTo#+2;gS(u z;EF)=np+!W?o6lG~CnZCiWAii&3ly!~OD(gH_?3&9YUUt~)e4t|*Eq`>I z(6x)wYGsSL$#25jn&|~w9EVweyaX>Qo7_?soS1ULU!Xv5l@G&8p24b>kT(W9)XJ|v z+-cxwB~HNS(I1o_-B229V^^EBcRDyHp=-{W2IY4!y#1CLDau-W$4odC*G0*)JF-vi z-&M0a@{X(WpF&qIF`(^!xF0!$o<>^S0p%4TO=9tp_75vg+7W&)i>@|hCOUs0Tm#Cq z8a`^8Y=;=7Mk{>U3ijFDictWD5DGQk9SquUr%Rd*KD!KISTk3Kg=;y~&QVXOU*~5H79~Zb$;_ju~jdYZCLMaJt zXQ0z1nj`q|2dbkef#PmcWM-3cgMdYklpl{6E+$PFp%hW+wI1?H>B&X5dX_N;hJm@r z)H^o0#VvF6JJJ0MHPXsgt`E)mEpW2RLmH=-fq4s*$mQ^?@OU6J>9tW0-?WO6zRqB_ zb;DNX|1UFla|k(sC6hitV5ec_H0WDoAxHYx%PWiY5_cgg=YDm^YiaoyZaSL zo$p4xo=i0oD%2$R@?D0GOz^)+&X=;LSF$GTW#IdOL95IwyQ09Z>&`KdYbU6Qa#R?* zW{M)uBzV+U*oPBg#kN<}x{(EC$x*=F{8+|x&*P|6o;y=uAy}bPfjTK-B!V4ty4u}g zI>{x;Ov1oPt_s3_gx`4R19_~1T%q3O3ds-r-LGS_-O%#cyzU-tx@Q<ab@(SLz&VJuA&(BIxo2p?i(7SL;u3~7I zKAZv5LrVcCvc##nsWPmI;Dt~@Lu^XL*cY%2tlVGxGVyM?D2;{3}_;?3{S!{@CwzP>p_Z`{0Austl2fAyPmN{J6tw3M2>xI>l+GBA&riuMhxL zB&%~qFh-h|j+y*$d^uK{#q%Bsb!8>>=`qqb?3XUzyt+i$R8MNb{NjfwUf>9pMPkw} zs*&HzB5w0F=9RX=kdpMDw*jePzg;)|t=x#TdT~4K;vv3tpcWT&@7^VxI#JTC^%ID) zd1xg+D67PM2cTXWK!t${3|Nc-=kR-{4@Xn2|KN#Jy12(6;s02D2$Z6cUk)j#_xcd> zw1=}GfHO9{)95ph)%nfBdz;qOlaJVWD>CY4PjqMwnNL8m9<}*AhGwTsVqJCD5snS} z#$wd_#BX&YuS5`j9sOL98k~?;P~*3dyRh_96ih%aEJav|x4J?#v?&k(HZnXL4?K(K zKw}k|zcs2zHEFoT!Wssq&tUGY9uxxG0WFM!8S&+2<0@r_R58RCm6;Zh@=0|xpMV{2 zfCB2}b{n~49O1peU~$F-_9=Z~_6+R!NCS4c(b4@45;+SQur~9HTN0OAc;7t2&ipwK z5RdiXLLmeDfGjP1@_@5I8lGuxhqrRA{@k=rNH(s|?{eeumzyqdU_Owm>rfx|w zQvmi_o$5RPEAnPt{9`A2WcE!=nff0nWcal38K1SI>c}FYcs(`LpkGMtv8)CYwkv-> zVf&eC|10mm$svEm zHNt*JXOk}6CYfBRjZs&3Db+F794PW2D4)O`+6(y7(*d|?Xfrl!PI2+=E1_@4D!jFY z#RR1VG*q$#0I6t}-J8Rnz=6|Hx@$Y&{nwY(7p{1^0g&^Zyy0`l8-KBrNndZ(hNas?^rePHt`JtSdI)NWE z_{<<*KTrHUcRl%390TQ9YfF#B#&81!DK8x#@*ZgEVT3at7T{${G3^_^?mya&Gq-W4 zmyIW#Ckha6=Hkzk0n9mriWh3DgJ%{NrY0v}xkb^ZKchoaU_CA;4@CfnWh*;}&#S_R z$yZ1<--XlFyV~gZVM5Vetb~{Lyhe(NkY2h%-VA>(UjAtBGualbih;lReyCRX7D+7Q zsp+!=3XiNP`4WyyOAMZhJ%Q8cNNvjfzT1(huy>8+F-_XNdYf+W+B377b$jKLBpu BXa4{I From ac4c0a75a229f61ed55e8d98f9993ae951cacb98 Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 16:28:00 +0800 Subject: [PATCH 13/26] Delete 2.jpg --- .../kafka-pics/kafka-pics/2.jpg" | Bin 25455 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 "Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/kafka-pics/2.jpg" diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/kafka-pics/2.jpg" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223/kafka-pics/kafka-pics/2.jpg" deleted file mode 100644 index 9609c00e8ae4943e3c8d8844fa6e675a9eba2954..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25455 zcmeFZ1yo$kwl3NPf&>rl4#9&vgdhzeKth5$jRvQoaY%4&+&vHo?(WvOyL;mvED(6? zyU))5@4Npq&bjZL``#Pxy~P-d8f&eZHP>8KHD`VG&3>4DSOws`k(HMPARqt$2#3*a#eKBflc$JJP=4!#@B|m}IX>5W zBs>~P6>gr_M)pxzCx)~S^8gIQM}2S+aRCy5`+R9>BX<1(lwn^MeIDnwmrd^ft=F?pNt)D5 zDjKn4vOUXj==rR;-*vdx_A51pME-B+Jx^l{?Oakv{2u_Q85p1!D+euD2X~(u88(-| z&0xgh9q(Co6Vp42v(`1HE8DrnvOUw;55}y`UpFy+p?S_p_5{bpB!*?YH8bPKx>ufVQ~@ zz>lQ|z-&=ZJ9<(~acB&;yU1*liRsw)2SB$mmVfIhyF{%1RL;Fpy(fJN%py4DfFu2{ z+Ce1fp2J928zTNzNKeRBsr$`3HaEDK4Xh^v@)E~AG4O&xHd+9Y2y7ckRMr{Vmup+K}GCR*@Yd@$Q0!&gvf6mSSSwq25 z!Pq%j4k>Cz*Q&y}ass~O|4p1des2;wmGVI?vK$UT`6nC0EVI(kfHyF z<|kLpuxgX&=I%DG;!x9<3KZLd>8F{FAJ{#DTmQ;T?Excj?mJnQie@+7jVzUe)7fA+ zq`_t)nG*)U?OO)E#+GVHc&eG4f6C4J*BvLMes5E~>9=8&f48FQk0+)Rw%uM#nz-_e z61Mqh@1=C=0WNbB{`waAwD-`g~t^2mQ{Gm49kLaCA5iatk>?C`gli}6gV?t+TF*t4!jU1PauTISnvPz1Q7Ai`8A`@xU!E;lj6n^^E}J9^=v^L? z3I&5K-JLbk#M7ZYZcAqovW2(yZ+k07)Bg5>#(k%O$O zi|aK@YR1!^*-2WUFS$onli#t8&F5K2`>5Dn%+|0)`6jg$0b?y@m^+O}9Am*8iRlN* zFk5>&y4c<2G-w)cE}MLYtsgmqR7@_7;M`Uv*{9ZMmANdW>gLkqBXz*IYrV%26h2xb zAMu_ucnyP*vC}L|@w9)IO4Waw-kV;DosmCK@bglYIhJopbwx7}eXU8a3hQf6yIxHB z80<=Dh+u?cR#MCxH%)0o>Hb3D`U97HA1F8-`f_&A*m8i(Qfy4VZ$p^F(%9yzSI6zb z6>GPcgz1!_u0oTPm*qY5;HEqxK>cNa=$*r(t*4n!1ahIt^GUfS(#`j%ZN{{? zI(ckGr-q7c3n|A@m}k}Z-WgxzpDs{eATe7FGp3tH1aH#0uWlP>SH_(Rm4JMcSK&CT zl7JuL{>pv!YPQ6-@8a2DR>~veuZ>O_zMq55tpxX>? zA4`ziCZbe9{v!NSIPN%M?Z8HB5W*qzqLK{5IvM@>tNYgwEnTu?1?L?xLeFlyia~Pc zgrvs)b;j_zUF?k+3?F8aUQhB7_u7(QJBQk$bl#iSE5{z*^VuIPnp~eNuch*Agb0Av zxMbe{(4^9nL?2K{8d!vAEH|tuAL>B_Kj4XcI`6h9EhaJ~FJDX+a+ml86f4DY`APmJ zVndvvGPn<9Uqvi^Imb4fIF`N|9(9I&^X{fA`gFzsTiFF!e1>o{0t=L9{5CtWtS|kO zazr_6I;}IaT^M0~n79SptBQQtFE*&ens!Z{NU3kXpLcc_3KXhyKHl+rb0w^EsmAS(aeKMpoHuhrKo-rdv~^h)aBF7Iqdm5b$VQ`$jVAc#Av1MqRS zprG$@C||tPMd|MkZ$;w6D$}3d==|F-=RP#_z`v(SJ))%@dqPW1OZ(q>`qLC*fiAFm z9QOb~lW6oB-U?Jb`^MGyN=LKFO4CEJfRG&CBO>HFcReV!*13!HL_D(by@Qd}Si2<| zr2-nG$V;+MLTd+BXNbfxAf-_hYn0Nwyx|7U52apVKaQm53Pwmm$8 zeU@X$i-np-Pal@d3LmLFtL~yY_0a5`-F2H{Pd}gAabG*=M7a530>7U|+))coO6&P} z#~zeIg(;vG6)9zSxz42#El{CeKMYR3tP`|q{?(%;e54m&XNmWTHEQIYpmrI1zjOrF zp|95HWgSJ?XIOX@^f;$r+ppKKJZkMl(RvG!{~Vf7z60!N=AP76+P`RbWfFRn=GgMW zWd+^tZs>McSYZx@6ki|x@VXHl;UI-v+Uh34E7?_h&~1lR%Noxf6zG47tNQX;iMwLZ zVf~pheYCj7B6*K6P_TZU-PV;Zw=vdF<7e4s(I#D}+CdMwO5dOdysWOu(v5W6*?Htw zNW_=*#bt-#=hf!l)uN}|qcuIsnirv^hUKos+bF|xJ4&#g55<()LT|g@+WJ}69K3IR z6E?w53SkxN{N|!J9c?_rm?~-eVvb>fZ0l{DH8)4Xd{88NE9KS|*j)L6&FCtpp>TrqsC>Rg(u7yFT`GM-;Lb)NH1mm!H)L zQKv;cZzEqejn>VS+mT#RBx6D`$s4k}6W{=nL;PYSS&dehL{(b2wObk(Qpj#5->NDn zMQw1R7<>zfRmy=^d^4R0;&vse1B{0MwA;2FJ&d?5%@+h>T$^{zpTA~Sx7N_rn=EU3 zJ(k&VDJV3wySV<**>~ruf{vv-`VOHy!k4~34d zaBXfql4!hXh#=*?5v2E~9yxeM$=T_6f68Tx%NunW*2gwqtn|U4gX{so{ff6k={BXp zsU$D}CAfb@o4rPmFs_=2M3*7Dpm`jTCHB)O@q$1u%+^M+0PI&bJO=lKe))7k{LA=3g zo;G4fnSsp~drjfn(^tL2*&hB!IHKnkMRtHld5QTtml$R*gF7YdZsTeoYjCWxDl|Nr zTbq3*aa*vut$cyJCpV<&y}&8$cJNw}662e3P<{}Fp3v7&6~TZSO{8c{yj>TRog-2T zqV5)=F6{&+`imS1v@XM%b|cvewMepxwxf54yjTW^ReaS-Yogz-ci(jyiK>aH9d20( zcjpQnKn0IPafoMl>$`ea`bhzC4A?|V#q?6F6tYs<3>^G-rzj2wQu94@{2rr_=}70V zPA$Q_Q=Z-FR+Qpal@7Kcl8#cdL=|RbV(F0NOCQohu!v6Ez9(?I#Xmo*76SXl(uyvR}s-{B`;o&B0nTS=0;QaOcQaaQwnIfkA zdY(#PGu1Y=IA~BaIWlUhJX$Zr%;-=xK!~igscxWT!hM#V&ah+$f3rxhz~Hp%;A48R ztQ5nWqe2uKYHlXN1Oe?C6>Y!HiRV z!7P^v6qdc=vW-D$40cP&yY!rM+@+S38=t_{j3yqQaI{;;8PXrV-0ccKa=WmG7dsL0%O8+rhsL z4O&|2%oEQ3?Z0=^v3PJ>D{K1SyQ!>h5vNZ^7f)K3v=;S$H(;XKisDgv{r4eB^T8#w zJpt98QqL;a42MlGkyrjjIjc~;7O61bsxv^O8C_IMBzA~7xMDIS@RYrcDp9;1^sDPS zeieI=N~ipO{mi`Ocpc0c^xgaUBEpUDe!Rq@aWDG)=$<5@dmy%Fx_`rJ zw3WzGWzduv1ZRg^kkT3WNVI?OVyHtrN10*suFLpcUy*3(j)(omN|mjdOPvM~PrZ7% z+g$<*1Si8IwSdE@tRa*{T{0irSn3b?>1ww7M5E{U)?F# zp}?_AG#&u<;=fIk4HQ3q)Vsw}O6m^Z29fAQl?is!=+5)zmXL94>yX}cj@oJm>oaB= zKsZkIk5A+Ahb&%w=aaz}+N{48FLULMF|f`;_1jW->)M|sUV1w8+y;NWZ4EFvCBXjU z${)R8%yXraXZufqVc{ZOdm){{Q!`Q zDE>eDW+BR#gQa`A6L3)f794Lm^$mR_R}p+G?vR2MKtU?v6R+xBf4=F9a0{HL*9&{L zS8(O#=JBSm#WW}=)H&y`C%LDgmA-a5`fKhHK-~8NPbDL8Jb%jF2xXqP;&!@kQS6)l zX)a?E4o>V$@`D{`1gAf_>%17C{OR%bga}SmqH#6t7n-zGx+GD3h;g-U_PO=tFNdC% z3_Q`NH-Y={Vi#Go&X!lo2UR>P|5|nGY(LaO11yh)TjwK2LFl|%$N&z`2Nf?joA{C_ zp@yr!S))H|A&e1S@_;vbnOU3cX z`cfrD@9KCTs#)S;ee>ddM#`JCP8}(4Y);I@0R@|(uo7DN?1DwVcu@!EhFVi8Jw%W_ z+&g)!f2^`{N=u~jLiv!AQ2AdqpNt?nO}REo)Uhj0&uew<0`<|a3T7| z%|)qVZ;=mufv-;E&R=lL2`D%B)+X)Cp{?2WK~+@lg~-lVmabE{#{*#UTIRPYCw{+D zQ`wy&2NgneTv2`G<^WKuSRuMTK082N76!ij+cF z$pU}!{=`!q-BX@6{Y0;N(2CA< z-CDMoU&FLEW^F_*I#<>&lbQt_7~S-Zg0G)%N*xwxshYVf)n$;NcSkdVgi^Aa%%%%c zVO`ROM$IiC)EKp3*^EiCKxe3U>Y6dP*7sZR9~MjKIyJ6Oom91Vf%hp+7V10Yn{Bc~ zZ9K7FP1Is39e#GZASJ6VP-3LF<+)}5cRCRC&};Wse1Q93h#!p-slLs-)FO%S(GjDh zItg4u!3*-6>6sBc#}_?vv2f%BH`K*U#_VcUbnkA}`4X*xBbw6IN(0@MeQ#~AulFv6 zOX2r|q6-U+jrCq}#%Glg4*=QLp27zJ!%RoY7@jCkd{C&!pDxq?smx&im3H{9XyXAe zR(iVk0O%9_QyKZ+uSZWx%XZv9Eb)u<0YF)L7xPCk(mbfLl~wQ&uC}~$Ydur`qbT`* zx+#_`-+Kmf{SLvqjZeuwv);>ZQ}6sMgaU_0SJsak$BSP4lfx)%!M#@&%)Tv|`N^Ti zpnDQ==GslQ1Zf>}K=np>)Qbx90RWkP0LT}(zPgrp0Aya<-qzIqRQxcIqIM*s-5V5w z^FILr#B!iw9dtQ8u_Q#LqQZxCzFYG6;z1R4AQrfnwd?u@!JB%F>g=|eo*!T1;D+c!n_iz}ObVH(x`AJN zWTTDCx`(ynl442U;kM<%;3!2+l|>0t4&k$Vb*iBD#RMAYf&J8GRCJnVXe~5FqZd(A z00{BSUrDLOgQx!>`^jb*!Q&cKaa|B&y5D1QkvzaxKE*~t13vgL>uknl$CS8VcNRTX zaUvb~tYN5xB|N-$>n(3_14*{0P6`>1u681rb7>)p0b7 zF~Ak&1K~`p#dXdXd+NC+}wAm zII`$dYg##Ple|xNH(O*kr?mr!EL33*n;K*G2T^~Am)*EXuv)H}xl{^DJ8#(~>j1$) z*m^b7#;WnLq18LVva`>`!cfVt5HANe^ZTb=3d$5}?d80@_AAI;37p?zS-Kd6oyuo+?;t-6#ab_(FF zt7brnZ^PiV=^c2N4$ttb&@>Hy={07A!MCtxV}V zyTiIFmuJpJ?svQ&jVP4i~qOt#Yld_*^jJ(yT-}zeN!yCWk$PxwDyu!U;7zFsNWsb`BQM(vk7fj2>b6^lM*RaWlm3o=ZH^FNN<*@1A`a{9X zuDX-ZhB>j1T3K@fPYg{%s#Jhn0nM79%A51<$7SV=;deF@X$?3DZ6ZsJq@i-N3LJ4XZM@la z(nF|`Y@67t-RyFq&ieACwM*l0XLYYF<47VDLUDom2%8@7)XwZ(`4O@REe#hIlf%s< z`jK)|RLj=1HmFAEfHLIL9cWuRw3rib-AP!=bw?1BKx5O@^r|N%N}eYJhvUmcZIs_` z>bIsAb25~Y{&7{y;NUaVpzl$*IPdR8mxk}R zN1`!M4ynwe%tJ+PGsNXyQdN0=mHGP5NNdS8@J4h!;;2!7r(Pq@xkI9F8{gY${sAD< zOLIr{02uWU__d(@i!px-arFUk@4MD|G{3UTr_5okT~A<3OZ(z+D~N{^l|-kQ_3~>3 z1DnPT1IQTL@g=NRmrP4z2zEnxc4VX=IZACFHPPC>ta9{bFj^rF5409O3dE16O**S1 z+*68#U4F@nkT5>>`usKl$1eNWbWay1ul3mq?9w^Q0D?!s#8upx={QC$e8 z6JQ$x19oej?Y!KCQP7dUC(zGb~63dr^3~`XC0OeL7tSVe-MV(lW9} zwA5@dZQGO{=&KvJQhiEny%4e5J4FmE7}~*`aHFD_;I`z1!Uam2f$W zvR?{&z%ho5kyWZ=UMn3N5BW`31+RKs+b8T6+(A-DaqILHNr;S0*B0lR;HSgFoJ*`G z_y+9L+?VwyWc~E+z8NhBzn-91X;^!^(CyFB^BWJqvsQ_@fEnnPh(Jso{2_ zP9Y19H|?C&_4t4@OY3659!7W|+L)0TACrlS(62;3Y`Ey0oM}*SC#I#kjWo+1<-cwn zIYyz*<;6_M%dkY;?YXg6Ntd~**3T8+dXb}mnZ`zh}GzbF$ej*si2K8 zB@lKcyJ{R3h(kV6jN6hXhMwmKm1)98tQaZZXpSvG249VKY!lx+0IoWP1a_B4J>Re0 zp1`;IHHXCIb3=$tj8zk1Vo?o1UMDzRQRy6t=fJ+twcW{*$UBntgqk?0rBU!$1tT}{ z8VCShR!YHxC_wvISP8m{I$Rh#OwTIBJBP)yz+15>3iRP1N${d0|F%_KdYZg`ot|iE z^tU8;r5Cd>eu3r_<2iP9e#NsGi5FXYGf&VVe7m!fPBOARr>CtEwjmqqDKGA#U_d0b z`YaD0j>#s4UTh|_8IP3R;uj667W{;4cXQ?BkeuOXs%w=l{HV$yUFTObnEc`qkQ<0X zE0LKT@04_(i|i?RctN`CX&SUcy?a5u`@DyVnJx(m-_6E&0I6$pBn$QPcz1T)2ha%;@km)OSJ^D*_ zqt)13tNV`T`s2EmsJqeh^S3a{#;*}Bcc}S@@wj3+*kG1^wz20`~}yq2kF4;{8m%Eqgs8pmZpDWm%E{ z^+qE!RskQ(SCDhM9z|iu8hfhtyTh zlqag|$)&5x1}?Gz&xhpqMr?r7A%kxZ(<#bDJIoR&tRmr`v4>VFr#x2Ho+Ti=3FtIa zSWTMLSe6fNVzXIdgfF1`)@z`++Ky&kn*|*Ukg0^bP{a&q)ke8{nD&K7brR&&+IXeD zA|EtI$h!lmI0^QocWc;;o~ox*Y#heC1X~WyHmdFH4_l@zdMuxgF|r0fk6xwma=MW_ z)DDm@tf@LFtE@~4-`;{h&GDI_3u33+onH;~Wtj}5Tr>qTy#C~vowd+*JplLj9m2)} zCCkl;0B{GLzL6+*u)Eq5l+N}H=;n%im<#HwZO354f=@Rjpma{;HY(kxxf-6N>HesQ zz9ham_}C*s-^ zcL2+e!NFu490npQIVFpfEEs%7rWSdNet1Ll(5TK#3jXubY~B510tEpKdKc6=-sU>(8?jge6;wHBTb%N5Rg0ECg``Yw%viOd~IpLGQl^6=Er()tAj z`O+13=_$I%pTvPzi*l780PMF*s3PhD_Y_OIGnqeCQ9`_S#HlN8s5?OWM#*TlqS-aE zRHq2px9D$X1b-7;v|J+mT)cycWo>a)7J_EX;h$cK2ZjrJfB6TdJ{$NY0xiiOZ0hm;S6RGRbj4m^hBwiP>VCCzW4AUtE{Jhg3rXua(9*6qC?7t!OS6JEO zb!Fr{E4=^~#42zt{B0~F{K^)nEZ zZ~zuU93btagLJGOsUa+D|KON&@gmyJh=VTG87DV>8bL=F5t?20QZmqzW9Jt185d8> zkCjvl^x69#V@iSHwVPvh&*h0Y_f1xqYu4HUSe}f@FcS(Y<`~pR-#AUMzqGg6@=~w78wRbqf(u+4;NPtux5L7SvQDvTKgk(FWVl+{&<-eAKP#c%s@+ znt=aAjBzFrBS5)_zJ*({ah|6J>NO~<;4!RA=!32xcOEodg)*sw`$l-8y0$`3fc@Cd zzmrbHeEXowWa!-0Q45uwoo<*;Ym_iY5_Opp1n*XK__ZI;HBDtIWXk1p^|vqTtASi~ zo;fPKtN1?_6#o(5Li$~*g&RyFkZnNzS6V(5fw}SY4Ha8>aLLT59`-fITN(I3?wIQJ z#rXOi8GMM9ACz1pt~Bg51$(D84BcM7X-PW-+HGw4@|nVT;a&*P(6ko=Es&!&JN8X} z(Gwxpn~3#$&hcV=Jq}J*Ux`p(0l((Znq3mTO^yJd^ea2d0BA6h?HvKX1Zww1DIutE zzEaE0p0DZ{4HQ>HziDCR@B5wlz*2X~?NDwcVIBFjg^FT5mQ2g-`G~0mnf(^nB>3Bq zvq>#s^)HlUib3a+cW*Zf=o_4c0!kB$k-+kz&u3zl^}4Vyqe%dCNjW|u!ALlgNCz*D z>2_O$Fbkcnwc@ATRp#Rc59uATvBUG?va&Lv@G9pF`S~v~!4=~-f_AFZoAt5HYUag@ z-WhX{pX6|XNVKrV%yY+SXrPh&-AC&BsA4t0m=&S-5k5?sq7|*(bIe}7Vkw9MWe9h= zI|RLV2_fQEYA?X!ejQG=M-RVnXKlS|cppT*iT{&i>?^HXn_Xxm93=>}*U_1ZY6J zC2I*?d#Y7wvIRxJ^irK6tnWQEZC)`%g*Kxm{IqYVUn*3~xkeBNm^~hoE*cSN2W7q? zudWAq_%i8tn|&FkNHlw4S^tXc>5wJD{tf2Q_<4dq83^5*z?&gXxPC>_M)Y&TBFHAV6@tw@a{{-B8u-=FV+UnBx(IlN-3Mm>xp_C`#>GA|ZI#YWP zmwAEqEcK?BQQ|=%`Tr?Y;XmhYFpiHrZm8S5#x8>iA0gg<&v&sL`+3IuRMS$kfb;fxmQJU~cY!OdwvD8*esC;^GjA+x@JR$Pr2_VbFH8M#g zA}buvXSM_4L>DpW_imi7Z(T7v^a@v-Gq4-drR)+4t~t#*k4i;hmWs!iN9-kMG}L(`qRf>c&bFNm_Z>%&u37{Fe>`ZE_zRD$M{N1lX-2UUV7ot4C+{! zjT}=gK`2pxObqOV3aNv!yT)<4Ui&LKs%XzAyuVPq`ZlaD<3ILRait+X7)y)UR5ax_ z#0Kv2Fba(#crz7#PA%E~5r#ur8q|s@nf5nm6vu^le|q za6)%(f=E0>wlQN)@3t+j$iMd;`c)0A4dMeGUGFSN%X_0-!OPL^1K;7O1>7gf(FPU8X;ry%Gac4 z+nlHLdu&X(Nw!z-c1zX`#=r5aW|nz1gqY2dOx%-5N!i02RqF(x68xU=FS7lGwSK|O zwRR0x^Al>Ljbp^S6KP8Bou3F9ak7go%pFp+v=s!-(+QP@%Q>ftz(~$!>gjoP=y}=1QcOI#)bCuiD8qo zx3Ati9TVrFuO0a6ko8{*9UsGIMfUrT((r%+Ew*b(Aem<_6Hn&jtp*(AXp8CJzhx?B zQwHS-M_7TSsx}r6En7=vwwQ<~Y;iZZUYESO{-r)^+`=HZIT>bvWy?6vzpjv$xrDi& zNI=Tjcy0R1?hjg0-0N+!iR=^L%k(=}^!QJgRl9GGM#>NQg-BFk(@sV1sh|qxcsj zCWk&vm7kcvpOm@shR&5n>~@>2Y|ka!nNAFQSC5P|W#YnP*uSq(M_MMDR}W#@G@QFG z{p#VmyRhUs%AB&4xQ}|?cHGR%O24gYt;bK(LUBqTtzw*Hfth*MlUrcpgzri8~4rd!22>B%be3z8D>tSuzto@5$9o)lH*7p zNq(I{CGfatT~N;I%=&>(Vg9#l4xT?d?ms*J|K?^^N-9&{ z5%iGQDqTXbirhchmwg8EX8P#uEGqaqQk2}^CzzdoJegzWzF6;;#|zzC?CaBeK~MIy zTq4@cqG#ClIK@Vt z$a7IQc<>#8aR}-8hjQ{WAwO(sf$WX3S})95zBu zRZMZ_W~jfzWcjt(M<=vWP({r##G(HZNDprC#Ioy<@-;;{m7As8)r~K!Z%88FKUqN@ z(tf$dx?}?^zgU^$r^}qKlUw4-;f=poQPo{5;aU$BnxpPBI(wX1Yq*)@KYJ(|n}kv5 zFHlO349nB}JYH^^zSamSF*DgHO~0 zuT|di4Sb0Kva1_eY#4Gdr6x*eCSaOBp&*H zi&`T}2k8&tY@z7#yTbw^!iNP1)Vk)3M>kg7o?NEHZd(>qpSHZb?B5+^w;3!l*aAZb z8bclHym&SVi&~?ZSweLS=>iVX;HQwbAsCDwws=nMx;yCj3XldMDq-zj9I;bUCLYs6 zzp@agAR*sLqDv_TJNRf}=fzTGk7l2FP-!)3?AB>PIjL;I%dMnmk+_uHAJ?w~$n9H^ zyYs@-j=I1gb^(FdJUzcTRM zq|ess0nH(Pl&4(vUnPS46w^7M@FZVuM54Z{?MTvzy>uX=k|mqA+1PT#mAmR8=gU3h z8`eTkhdeSU5Kn>QE%tZJ30eO!1!pAsS~2>`5ey|BRY7uw z>vsC*j&)C+ZC>yRM3=)fg$;;B>Gu5NSC~}`iUPS+WK<^KReaP;smN`DiPa1aFy2}l zQqFz0MHb;`|2|qkEEku{#XhOc)i2HbiY2>=adUsOG*mT}b*h9xjE3DSJPnz!*ERJ> zLrY4b3KWw$_JWaqRr|8cHHayoN|Tki&;CTiOK+(r-P6`OmU5`kQYnyYcjbKdtvQHv z6acW4G%MX;`=*51S3esTR-dXSR$4Ba&OVpq{``J4VBqT#)QD8zD=$&3sA@N14ps!^ ztftu9o_hG?dQ|sVgEDVpk9I9`*SaHMR(N)dCWm&dZMN3(DYQJ=PtxtvSf3H~_!zl= zW_<&FRCf7f$tIGtWZEA=?HHl+pFGBYF@^ML+E(4U@G|G%>b0{Umce?LSknp`Q2*Y_ z<&XmHNQ?GQIEqQQ&Y1KRS_Ee)>-E(S>pMtmL%RCu@y^2ap|_KMl#5f`DY}V2 zO8>psFEVe6(xbe%JNKXb_agdB>YIut9+L6+RDV^GF;WI^6EdJNzEPSbX>?rxReAf? zF{_e3=~;MlKk3S~i_TK@_{9Xo4ZtstqKiNaD(uRTqqJL17{# zM`3cKN)xYb+d`Z^q-vt(WnY#>7#LHu&bG?N_p{iqC4Ok>b5H64RQvXdGtC5KtZXZ`223vv2GgG=?aNz~0349Z2Q83} z-50}Wl+&DZEAfK3JAAjiDeuEup)*$>ejB3j?8UTt7l~n#JqO3My8y#LB1!S)y1OiY zamb;kxuJ!febUjn0OO*Z1vnYWOq;@!>sniJ^`5SMs-0A`sF2?3XK>lXBS14KEKq4s z9zHg+k@ox*{l2_RZtdZHHY@9(-Qb)@PC}`jW#Mf2aWt+1(oO zrK_*Pf~{nU5G>@iI@fBAmn6ay?ZhAvqF!2>@*Z4gp46S;Wb7>`k)5h8Mcaj6+!c%J zsJb1e(@%#g36^1+^ocWVJxcs9XOc3LW|yc0s~oJZd`m)S_&RIOo8*H_yD*Y98Ov@C zCEpazsi5AenW7{Oc-_3T4?}s5`h)lB%AZ*0dh;wpZ&mw?*1IX0+fOF!uV)W>f0Fvd zlrt6?O`z`VrtqMK)h3iOxk4_^JyasXMBaiqwAMfOSR^nVoLXbpk79#JXVTv}moKB} z{umpN(lGVHu_Mv>b}(qSX4L<&HY6lRMPZJpWTWO*0`(c)bZ4@JCjgt zf&Na+8APF65z*#fx9#CcC0L-OU0W5@qrFDK{eUx)JB*l_u9-pt44H=Nou!fmo&=$y zv53mZ>XJ!COgnm?jfqhwe92U!UDLb#(k}HE^1N7-j61H8MllxjApt=&^=03I3u;WcLX& z7$rUra@dF~I9)3%Z;aQ!gJBOlSrJ4=u5NVMq~_~7*s+spH`0!}Toka60+KZ2S&V1H z``D&y$ph@S9bh|w)bs+cBC%N(aFLWzYt-yYh&4Z}Wpu4^chKS@OGJVNA^~LCEy<)R zy^kTD@1I#BY=1^{{)?Hu|CE52^Ji)og?fK1><|GLyjjv7-ZR^1|0~VyG>INkoBO45 zV&Ye5^w?+!Cv$QrQ742)z;X^sdNGtlJ@K{}p^<(1Vrb`hX1s|@^!31;0H_#r46=nV zcG6VQiRBmsB=C(j9||*Mh97_5$zz+}d9!5U#ENOo022V9}dN$>>sGSRtg4RaMk^kZ2 zw@m(2^%kSl&s?Xv3s2GV*1t5FKxrbeX8Ad zg)gu3S-yO+@9RVo^NXoVZZ4AfNnR=X@CDA-RO>RHC%*|4IrIAaZ+!VM*N^-o> zNG|@wWy6=S&%V@@MSZXja@<_@gJ5xVIz2mSVf1LM{#wz;_1Y9cvu0q-qC)tk+Sh%YnUplRVizo3U6A<4p}G0Rv-!ab zfm6CNYr?1Swtb`qB7W{s4Xkw8RIlsh!+lRj^%_f7WXdYMIb*2tv|+&*F;bucoyIr> zs90yab2C*rbZ8i--F`}z)m|NUR3`(iTfhaUPhF&$GV#}1PV#@iL2NaP>ja$!>JxzI z8)Ls;j&m7Mgh5%}4fv(6gvt*d8PJ9wIC5?s{8$$wMKV9uls@V+K@SvkUDg<|+>Rmu0{)%K;em=fEE?V6_6EOG)MNd zm&Ay_7hq>OPmVA~=O!UMoS)nT?ULzsX24{fv{afS+kiUS4`lTXlMNCpU7{g$InE@z z9lwI@LcY>|k^B>ni|x<35RDr8PbGrPM1q2v|urx6BMmm>Kcg?~I7(IYOD zBq!J~eg_+c$+qWKXJ-PiR+|aF7Rm%LXrtM5Iyhy)<|8PKmTBMha#g69b_YU+t&9_R z0|L$kFLuy&zuE}tU~y+qo@{0N1phF~V>j1-N;y>xKm6(;eO7g8;CT}0h`G=ZUbw#A zXS~+ar^HM~AETWpiDCa)XXC5<9#FQ52=5$QepDb;K8bBGryX{nkENX4-se#Lc3I|< z))UY0FhqTB%h{}7M@z@Z`IR^QPXyg0HtPw?m$&#F%E8V!HSSIu;oZ}$*QwS>yiQR* zua>?vpGD0`v)1C6X$Hhl;bhxfgia9C1k{?6>kx0JB~ea)>F;q+)0FT^Ty80mzBp=khq`l?tq@h99gXxw*S&l;;j2kvXpYLBz2;+w_&T7O^ zWS8}n8f@2NeiWKv7-VBGOCle*+vPR8>CspuJX2kF^=fX#u;o@B>r-QARL&=x#Y zu&W=_6jeGYeH)czTO)~Z_@x$hXY?*KOHA2Vl2TJ0@90&^*+mQYr(v_D^kpEn!M3YD z#CgQT4vMjoJ$~dWM>meg-$faWn`Nnx((8tHGQ4rFXyS;w3oGjp45)hUh#>YP1NzIt zf$&8S6JNt=g(e-~u-MhkV#Qex=soA&cBO#iAkNfr#VZIqLr;`D63q#Z$c*~&eaIqs z)%4Di?dDc6^qp$O9lfl}fs{L%sr`aQT1uL>m3u&a8zdD$Y++CE?0Ug!EsT(FT4yX+(QwBw8}+-nWH8HYUdBs1~N6CCJuClPy|ZuCyK|t3a#Ud68Wp zs(D6i9ne?}AHAInw7)r;u2+6P1?=+j@F1MWdc<0@NVctSu}$aIL};?BBwbSR>{De{CHkJM|I`#z zDQbJwYd4j>Z)#PnE{)=q9Vt)q0JxsLFxFElMLz%hLzO&;#G8(WytSOP_`NLYw zCJV@kcT>sF2hTPt02D{!{xAP2hWNj0!ovMKnW<2-wb{NFQ<+naf}mlDsqXC>S<1a= zd4Ev>XYi2<%%H^B!D%R@O2b;{%a`GE(N!(1z?XEO?|a2cJ5u&7;>%K89baQ>_95yy z9`S{;Gs1+|Rh?#OCFV$xOHntv!n<~-vJ8nu`1t$py_CpmZxznx3ieCp3~%?dOzVGE zhmVpMlM0WjHOap2zU;MHw*}QZ^|Ol;fsf$_o8Hb7B^S5J{q2FpNSB&)NqmW)s$>yp z#(SrE)1oG9$bO1DnHLxtAzQSkiij09@edwxcNR|ON82)dM+IR+dCD!n%-%`Xgr|oi zIX`Iy6AP~8t+9|^3n8nWGsah)jM0zat%h1zWi`JEpIomGvMcl#%sSsPn!0zFGka5-cE_BTdo@sE-!))I5!+vvNlgwx9{9>QD6;aGW8%T(5jQ7pTKrsY;SNpBgc z2#MIWVay)+1ZxWi&O?tu|LK{iK`eU^g!IT&NQfVByxglhE6$lA5?`uK7KWS?%d)9& zWJ&J-xDl0m7LZow;B19B^L=zyJIc&Ok7+=@<8*ms^2^pu{CMz`O>>Dz(~ifX>sd*8k9pYzsz>;1FW zZ?BoXXU)u-wP*k4`~64`M3vPaz7j0c*=n%{Ns$8mHRYrrS}edM7ne6R0a@R0PC_4M z#vbz8WxEvX9kZG| z>6bZ7^z+lJj~Wf@m)4F7;7F>?cKbrr^Y?h4K|t=*jBq@srl zKB)NoqVjsm&G4e)4+lNM@c4pv!nyNFK+~?F$>zg~pdx~V6xmPhvJqewc;TxIOc1X5n!;?QufF^oYx$vt4!(JxQcR-Ac7X{0Kj zZ&T~^WszTl5MYDMbVfc-E^tJ0srtfZHFr0f%bKT4!D{1P4VZPRfCA-w{1>?e{|!%| zbzDWbuvOHV4w=al?)kMRR51+%$eI88;p&O*yRIqDl(SLsg5^Qyy*>VfrsVJU|E%OEry|2dcY+Y; zfyKD=cF)EX5ztReLxCli80KV;61(iWf8Y=MH43*!PZZ_GcV~5`!~@XVdP3CO$0+yl zUW6RBzDK5oGArXFmYnq20#4EW`%RF zkA2q?SMQt;xZ%i}DLRc)PLP{in#D65rkC_QSyvZa*_!mrQI`D_8NQ|qRdCqQyldnf zkVS(`G`+iv2vLTj(^*=`>T>PQj}_#0?iJyVWbdxsR513jTH@^fF#<1UszEPq!q^M{ zwLkK+-^>_s5T2Xt22~WTZsB7DeLSbiL0#9!xn)SnwPUV>p4!;{kV7PwCHM@Lg)|r6 z9!kJ>WlZ?LD>Chb(9Pt(82oc!%;MTsG{I=$qv7(H)_~xD#K#{4zz zaE0U3tcd!8$cZjCy_%-ZFTT_?foOrA6vv#acVc zuZOrP7E4T99n$;(zN&8Ov6o*5?+s|8L)B%eK!W%|rDB7CzKD0n zU^n;WvPXyLo()F!nYE^`Ti3}oX+6D*^^w=O%pkqM8Qhl*@vJWqf|}65>xb*V47);& zOP*jB9~{eC6g+LZ9HUEV?7ST|Ae~s{NLYy9aG@g{sWu6^sxvV%Ul<;6dJ}Zs1pk)) zmrVdo-(ZQ5*OCCh=JIg<2w`#O&}HXX8Nu{uAV#RtX5^W7_m~Z%kL^%nLD&02U#cYe z^g^uO05eKhWY1%+ZYD)N*W$r|cifo!6J{iNF~&+?{0Fh2c2)T)%XYAZ{SH&95_><6 zDXXwjxaM3=P4(hg^=;pg<6$D}CnLCokBlCUEzc$MzpCpfGj8nwqyP`>d+?&pD6hVmoe{ zClr(&7$3U?(L`ljZDk|}hIz_Pc4ZEiYJZ(MMYw+q?fAreCEGrNQ!yuHj(<>558_sR zT~i!Nf+V@@Ee!FTAs?SJEV2pmdBCMsE!N!j0^b8#HbNxz2!s1Sj4C$R&N)2wox1hS zI$ZolksfdGahlPE=l6)?j&VNqStkNMe<<&7wbmg6VE@m0+onbrT2ah>Q2IyQa|zFjzbP4{7)hi92`tHGMuy?rX=`qNm5TfpNI*$QOf6 z>FVLO@7Gb*KLNcFN5C+J_*qltcBfXl5oFazWbIWo^^k~&@H|VIi6tXg)J!%hL9mnj zQlOkXqEG`L2-wZiEWFZBcG-;DoYkJv-D3 zp`^C{ik}a*R!+iTsHru?5V28ZnGjovEP2W`lxqO6};8T)&#!3Z*dj}R_>@$FhL4`7{Oqx7McpPdm3Bky#Lt*0qPs(k}(I^|t z^jan?Tz`st|C9r718*Y^%roI<(!t^kde6WqG1{T;VI$RM#bv3S@KMP@dLGNG`%c;; z+UXH)%7g-Jig62}Grlxhl$=uXT5NvVm>k-*NX}EPsl3ndlwL93jY45cc(W6&(CDXu zdsJkccn0>&n-lR?v5v83-9VMyopVP?)oLRf88xT;HfCtK`CFq@^82j;kDwE=wmz)d z*(GHlvk(eEso)h%)PSZ;)S%Ufe~|fwmm(ru`y$_8f%;iX>(JXZ2(sNS=SOAO=w&e) z0BBx?`<$91c;S!=x6&SPy)lPQO`J43Bm(JR5Yy{)9UqOSZf=T5%Z-xdDu5q)8QnXz5}Y#!OAFO zS__iCjmgC_QO!U7FHh(G*pXRIePP&vKmY!GofXS^t5M8r0Vg?a^NQ_pS%)hzF?p8_ z#OUa7lyqjpqan%aIwBa|hrjy_1zekTaLau96 zN9gG0{`ft5{`+J3L#+SbUcmpS$RDq3zGd6?tkx{dJHz;KnUU-3)Z8t$+kr*sBQ}~1 zFRFy$sXtfJe0_$8C5>v3f?I#>orarb$0YpTr-g%k5KaBVdPQ&ePjvL z29J1~p3+f|>JUrx(zfTU)}le$*bKi=uAtfEy9@tf-Y2P$8=qFb69ts?i2Dg}&Y|I- zg-Lt~Y*v1zH>5zef=kmh1c0Zh)bHGP+__1sr9Zk=JRC)_ekyuO6IBzFh;fG*R^6#) z4@49d7|f0Sq{}Q`nN&pAYom~z^=^$#7joGgh2LWyE~a(!T{*QgXVd0T@U*kz`mp*9 zdBd+SyhAS&&YtzAb*ts{VW=y9NO>vt>!3vn2dR6O|At)Q1<;s~zZe*3gYe=@gu_=w zZ-j&`WPa8)PR3XY7P-27jq%v480DaReYs5LS+TgdA=P=anDOyi!^3-h>}saxjU@Ie zMnch;qttxZMIDp&kI+bOC1bh1w7RI^rH0CJdzVlcK@*--h8%uhfR3$u_BosvW^Btm zmLT0tQE6oz6+UoFD~Z0V$uF#(x5?p32;Ck*f<~kHF|lHp8Dc#-_p$hqrBUfj+=LT?j$QWuUw4sKTlj|m^N4keSQ;5~7lFQM=^Zo^Cmy7w0 zn?dV<6eYNZ%g6XUYcBDC6sssf^ZR#;Slt82ZhDMHIYeG9WR>75Ws@q?b@OHS84jsi znMnb;51CI!<+Pn@gV@;T$iX%E?$?BDtS{W*i6%>qeiBw%F_usTiSGfi%9Sqc=8UQq zE^Ti71XL_`do#qE_n~fgJ-NKZVsY;TA%WsvjNxus0yaD3EB7i>U&pye5%YdHe^W^r zemfM%+`!};KBBmZKeCy|Rw+Pd5_}m!;Sd5E#{YU*OK|lY_FX&5wzRPqr7DW$g~Gq1~>I z(}cZq^kNxpOj)nxmDv2cc2|AX4EA7n&qVv<8a>%ned$(YJFVFDq-c( zw+~oU+n$$MG2~)@0ua|OL{22Vb+2l)Yacc^KOd8<5L_%kTa&Sjh1_MfS9_z+Xj8&$ zCn0JztojoW=u@^JHJ@9P1Q^fYCYn~C41Yfbdvn$>ta3c-dCWMvA2&{mxynd0f@xV| zqOOJ*o*N6m1W0J0Yt_?EpmP~u=xWmJSMC-Dgm9v%`yMd==1S^?z=?x1!!?gKAQct8 zHH=(VSD~U&6&CJ``kPv;6PkF5GJ#MyEnog$%?kYS>H7C1q!UHUJW^}bq~cy232DS5 z?y|@PaRg4`B7XD{KCyA`e+KhFh{(F}vi*qWo4CT^!cl98ex1*Y(=!^@&!mQm`pu@a zYS$G*Hok8XPJk}AhOfwzXEx(1?)!=qv@oDppwz1r0C*`MY)H}J4a`cN>>RMd)_ly; z0_4fn$hvvnG2r2$y6d;KEi&vUJ5}J4^LJw2WpXt=v_f|gi&<%fWrZ}Do#~<6^Z8;= z=(5$;+ElCF7d|9!_jq;pHiI5;G2XB*jDM#n{K>mlYe-%tkibx!U8d$scl$c6-^~ks zB+Ba!b?V#lHIZKfBRk>+b{G`HiN3hUU>WWV?!!Z=ILH0zN~9T zW%^4#%X2`TK~MOZno;z32LTy_ZV{N{*x-v}yyMIHs(6}>JGG5o z1yWz37KW>SCQ&GWs^17+5lIA|+R$MsyF0%V>g3^wz*90seDhJDkt=*~|Jf5JF_s6? z5TdqH9`pK0!MybB!09~P#8n6c3Ru Date: Wed, 5 Jun 2019 16:28:31 +0800 Subject: [PATCH 14/26] =?UTF-8?q?Create=20Kafka=E6=80=BB=E7=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "Kafka\346\200\273\347\273\223" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "Kafka\346\200\273\347\273\223" diff --git "a/Kafka\346\200\273\347\273\223" "b/Kafka\346\200\273\347\273\223" new file mode 100644 index 0000000..8b13789 --- /dev/null +++ "b/Kafka\346\200\273\347\273\223" @@ -0,0 +1 @@ + From 64d2fdb8ffb1a0807bdd439baade3770142a7bf8 Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 16:28:44 +0800 Subject: [PATCH 15/26] =?UTF-8?q?Delete=20Kafka=E6=80=BB=E7=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "Kafka\346\200\273\347\273\223" | 1 - 1 file changed, 1 deletion(-) delete mode 100644 "Kafka\346\200\273\347\273\223" diff --git "a/Kafka\346\200\273\347\273\223" "b/Kafka\346\200\273\347\273\223" deleted file mode 100644 index 8b13789..0000000 --- "a/Kafka\346\200\273\347\273\223" +++ /dev/null @@ -1 +0,0 @@ - From 4652f708ade25f454d61f86facb398aa9a13b7fd Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 16:33:24 +0800 Subject: [PATCH 16/26] Add files via upload --- pictures/1.jpg | Bin 0 -> 13237 bytes pictures/2.jpg | Bin 0 -> 25455 bytes pictures/3.jpg | Bin 0 -> 27702 bytes pictures/4.jpg | Bin 0 -> 22563 bytes pictures/5.jpg | Bin 0 -> 25455 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 pictures/1.jpg create mode 100644 pictures/2.jpg create mode 100644 pictures/3.jpg create mode 100644 pictures/4.jpg create mode 100644 pictures/5.jpg diff --git a/pictures/1.jpg b/pictures/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a5bcb0aec5184a14373f290e78fc2505845c0852 GIT binary patch literal 13237 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

%}z!<>s@bQT7_ zjRYnv6h4vJK-MuDFG;6Kus*&bRuR@%CUDDSv!~rGy?C86x!6SX_});wTo#+2;gS(u z;EF)=np+!W?o6lG~CnZCiWAii&3ly!~OD(gH_?3&9YUUt~)e4t|*Eq`>I z(6x)wYGsSL$#25jn&|~w9EVweyaX>Qo7_?soS1ULU!Xv5l@G&8p24b>kT(W9)XJ|v z+-cxwB~HNS(I1o_-B229V^^EBcRDyHp=-{W2IY4!y#1CLDau-W$4odC*G0*)JF-vi z-&M0a@{X(WpF&qIF`(^!xF0!$o<>^S0p%4TO=9tp_75vg+7W&)i>@|hCOUs0Tm#Cq z8a`^8Y=;=7Mk{>U3ijFDictWD5DGQk9SquUr%Rd*KD!KISTk3Kg=;y~&QVXOU*~5H79~Zb$;_ju~jdYZCLMaJt zXQ0z1nj`q|2dbkef#PmcWM-3cgMdYklpl{6E+$PFp%hW+wI1?H>B&X5dX_N;hJm@r z)H^o0#VvF6JJJ0MHPXsgt`E)mEpW2RLmH=-fq4s*$mQ^?@OU6J>9tW0-?WO6zRqB_ zb;DNX|1UFla|k(sC6hitV5ec_H0WDoAxHYx%PWiY5_cgg=YDm^YiaoyZaSL zo$p4xo=i0oD%2$R@?D0GOz^)+&X=;LSF$GTW#IdOL95IwyQ09Z>&`KdYbU6Qa#R?* zW{M)uBzV+U*oPBg#kN<}x{(EC$x*=F{8+|x&*P|6o;y=uAy}bPfjTK-B!V4ty4u}g zI>{x;Ov1oPt_s3_gx`4R19_~1T%q3O3ds-r-LGS_-O%#cyzU-tx@Q<ab@(SLz&VJuA&(BIxo2p?i(7SL;u3~7I zKAZv5LrVcCvc##nsWPmI;Dt~@Lu^XL*cY%2tlVGxGVyM?D2;{3}_;?3{S!{@CwzP>p_Z`{0Austl2fAyPmN{J6tw3M2>xI>l+GBA&riuMhxL zB&%~qFh-h|j+y*$d^uK{#q%Bsb!8>>=`qqb?3XUzyt+i$R8MNb{NjfwUf>9pMPkw} zs*&HzB5w0F=9RX=kdpMDw*jePzg;)|t=x#TdT~4K;vv3tpcWT&@7^VxI#JTC^%ID) zd1xg+D67PM2cTXWK!t${3|Nc-=kR-{4@Xn2|KN#Jy12(6;s02D2$Z6cUk)j#_xcd> zw1=}GfHO9{)95ph)%nfBdz;qOlaJVWD>CY4PjqMwnNL8m9<}*AhGwTsVqJCD5snS} z#$wd_#BX&YuS5`j9sOL98k~?;P~*3dyRh_96ih%aEJav|x4J?#v?&k(HZnXL4?K(K zKw}k|zcs2zHEFoT!Wssq&tUGY9uxxG0WFM!8S&+2<0@r_R58RCm6;Zh@=0|xpMV{2 zfCB2}b{n~49O1peU~$F-_9=Z~_6+R!NCS4c(b4@45;+SQur~9HTN0OAc;7t2&ipwK z5RdiXLLmeDfGjP1@_@5I8lGuxhqrRA{@k=rNH(s|?{eeumzyqdU_Owm>rfx|w zQvmi_o$5RPEAnPt{9`A2WcE!=nff0nWcal38K1SI>c}FYcs(`LpkGMtv8)CYwkv-> zVf&eC|10mm$svEm zHNt*JXOk}6CYfBRjZs&3Db+F794PW2D4)O`+6(y7(*d|?Xfrl!PI2+=E1_@4D!jFY z#RR1VG*q$#0I6t}-J8Rnz=6|Hx@$Y&{nwY(7p{1^0g&^Zyy0`l8-KBrNndZ(hNas?^rePHt`JtSdI)NWE z_{<<*KTrHUcRl%390TQ9YfF#B#&81!DK8x#@*ZgEVT3at7T{${G3^_^?mya&Gq-W4 zmyIW#Ckha6=Hkzk0n9mriWh3DgJ%{NrY0v}xkb^ZKchoaU_CA;4@CfnWh*;}&#S_R z$yZ1<--XlFyV~gZVM5Vetb~{Lyhe(NkY2h%-VA>(UjAtBGualbih;lReyCRX7D+7Q zsp+!=3XiNP`4WyyOAMZhJ%Q8cNNvjfzT1(huy>8+F-_XNdYf+W+B377b$jKLBpu BXa4{I literal 0 HcmV?d00001 diff --git a/pictures/2.jpg b/pictures/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9609c00e8ae4943e3c8d8844fa6e675a9eba2954 GIT binary patch literal 25455 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
  • 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 literal 0 HcmV?d00001 diff --git a/pictures/4.jpg b/pictures/4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b1ed413f70db29beaefb9a4c85b6153c0537c052 GIT binary patch literal 22563 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 Nwmd<&2IT*L6978Ab2|V4 literal 0 HcmV?d00001 diff --git a/pictures/5.jpg b/pictures/5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9609c00e8ae4943e3c8d8844fa6e675a9eba2954 GIT binary patch literal 25455 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 Date: Wed, 5 Jun 2019 16:35:20 +0800 Subject: [PATCH 17/26] Add files via upload --- ...\237\245\350\257\206\347\202\271\346\200\273\347\273\223.md" | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 "Kafka\351\235\242\350\257\225\347\237\245\350\257\206\347\202\271\346\200\273\347\273\223.md" diff --git "a/Kafka\351\235\242\350\257\225\347\237\245\350\257\206\347\202\271\346\200\273\347\273\223.md" "b/Kafka\351\235\242\350\257\225\347\237\245\350\257\206\347\202\271\346\200\273\347\273\223.md" new file mode 100644 index 0000000..8aaa755 --- /dev/null +++ "b/Kafka\351\235\242\350\257\225\347\237\245\350\257\206\347\202\271\346\200\273\347\273\223.md" @@ -0,0 +1,2 @@ +**Kafka闈㈣瘯鐭ヨ瘑鐐规荤粨**** + From 554eda3b02c993fbcb112c6fbca41310cdf0e958 Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 16:36:18 +0800 Subject: [PATCH 18/26] =?UTF-8?q?Delete=20Kafka=E9=9D=A2=E8=AF=95=E7=9F=A5?= =?UTF-8?q?=E8=AF=86=E7=82=B9=E6=80=BB=E7=BB=93.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\237\245\350\257\206\347\202\271\346\200\273\347\273\223.md" | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 "Kafka\351\235\242\350\257\225\347\237\245\350\257\206\347\202\271\346\200\273\347\273\223.md" diff --git "a/Kafka\351\235\242\350\257\225\347\237\245\350\257\206\347\202\271\346\200\273\347\273\223.md" "b/Kafka\351\235\242\350\257\225\347\237\245\350\257\206\347\202\271\346\200\273\347\273\223.md" deleted file mode 100644 index 8aaa755..0000000 --- "a/Kafka\351\235\242\350\257\225\347\237\245\350\257\206\347\202\271\346\200\273\347\273\223.md" +++ /dev/null @@ -1,2 +0,0 @@ -**Kafka闈㈣瘯鐭ヨ瘑鐐规荤粨**** - From 3a360fabd25dec6feb42caa6eb0fb3a5dcad2291 Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 16:36:39 +0800 Subject: [PATCH 19/26] Add files via upload --- ...45\350\257\206\346\200\273\347\273\223.md" | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 "Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" new file mode 100644 index 0000000..2df872d --- /dev/null +++ "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" @@ -0,0 +1,94 @@ +**Kafka鐭ヨ瘑鎬荤粨** + +**1.璁茶acks鍙傛暟瀵规秷鎭寔涔呭寲鐨勫奖鍝** + +**鐩綍** + +1. 鍐欏湪鍓嶉潰 +2. 濡備綍淇濊瘉瀹曟満鏃舵暟鎹笉涓㈠け锛 +3. 澶氬壇鏈箣闂存暟鎹浣曞悓姝ワ紵 +4. ISR鍒板簳鎸囩殑鏄粈涔堜笢瑗匡紵 +5. acks鍙傛暟鐨勫惈涔夛紵 +6. 鏈鍚庣殑鎬濊 + +**1.鍐欏湪鍓嶉潰** + +闈㈣瘯澶у巶鏃讹紝涓鏃︾畝鍘嗕笂鍐欎簡Kafka锛屽嚑涔庡繀鐒朵細琚棶鍒颁竴涓棶棰橈細璇磋acks鍙傛暟瀵规秷鎭寔涔呭寲鐨勫奖鍝嶏紵 + +杩欎釜acks鍙傛暟鍦╧afka鐨勪娇鐢ㄤ腑锛屾槸闈炲父鏍稿績浠ュ強鍏抽敭鐨勪竴涓弬鏁帮紝鍐冲畾浜嗗緢澶氫笢瑗裤 + +鎵浠ユ棤璁烘槸涓轰簡闈㈣瘯杩樻槸瀹為檯椤圭洰浣跨敤锛屽ぇ瀹堕兘鍊煎緱鐪嬩竴涓嬭繖绡囨枃绔犲Kafka鐨刟cks鍙傛暟鐨勫垎鏋愶紝浠ュ強鑳屽悗鐨勫師鐞嗐 + +**2.濡備綍淇濊瘉瀹曟満鐨勬椂鍊欐暟鎹笉涓㈠け锛燂紙鎴栬卥afka濡備綍淇濊瘉楂樺彲鐢ㄣ佹垨鑰匥afka濡備綍淇濊瘉楂樺彲鐢級** + +- Kafka 涓涓渶鍩烘湰鐨勬灦鏋勮璇嗭細鐢卞涓 broker 缁勬垚锛屾瘡涓 broker 鏄竴涓妭鐐癸紱鍒涘缓涓涓 topic锛岃繖涓 topic 鍙互鍒掑垎涓哄涓 partition锛屾瘡涓 partition 鍙互瀛樺湪浜庝笉鍚岀殑 broker 涓婏紝姣忎釜 partition 灏辨斁涓閮ㄥ垎鏁版嵁銆 + + 杩欏氨鏄**澶╃劧鐨勫垎甯冨紡娑堟伅闃熷垪**锛屽氨鏄涓涓 topic 鐨勬暟鎹紝鏄**鍒嗘暎鏀惧湪澶氫釜鏈哄櫒涓婄殑锛屾瘡涓満鍣ㄥ氨鏀句竴閮ㄥ垎鏁版嵁**銆 + +- 鑰屼笖Kafka杩樻彁渚況eplica**鍓湰鏈哄埗**锛屾瘡涓猵artition鐨勬暟鎹兘浼氬悓姝ュ埌鍏朵粬鏈哄櫒涓婏紝褰㈡垚鑷繁鐨勫涓猺eplica鍓湰銆傛墍鏈塺eplica浼氶変妇鍑烘潵涓涓猯eader鍑烘潵锛岄偅涔**鐢熶骇鍜屾秷璐归兘璺熻繖涓猯eader鎵撲氦閬**锛岀劧鍚庡叾浠杛eplica灏辨槸follower銆傚啓鐨勬椂鍊欙紝leader浼氳礋璐f妸鏁版嵁鍚屾鍒版墍鏈塮ollower涓婂幓锛岃鐨勬椂鍊欏氨鐩存帴璇籰eader涓婄殑鏁版嵁鍗冲彲銆 + +濡傛灉鏌愪釜broker瀹曟満浜嗭紝閭d釜broker涓婄殑partition鍦ㄥ叾浠栨満鍣ㄤ笂閮芥湁鍓湰銆傚鏋滆繖涓畷鏈虹殑broker涓婇潰鏈夋煇涓猵artition鐨刲eader锛岄偅涔堜粠follower涓噸鏂伴変妇涓涓柊鐨刲eader鍑烘潵锛岀劧鍚庣户缁鍐欐柊鐨刲eader鍗冲彲锛岃繖灏辨槸鎵璋撶殑楂樺彲鐢ㄣ + +![]() + +3.**澶氬壇鏈箣闂存暟鎹浣曚繚璇佸悓姝** + +鍏跺疄浠讳綍涓涓狿artition锛屽彧鏈塋eader鏄澶栨彁渚涜鍐欐湇鍔$殑锛屼篃灏辨槸璇达紝濡傛灉鏈変竴涓鎴风寰涓涓狿artition鍐欏叆鏁版嵁锛屾鏃朵竴鑸氨鏄啓鍏ヨ繖涓狿artition鐨凩eader鍓湰銆 + +鐒跺悗Leader鍓湰鎺ユ敹鍒版暟鎹箣鍚庯紝Follower鍓湰浼氫笉鍋滅殑缁欎粬鍙戦佽姹傚皾璇曞幓鎷夊彇鏈鏂扮殑鏁版嵁锛屾媺鍙栧埌鑷繁鏈湴鍚庯紝鍐欏叆纾佺洏涓傚涓嬪浘鎵绀猴細 + +![]() + +**4.ISR鍒板簳鎸囩殑鏄粈涔堜笢瑗匡紵** + +ISR鍏ㄧО鏄淚n-Sync Replicas鈥濓紝涔熷氨鏄**淇濇寔鍚屾鐨勫壇鏈**锛屼粬鐨勫惈涔夊氨鏄紝璺烲eader濮嬬粓淇濇寔鍚屾鐨凢ollower鏈夊摢浜涖 + +澶у鍙互鎯充竴涓 锛屽鏋滆鏌愪釜Follower鎵鍦ㄧ殑Broker鍥犱负JVM FullGC涔嬬被鐨勯棶棰橈紝瀵艰嚧鑷繁鍗¢】浜嗭紝鏃犳硶鍙婃椂浠嶭eader鎷夊彇鍚屾鏁版嵁锛岄偅涔堟槸涓嶆槸浼氬鑷碏ollower鐨勬暟鎹瘮Leader瑕佽惤鍚庡緢澶氾紵 + +鎵浠ヨ繖涓椂鍊欙紝灏辨剰鍛崇潃Follower宸茬粡璺烲eader涓嶅啀澶勪簬鍚屾鐨勫叧绯讳簡銆備絾鏄彧瑕丗ollower涓鐩村強鏃朵粠Leader鍚屾鏁版嵁锛屽氨鍙互淇濊瘉浠栦滑鏄浜庡悓姝ョ殑鍏崇郴鐨勩 + +鎵浠ユ瘡涓狿artition閮芥湁涓涓狪SR锛岃繖涓狪SR閲屼竴瀹氫細鏈塋eader鑷繁锛屽洜涓篖eader鑲畾鏁版嵁鏄渶鏂扮殑锛岀劧鍚庡氨鏄偅浜涜窡Leader淇濇寔鍚屾鐨凢ollower锛屼篃浼氬湪ISR閲屻 + +**5.acks鍙傛暟鐨勫惈涔** + +棣栧厛杩欎釜acks鍙傛暟锛屾槸鍦↘afkaProducer锛屼篃灏辨槸鐢熶骇鑰呭鎴风閲岃缃殑 + +涔熷氨鏄锛屼綘寰kafka鍐欐暟鎹殑鏃跺欙紝灏卞彲浠ユ潵璁剧疆杩欎釜acks鍙傛暟銆傜劧鍚庤繖涓弬鏁板疄闄呬笂鏈変笁绉嶅父瑙佺殑鍊煎彲浠ヨ缃紝鍒嗗埆鏄細**0銆1 鍜 all**銆 + +**绗竴绉嶉夋嫨鏄妸acks鍙傛暟璁剧疆涓0**锛屾剰鎬濆氨鏄垜鐨凨afkaProducer鍦ㄥ鎴风锛屽彧瑕佹妸娑堟伅鍙戦佸嚭鍘伙紝涓嶇閭f潯鏁版嵁鏈夋病鏈夊湪鍝昉artition Leader涓婅惤鍒扮鐩橈紝鎴戝氨涓嶇浠栦簡锛岀洿鎺ュ氨璁や负杩欎釜娑堟伅鍙戦佹垚鍔熶簡銆 + +濡傛灉浣犻噰鐢ㄨ繖绉嶈缃殑璇濓紝閭d箞浣犲繀椤绘敞鎰忕殑涓鐐规槸锛屽彲鑳戒綘鍙戦佸嚭鍘荤殑娑堟伅杩樺湪鍗婅矾銆傜粨鏋滃憿锛孭artition Leader鎵鍦˙roker灏辩洿鎺ユ寕浜嗭紝鐒跺悗缁撴灉浣犵殑瀹㈡埛绔繕璁や负娑堟伅鍙戦佹垚鍔熶簡锛屾鏃跺氨浼**瀵艰嚧杩欐潯娑堟伅灏变涪澶变簡**銆 + +![]() + +**绗簩绉嶉夋嫨鏄缃 acks = 1**锛屾剰鎬濆氨鏄鍙Partition Leader鎺ユ敹鍒版秷鎭屼笖鍐欏叆鏈湴纾佺洏浜嗭紝灏辫涓烘垚鍔熶簡锛屼笉绠′粬鍏朵粬鐨凢ollower鏈夋病鏈夊悓姝ヨ繃鍘昏繖鏉℃秷鎭簡銆 + +杩欑璁剧疆鍏跺疄鏄**kafka榛樿鐨勮缃** + +涔熷氨鏄锛岄粯璁ゆ儏鍐典笅锛屼綘瑕佹槸涓嶇acks杩欎釜鍙傛暟锛屽彧瑕丳artition Leader鍐欐垚鍔熷氨绠楁垚鍔熴 + +浣嗘槸杩欓噷鏈変竴涓棶棰橈紝涓囦竴Partition Leader鍒氬垰鎺ユ敹鍒版秷鎭紝Follower杩樻病鏉ュ緱鍙婂悓姝ヨ繃鍘伙紝缁撴灉Leader鎵鍦ㄧ殑broker瀹曟満浜嗭紝姝ゆ椂涔熶細瀵艰嚧杩欐潯娑堟伅涓㈠け锛屽洜涓轰汉瀹跺鎴风宸茬粡璁や负鍙戦佹垚鍔熶簡銆 + +![]() + +**鏈鍚庝竴绉嶆儏鍐碉紝灏辨槸璁剧疆acks=all**锛岃繖涓剰鎬濆氨鏄锛**Partition Leader鎺ユ敹鍒版秷鎭箣鍚庯紝杩樺繀椤昏姹侷SR鍒楄〃閲岃窡Leader淇濇寔鍚屾鐨勯偅浜汧ollower閮借鎶婃秷鎭悓姝ヨ繃鍘**锛屾墠鑳借涓鸿繖鏉℃秷鎭槸鍐欏叆鎴愬姛浜嗐 + +濡傛灉璇碢artition Leader鍒氭帴鏀跺埌浜嗘秷鎭紝浣嗘槸缁撴灉Follower娌℃湁鏀跺埌娑堟伅锛屾鏃禠eader瀹曟満浜嗭紝閭d箞瀹㈡埛绔細鎰熺煡鍒拌繖涓秷鎭病鍙戦佹垚鍔燂紝浠栦細閲嶈瘯鍐嶆鍙戦佹秷鎭繃鍘汇 + +姝ゆ椂鍙兘Partition 2鐨凢ollower鍙樻垚Leader浜嗭紝姝ゆ椂ISR鍒楄〃閲屽彧鏈夋渶鏂扮殑杩欎釜Follower杞彉鎴愮殑Leader浜嗭紝閭d箞鍙杩欎釜鏂扮殑Leader鎺ユ敹娑堟伅灏辩畻鎴愬姛浜嗐 + +![]() + +**6.鏈鍚庣殑鎬濊** + +acks=all 灏卞彲浠ヤ唬琛ㄦ暟鎹竴瀹氫笉浼氫涪澶变簡鍚楋紵 + +褰撶劧涓嶆槸锛屽鏋滀綘鐨凱artition鍙湁涓涓壇鏈紝涔熷氨鏄竴涓狶eader锛屼换浣旻ollower閮芥病鏈夛紝浣犺涓篴cks=all鏈夌敤鍚楋紵 + +褰撶劧娌$敤浜嗭紝鍥犱负ISR閲屽氨涓涓狶eader锛屼粬鎺ユ敹瀹屾秷鎭悗瀹曟満锛屼篃浼氬鑷存暟鎹涪澶便 + +鎵浠ヨ锛**杩欎釜acks=all锛屽繀椤昏窡ISR鍒楄〃閲岃嚦灏戞湁2涓互涓婄殑鍓湰閰嶅悎浣跨敤**锛岃捣鐮佹槸鏈変竴涓狶eader鍜屼竴涓狥ollower鎵嶅彲浠ャ + +杩欐牱鎵嶈兘淇濊瘉璇村啓涓鏉℃暟鎹繃鍘伙紝涓瀹氭槸2涓互涓婄殑鍓湰閮芥敹鍒颁簡鎵嶇畻鏄垚鍔燂紝姝ゆ椂浠讳綍涓涓壇鏈畷鏈猴紝涓嶄細瀵艰嚧鏁版嵁涓㈠け銆 + +鍙傝冿細https://mp.weixin.qq.com/s/IxS46JAr7D9sBtCDr8pd7A \ No newline at end of file From c2c9d823065de66e48d769c9d427c4e040e32959 Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 16:39:21 +0800 Subject: [PATCH 20/26] Add files via upload --- "Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" index 2df872d..4f5e3c5 100644 --- "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" +++ "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" @@ -29,7 +29,7 @@ 濡傛灉鏌愪釜broker瀹曟満浜嗭紝閭d釜broker涓婄殑partition鍦ㄥ叾浠栨満鍣ㄤ笂閮芥湁鍓湰銆傚鏋滆繖涓畷鏈虹殑broker涓婇潰鏈夋煇涓猵artition鐨刲eader锛岄偅涔堜粠follower涓噸鏂伴変妇涓涓柊鐨刲eader鍑烘潵锛岀劧鍚庣户缁鍐欐柊鐨刲eader鍗冲彲锛岃繖灏辨槸鎵璋撶殑楂樺彲鐢ㄣ -![]() +![]() 3.**澶氬壇鏈箣闂存暟鎹浣曚繚璇佸悓姝** From cb5441e2c533b9ed4767f10c5f97994409fd0061 Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 16:41:00 +0800 Subject: [PATCH 21/26] =?UTF-8?q?Delete=20Kafka=E7=9F=A5=E8=AF=86=E6=80=BB?= =?UTF-8?q?=E7=BB=93.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...45\350\257\206\346\200\273\347\273\223.md" | 94 ------------------- 1 file changed, 94 deletions(-) delete mode 100644 "Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" deleted file mode 100644 index 4f5e3c5..0000000 --- "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" +++ /dev/null @@ -1,94 +0,0 @@ -**Kafka鐭ヨ瘑鎬荤粨** - -**1.璁茶acks鍙傛暟瀵规秷鎭寔涔呭寲鐨勫奖鍝** - -**鐩綍** - -1. 鍐欏湪鍓嶉潰 -2. 濡備綍淇濊瘉瀹曟満鏃舵暟鎹笉涓㈠け锛 -3. 澶氬壇鏈箣闂存暟鎹浣曞悓姝ワ紵 -4. ISR鍒板簳鎸囩殑鏄粈涔堜笢瑗匡紵 -5. acks鍙傛暟鐨勫惈涔夛紵 -6. 鏈鍚庣殑鎬濊 - -**1.鍐欏湪鍓嶉潰** - -闈㈣瘯澶у巶鏃讹紝涓鏃︾畝鍘嗕笂鍐欎簡Kafka锛屽嚑涔庡繀鐒朵細琚棶鍒颁竴涓棶棰橈細璇磋acks鍙傛暟瀵规秷鎭寔涔呭寲鐨勫奖鍝嶏紵 - -杩欎釜acks鍙傛暟鍦╧afka鐨勪娇鐢ㄤ腑锛屾槸闈炲父鏍稿績浠ュ強鍏抽敭鐨勪竴涓弬鏁帮紝鍐冲畾浜嗗緢澶氫笢瑗裤 - -鎵浠ユ棤璁烘槸涓轰簡闈㈣瘯杩樻槸瀹為檯椤圭洰浣跨敤锛屽ぇ瀹堕兘鍊煎緱鐪嬩竴涓嬭繖绡囨枃绔犲Kafka鐨刟cks鍙傛暟鐨勫垎鏋愶紝浠ュ強鑳屽悗鐨勫師鐞嗐 - -**2.濡備綍淇濊瘉瀹曟満鐨勬椂鍊欐暟鎹笉涓㈠け锛燂紙鎴栬卥afka濡備綍淇濊瘉楂樺彲鐢ㄣ佹垨鑰匥afka濡備綍淇濊瘉楂樺彲鐢級** - -- Kafka 涓涓渶鍩烘湰鐨勬灦鏋勮璇嗭細鐢卞涓 broker 缁勬垚锛屾瘡涓 broker 鏄竴涓妭鐐癸紱鍒涘缓涓涓 topic锛岃繖涓 topic 鍙互鍒掑垎涓哄涓 partition锛屾瘡涓 partition 鍙互瀛樺湪浜庝笉鍚岀殑 broker 涓婏紝姣忎釜 partition 灏辨斁涓閮ㄥ垎鏁版嵁銆 - - 杩欏氨鏄**澶╃劧鐨勫垎甯冨紡娑堟伅闃熷垪**锛屽氨鏄涓涓 topic 鐨勬暟鎹紝鏄**鍒嗘暎鏀惧湪澶氫釜鏈哄櫒涓婄殑锛屾瘡涓満鍣ㄥ氨鏀句竴閮ㄥ垎鏁版嵁**銆 - -- 鑰屼笖Kafka杩樻彁渚況eplica**鍓湰鏈哄埗**锛屾瘡涓猵artition鐨勬暟鎹兘浼氬悓姝ュ埌鍏朵粬鏈哄櫒涓婏紝褰㈡垚鑷繁鐨勫涓猺eplica鍓湰銆傛墍鏈塺eplica浼氶変妇鍑烘潵涓涓猯eader鍑烘潵锛岄偅涔**鐢熶骇鍜屾秷璐归兘璺熻繖涓猯eader鎵撲氦閬**锛岀劧鍚庡叾浠杛eplica灏辨槸follower銆傚啓鐨勬椂鍊欙紝leader浼氳礋璐f妸鏁版嵁鍚屾鍒版墍鏈塮ollower涓婂幓锛岃鐨勬椂鍊欏氨鐩存帴璇籰eader涓婄殑鏁版嵁鍗冲彲銆 - -濡傛灉鏌愪釜broker瀹曟満浜嗭紝閭d釜broker涓婄殑partition鍦ㄥ叾浠栨満鍣ㄤ笂閮芥湁鍓湰銆傚鏋滆繖涓畷鏈虹殑broker涓婇潰鏈夋煇涓猵artition鐨刲eader锛岄偅涔堜粠follower涓噸鏂伴変妇涓涓柊鐨刲eader鍑烘潵锛岀劧鍚庣户缁鍐欐柊鐨刲eader鍗冲彲锛岃繖灏辨槸鎵璋撶殑楂樺彲鐢ㄣ - -![]() - -3.**澶氬壇鏈箣闂存暟鎹浣曚繚璇佸悓姝** - -鍏跺疄浠讳綍涓涓狿artition锛屽彧鏈塋eader鏄澶栨彁渚涜鍐欐湇鍔$殑锛屼篃灏辨槸璇达紝濡傛灉鏈変竴涓鎴风寰涓涓狿artition鍐欏叆鏁版嵁锛屾鏃朵竴鑸氨鏄啓鍏ヨ繖涓狿artition鐨凩eader鍓湰銆 - -鐒跺悗Leader鍓湰鎺ユ敹鍒版暟鎹箣鍚庯紝Follower鍓湰浼氫笉鍋滅殑缁欎粬鍙戦佽姹傚皾璇曞幓鎷夊彇鏈鏂扮殑鏁版嵁锛屾媺鍙栧埌鑷繁鏈湴鍚庯紝鍐欏叆纾佺洏涓傚涓嬪浘鎵绀猴細 - -![]() - -**4.ISR鍒板簳鎸囩殑鏄粈涔堜笢瑗匡紵** - -ISR鍏ㄧО鏄淚n-Sync Replicas鈥濓紝涔熷氨鏄**淇濇寔鍚屾鐨勫壇鏈**锛屼粬鐨勫惈涔夊氨鏄紝璺烲eader濮嬬粓淇濇寔鍚屾鐨凢ollower鏈夊摢浜涖 - -澶у鍙互鎯充竴涓 锛屽鏋滆鏌愪釜Follower鎵鍦ㄧ殑Broker鍥犱负JVM FullGC涔嬬被鐨勯棶棰橈紝瀵艰嚧鑷繁鍗¢】浜嗭紝鏃犳硶鍙婃椂浠嶭eader鎷夊彇鍚屾鏁版嵁锛岄偅涔堟槸涓嶆槸浼氬鑷碏ollower鐨勬暟鎹瘮Leader瑕佽惤鍚庡緢澶氾紵 - -鎵浠ヨ繖涓椂鍊欙紝灏辨剰鍛崇潃Follower宸茬粡璺烲eader涓嶅啀澶勪簬鍚屾鐨勫叧绯讳簡銆備絾鏄彧瑕丗ollower涓鐩村強鏃朵粠Leader鍚屾鏁版嵁锛屽氨鍙互淇濊瘉浠栦滑鏄浜庡悓姝ョ殑鍏崇郴鐨勩 - -鎵浠ユ瘡涓狿artition閮芥湁涓涓狪SR锛岃繖涓狪SR閲屼竴瀹氫細鏈塋eader鑷繁锛屽洜涓篖eader鑲畾鏁版嵁鏄渶鏂扮殑锛岀劧鍚庡氨鏄偅浜涜窡Leader淇濇寔鍚屾鐨凢ollower锛屼篃浼氬湪ISR閲屻 - -**5.acks鍙傛暟鐨勫惈涔** - -棣栧厛杩欎釜acks鍙傛暟锛屾槸鍦↘afkaProducer锛屼篃灏辨槸鐢熶骇鑰呭鎴风閲岃缃殑 - -涔熷氨鏄锛屼綘寰kafka鍐欐暟鎹殑鏃跺欙紝灏卞彲浠ユ潵璁剧疆杩欎釜acks鍙傛暟銆傜劧鍚庤繖涓弬鏁板疄闄呬笂鏈変笁绉嶅父瑙佺殑鍊煎彲浠ヨ缃紝鍒嗗埆鏄細**0銆1 鍜 all**銆 - -**绗竴绉嶉夋嫨鏄妸acks鍙傛暟璁剧疆涓0**锛屾剰鎬濆氨鏄垜鐨凨afkaProducer鍦ㄥ鎴风锛屽彧瑕佹妸娑堟伅鍙戦佸嚭鍘伙紝涓嶇閭f潯鏁版嵁鏈夋病鏈夊湪鍝昉artition Leader涓婅惤鍒扮鐩橈紝鎴戝氨涓嶇浠栦簡锛岀洿鎺ュ氨璁や负杩欎釜娑堟伅鍙戦佹垚鍔熶簡銆 - -濡傛灉浣犻噰鐢ㄨ繖绉嶈缃殑璇濓紝閭d箞浣犲繀椤绘敞鎰忕殑涓鐐规槸锛屽彲鑳戒綘鍙戦佸嚭鍘荤殑娑堟伅杩樺湪鍗婅矾銆傜粨鏋滃憿锛孭artition Leader鎵鍦˙roker灏辩洿鎺ユ寕浜嗭紝鐒跺悗缁撴灉浣犵殑瀹㈡埛绔繕璁や负娑堟伅鍙戦佹垚鍔熶簡锛屾鏃跺氨浼**瀵艰嚧杩欐潯娑堟伅灏变涪澶变簡**銆 - -![]() - -**绗簩绉嶉夋嫨鏄缃 acks = 1**锛屾剰鎬濆氨鏄鍙Partition Leader鎺ユ敹鍒版秷鎭屼笖鍐欏叆鏈湴纾佺洏浜嗭紝灏辫涓烘垚鍔熶簡锛屼笉绠′粬鍏朵粬鐨凢ollower鏈夋病鏈夊悓姝ヨ繃鍘昏繖鏉℃秷鎭簡銆 - -杩欑璁剧疆鍏跺疄鏄**kafka榛樿鐨勮缃** - -涔熷氨鏄锛岄粯璁ゆ儏鍐典笅锛屼綘瑕佹槸涓嶇acks杩欎釜鍙傛暟锛屽彧瑕丳artition Leader鍐欐垚鍔熷氨绠楁垚鍔熴 - -浣嗘槸杩欓噷鏈変竴涓棶棰橈紝涓囦竴Partition Leader鍒氬垰鎺ユ敹鍒版秷鎭紝Follower杩樻病鏉ュ緱鍙婂悓姝ヨ繃鍘伙紝缁撴灉Leader鎵鍦ㄧ殑broker瀹曟満浜嗭紝姝ゆ椂涔熶細瀵艰嚧杩欐潯娑堟伅涓㈠け锛屽洜涓轰汉瀹跺鎴风宸茬粡璁や负鍙戦佹垚鍔熶簡銆 - -![]() - -**鏈鍚庝竴绉嶆儏鍐碉紝灏辨槸璁剧疆acks=all**锛岃繖涓剰鎬濆氨鏄锛**Partition Leader鎺ユ敹鍒版秷鎭箣鍚庯紝杩樺繀椤昏姹侷SR鍒楄〃閲岃窡Leader淇濇寔鍚屾鐨勯偅浜汧ollower閮借鎶婃秷鎭悓姝ヨ繃鍘**锛屾墠鑳借涓鸿繖鏉℃秷鎭槸鍐欏叆鎴愬姛浜嗐 - -濡傛灉璇碢artition Leader鍒氭帴鏀跺埌浜嗘秷鎭紝浣嗘槸缁撴灉Follower娌℃湁鏀跺埌娑堟伅锛屾鏃禠eader瀹曟満浜嗭紝閭d箞瀹㈡埛绔細鎰熺煡鍒拌繖涓秷鎭病鍙戦佹垚鍔燂紝浠栦細閲嶈瘯鍐嶆鍙戦佹秷鎭繃鍘汇 - -姝ゆ椂鍙兘Partition 2鐨凢ollower鍙樻垚Leader浜嗭紝姝ゆ椂ISR鍒楄〃閲屽彧鏈夋渶鏂扮殑杩欎釜Follower杞彉鎴愮殑Leader浜嗭紝閭d箞鍙杩欎釜鏂扮殑Leader鎺ユ敹娑堟伅灏辩畻鎴愬姛浜嗐 - -![]() - -**6.鏈鍚庣殑鎬濊** - -acks=all 灏卞彲浠ヤ唬琛ㄦ暟鎹竴瀹氫笉浼氫涪澶变簡鍚楋紵 - -褰撶劧涓嶆槸锛屽鏋滀綘鐨凱artition鍙湁涓涓壇鏈紝涔熷氨鏄竴涓狶eader锛屼换浣旻ollower閮芥病鏈夛紝浣犺涓篴cks=all鏈夌敤鍚楋紵 - -褰撶劧娌$敤浜嗭紝鍥犱负ISR閲屽氨涓涓狶eader锛屼粬鎺ユ敹瀹屾秷鎭悗瀹曟満锛屼篃浼氬鑷存暟鎹涪澶便 - -鎵浠ヨ锛**杩欎釜acks=all锛屽繀椤昏窡ISR鍒楄〃閲岃嚦灏戞湁2涓互涓婄殑鍓湰閰嶅悎浣跨敤**锛岃捣鐮佹槸鏈変竴涓狶eader鍜屼竴涓狥ollower鎵嶅彲浠ャ - -杩欐牱鎵嶈兘淇濊瘉璇村啓涓鏉℃暟鎹繃鍘伙紝涓瀹氭槸2涓互涓婄殑鍓湰閮芥敹鍒颁簡鎵嶇畻鏄垚鍔燂紝姝ゆ椂浠讳綍涓涓壇鏈畷鏈猴紝涓嶄細瀵艰嚧鏁版嵁涓㈠け銆 - -鍙傝冿細https://mp.weixin.qq.com/s/IxS46JAr7D9sBtCDr8pd7A \ No newline at end of file From f4ad1cb6490586a2fff655dd9a9d8a00b62e6710 Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 16:41:55 +0800 Subject: [PATCH 22/26] Add files via upload --- ...45\350\257\206\346\200\273\347\273\223.md" | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 "Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" new file mode 100644 index 0000000..d355ae5 --- /dev/null +++ "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" @@ -0,0 +1,94 @@ +**Kafka鐭ヨ瘑鎬荤粨** + +**1.璁茶acks鍙傛暟瀵规秷鎭寔涔呭寲鐨勫奖鍝** + +**鐩綍** + +1. 鍐欏湪鍓嶉潰 +2. 濡備綍淇濊瘉瀹曟満鏃舵暟鎹笉涓㈠け锛 +3. 澶氬壇鏈箣闂存暟鎹浣曞悓姝ワ紵 +4. ISR鍒板簳鎸囩殑鏄粈涔堜笢瑗匡紵 +5. acks鍙傛暟鐨勫惈涔夛紵 +6. 鏈鍚庣殑鎬濊 + +**1.鍐欏湪鍓嶉潰** + +闈㈣瘯澶у巶鏃讹紝涓鏃︾畝鍘嗕笂鍐欎簡Kafka锛屽嚑涔庡繀鐒朵細琚棶鍒颁竴涓棶棰橈細璇磋acks鍙傛暟瀵规秷鎭寔涔呭寲鐨勫奖鍝嶏紵 + +杩欎釜acks鍙傛暟鍦╧afka鐨勪娇鐢ㄤ腑锛屾槸闈炲父鏍稿績浠ュ強鍏抽敭鐨勪竴涓弬鏁帮紝鍐冲畾浜嗗緢澶氫笢瑗裤 + +鎵浠ユ棤璁烘槸涓轰簡闈㈣瘯杩樻槸瀹為檯椤圭洰浣跨敤锛屽ぇ瀹堕兘鍊煎緱鐪嬩竴涓嬭繖绡囨枃绔犲Kafka鐨刟cks鍙傛暟鐨勫垎鏋愶紝浠ュ強鑳屽悗鐨勫師鐞嗐 + +**2.濡備綍淇濊瘉瀹曟満鐨勬椂鍊欐暟鎹笉涓㈠け锛燂紙鎴栬卥afka濡備綍淇濊瘉楂樺彲鐢ㄣ佹垨鑰匥afka濡備綍淇濊瘉楂樺彲鐢級** + +- Kafka 涓涓渶鍩烘湰鐨勬灦鏋勮璇嗭細鐢卞涓 broker 缁勬垚锛屾瘡涓 broker 鏄竴涓妭鐐癸紱鍒涘缓涓涓 topic锛岃繖涓 topic 鍙互鍒掑垎涓哄涓 partition锛屾瘡涓 partition 鍙互瀛樺湪浜庝笉鍚岀殑 broker 涓婏紝姣忎釜 partition 灏辨斁涓閮ㄥ垎鏁版嵁銆 + + 杩欏氨鏄**澶╃劧鐨勫垎甯冨紡娑堟伅闃熷垪**锛屽氨鏄涓涓 topic 鐨勬暟鎹紝鏄**鍒嗘暎鏀惧湪澶氫釜鏈哄櫒涓婄殑锛屾瘡涓満鍣ㄥ氨鏀句竴閮ㄥ垎鏁版嵁**銆 + +- 鑰屼笖Kafka杩樻彁渚況eplica**鍓湰鏈哄埗**锛屾瘡涓猵artition鐨勬暟鎹兘浼氬悓姝ュ埌鍏朵粬鏈哄櫒涓婏紝褰㈡垚鑷繁鐨勫涓猺eplica鍓湰銆傛墍鏈塺eplica浼氶変妇鍑烘潵涓涓猯eader鍑烘潵锛岄偅涔**鐢熶骇鍜屾秷璐归兘璺熻繖涓猯eader鎵撲氦閬**锛岀劧鍚庡叾浠杛eplica灏辨槸follower銆傚啓鐨勬椂鍊欙紝leader浼氳礋璐f妸鏁版嵁鍚屾鍒版墍鏈塮ollower涓婂幓锛岃鐨勬椂鍊欏氨鐩存帴璇籰eader涓婄殑鏁版嵁鍗冲彲銆 + +濡傛灉鏌愪釜broker瀹曟満浜嗭紝閭d釜broker涓婄殑partition鍦ㄥ叾浠栨満鍣ㄤ笂閮芥湁鍓湰銆傚鏋滆繖涓畷鏈虹殑broker涓婇潰鏈夋煇涓猵artition鐨刲eader锛岄偅涔堜粠follower涓噸鏂伴変妇涓涓柊鐨刲eader鍑烘潵锛岀劧鍚庣户缁鍐欐柊鐨刲eader鍗冲彲锛岃繖灏辨槸鎵璋撶殑楂樺彲鐢ㄣ + +![]() + +3.**澶氬壇鏈箣闂存暟鎹浣曚繚璇佸悓姝** + +鍏跺疄浠讳綍涓涓狿artition锛屽彧鏈塋eader鏄澶栨彁渚涜鍐欐湇鍔$殑锛屼篃灏辨槸璇达紝濡傛灉鏈変竴涓鎴风寰涓涓狿artition鍐欏叆鏁版嵁锛屾鏃朵竴鑸氨鏄啓鍏ヨ繖涓狿artition鐨凩eader鍓湰銆 + +鐒跺悗Leader鍓湰鎺ユ敹鍒版暟鎹箣鍚庯紝Follower鍓湰浼氫笉鍋滅殑缁欎粬鍙戦佽姹傚皾璇曞幓鎷夊彇鏈鏂扮殑鏁版嵁锛屾媺鍙栧埌鑷繁鏈湴鍚庯紝鍐欏叆纾佺洏涓傚涓嬪浘鎵绀猴細 + +![]() + +**4.ISR鍒板簳鎸囩殑鏄粈涔堜笢瑗匡紵** + +ISR鍏ㄧО鏄淚n-Sync Replicas鈥濓紝涔熷氨鏄**淇濇寔鍚屾鐨勫壇鏈**锛屼粬鐨勫惈涔夊氨鏄紝璺烲eader濮嬬粓淇濇寔鍚屾鐨凢ollower鏈夊摢浜涖 + +澶у鍙互鎯充竴涓 锛屽鏋滆鏌愪釜Follower鎵鍦ㄧ殑Broker鍥犱负JVM FullGC涔嬬被鐨勯棶棰橈紝瀵艰嚧鑷繁鍗¢】浜嗭紝鏃犳硶鍙婃椂浠嶭eader鎷夊彇鍚屾鏁版嵁锛岄偅涔堟槸涓嶆槸浼氬鑷碏ollower鐨勬暟鎹瘮Leader瑕佽惤鍚庡緢澶氾紵 + +鎵浠ヨ繖涓椂鍊欙紝灏辨剰鍛崇潃Follower宸茬粡璺烲eader涓嶅啀澶勪簬鍚屾鐨勫叧绯讳簡銆備絾鏄彧瑕丗ollower涓鐩村強鏃朵粠Leader鍚屾鏁版嵁锛屽氨鍙互淇濊瘉浠栦滑鏄浜庡悓姝ョ殑鍏崇郴鐨勩 + +鎵浠ユ瘡涓狿artition閮芥湁涓涓狪SR锛岃繖涓狪SR閲屼竴瀹氫細鏈塋eader鑷繁锛屽洜涓篖eader鑲畾鏁版嵁鏄渶鏂扮殑锛岀劧鍚庡氨鏄偅浜涜窡Leader淇濇寔鍚屾鐨凢ollower锛屼篃浼氬湪ISR閲屻 + +**5.acks鍙傛暟鐨勫惈涔** + +棣栧厛杩欎釜acks鍙傛暟锛屾槸鍦↘afkaProducer锛屼篃灏辨槸鐢熶骇鑰呭鎴风閲岃缃殑 + +涔熷氨鏄锛屼綘寰kafka鍐欐暟鎹殑鏃跺欙紝灏卞彲浠ユ潵璁剧疆杩欎釜acks鍙傛暟銆傜劧鍚庤繖涓弬鏁板疄闄呬笂鏈変笁绉嶅父瑙佺殑鍊煎彲浠ヨ缃紝鍒嗗埆鏄細**0銆1 鍜 all**銆 + +**绗竴绉嶉夋嫨鏄妸acks鍙傛暟璁剧疆涓0**锛屾剰鎬濆氨鏄垜鐨凨afkaProducer鍦ㄥ鎴风锛屽彧瑕佹妸娑堟伅鍙戦佸嚭鍘伙紝涓嶇閭f潯鏁版嵁鏈夋病鏈夊湪鍝昉artition Leader涓婅惤鍒扮鐩橈紝鎴戝氨涓嶇浠栦簡锛岀洿鎺ュ氨璁や负杩欎釜娑堟伅鍙戦佹垚鍔熶簡銆 + +濡傛灉浣犻噰鐢ㄨ繖绉嶈缃殑璇濓紝閭d箞浣犲繀椤绘敞鎰忕殑涓鐐规槸锛屽彲鑳戒綘鍙戦佸嚭鍘荤殑娑堟伅杩樺湪鍗婅矾銆傜粨鏋滃憿锛孭artition Leader鎵鍦˙roker灏辩洿鎺ユ寕浜嗭紝鐒跺悗缁撴灉浣犵殑瀹㈡埛绔繕璁や负娑堟伅鍙戦佹垚鍔熶簡锛屾鏃跺氨浼**瀵艰嚧杩欐潯娑堟伅灏变涪澶变簡**銆 + +![]() + +**绗簩绉嶉夋嫨鏄缃 acks = 1**锛屾剰鎬濆氨鏄鍙Partition Leader鎺ユ敹鍒版秷鎭屼笖鍐欏叆鏈湴纾佺洏浜嗭紝灏辫涓烘垚鍔熶簡锛屼笉绠′粬鍏朵粬鐨凢ollower鏈夋病鏈夊悓姝ヨ繃鍘昏繖鏉℃秷鎭簡銆 + +杩欑璁剧疆鍏跺疄鏄**kafka榛樿鐨勮缃** + +涔熷氨鏄锛岄粯璁ゆ儏鍐典笅锛屼綘瑕佹槸涓嶇acks杩欎釜鍙傛暟锛屽彧瑕丳artition Leader鍐欐垚鍔熷氨绠楁垚鍔熴 + +浣嗘槸杩欓噷鏈変竴涓棶棰橈紝涓囦竴Partition Leader鍒氬垰鎺ユ敹鍒版秷鎭紝Follower杩樻病鏉ュ緱鍙婂悓姝ヨ繃鍘伙紝缁撴灉Leader鎵鍦ㄧ殑broker瀹曟満浜嗭紝姝ゆ椂涔熶細瀵艰嚧杩欐潯娑堟伅涓㈠け锛屽洜涓轰汉瀹跺鎴风宸茬粡璁や负鍙戦佹垚鍔熶簡銆 + +![]() + +**鏈鍚庝竴绉嶆儏鍐碉紝灏辨槸璁剧疆acks=all**锛岃繖涓剰鎬濆氨鏄锛**Partition Leader鎺ユ敹鍒版秷鎭箣鍚庯紝杩樺繀椤昏姹侷SR鍒楄〃閲岃窡Leader淇濇寔鍚屾鐨勯偅浜汧ollower閮借鎶婃秷鎭悓姝ヨ繃鍘**锛屾墠鑳借涓鸿繖鏉℃秷鎭槸鍐欏叆鎴愬姛浜嗐 + +濡傛灉璇碢artition Leader鍒氭帴鏀跺埌浜嗘秷鎭紝浣嗘槸缁撴灉Follower娌℃湁鏀跺埌娑堟伅锛屾鏃禠eader瀹曟満浜嗭紝閭d箞瀹㈡埛绔細鎰熺煡鍒拌繖涓秷鎭病鍙戦佹垚鍔燂紝浠栦細閲嶈瘯鍐嶆鍙戦佹秷鎭繃鍘汇 + +姝ゆ椂鍙兘Partition 2鐨凢ollower鍙樻垚Leader浜嗭紝姝ゆ椂ISR鍒楄〃閲屽彧鏈夋渶鏂扮殑杩欎釜Follower杞彉鎴愮殑Leader浜嗭紝閭d箞鍙杩欎釜鏂扮殑Leader鎺ユ敹娑堟伅灏辩畻鎴愬姛浜嗐 + +![]() + +**6.鏈鍚庣殑鎬濊** + +acks=all 灏卞彲浠ヤ唬琛ㄦ暟鎹竴瀹氫笉浼氫涪澶变簡鍚楋紵 + +褰撶劧涓嶆槸锛屽鏋滀綘鐨凱artition鍙湁涓涓壇鏈紝涔熷氨鏄竴涓狶eader锛屼换浣旻ollower閮芥病鏈夛紝浣犺涓篴cks=all鏈夌敤鍚楋紵 + +褰撶劧娌$敤浜嗭紝鍥犱负ISR閲屽氨涓涓狶eader锛屼粬鎺ユ敹瀹屾秷鎭悗瀹曟満锛屼篃浼氬鑷存暟鎹涪澶便 + +鎵浠ヨ锛**杩欎釜acks=all锛屽繀椤昏窡ISR鍒楄〃閲岃嚦灏戞湁2涓互涓婄殑鍓湰閰嶅悎浣跨敤**锛岃捣鐮佹槸鏈変竴涓狶eader鍜屼竴涓狥ollower鎵嶅彲浠ャ + +杩欐牱鎵嶈兘淇濊瘉璇村啓涓鏉℃暟鎹繃鍘伙紝涓瀹氭槸2涓互涓婄殑鍓湰閮芥敹鍒颁簡鎵嶇畻鏄垚鍔燂紝姝ゆ椂浠讳綍涓涓壇鏈畷鏈猴紝涓嶄細瀵艰嚧鏁版嵁涓㈠け銆 + +鍙傝冿細https://mp.weixin.qq.com/s/IxS46JAr7D9sBtCDr8pd7A \ No newline at end of file From a22a59f2c2584f509275c4db63e8546ddcf43d0c Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 16:44:17 +0800 Subject: [PATCH 23/26] Add files via upload --- ...ka\347\237\245\350\257\206\346\200\273\347\273\223.md" | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" index d355ae5..6fc1d80 100644 --- "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" +++ "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" @@ -37,7 +37,7 @@ 鐒跺悗Leader鍓湰鎺ユ敹鍒版暟鎹箣鍚庯紝Follower鍓湰浼氫笉鍋滅殑缁欎粬鍙戦佽姹傚皾璇曞幓鎷夊彇鏈鏂扮殑鏁版嵁锛屾媺鍙栧埌鑷繁鏈湴鍚庯紝鍐欏叆纾佺洏涓傚涓嬪浘鎵绀猴細 -![]() +![]() **4.ISR鍒板簳鎸囩殑鏄粈涔堜笢瑗匡紵** @@ -59,7 +59,7 @@ ISR鍏ㄧО鏄淚n-Sync Replicas鈥濓紝涔熷氨鏄**淇濇寔鍚屾鐨勫壇鏈**锛屼粬鐨 濡傛灉浣犻噰鐢ㄨ繖绉嶈缃殑璇濓紝閭d箞浣犲繀椤绘敞鎰忕殑涓鐐规槸锛屽彲鑳戒綘鍙戦佸嚭鍘荤殑娑堟伅杩樺湪鍗婅矾銆傜粨鏋滃憿锛孭artition Leader鎵鍦˙roker灏辩洿鎺ユ寕浜嗭紝鐒跺悗缁撴灉浣犵殑瀹㈡埛绔繕璁や负娑堟伅鍙戦佹垚鍔熶簡锛屾鏃跺氨浼**瀵艰嚧杩欐潯娑堟伅灏变涪澶变簡**銆 -![]() +![]() **绗簩绉嶉夋嫨鏄缃 acks = 1**锛屾剰鎬濆氨鏄鍙Partition Leader鎺ユ敹鍒版秷鎭屼笖鍐欏叆鏈湴纾佺洏浜嗭紝灏辫涓烘垚鍔熶簡锛屼笉绠′粬鍏朵粬鐨凢ollower鏈夋病鏈夊悓姝ヨ繃鍘昏繖鏉℃秷鎭簡銆 @@ -69,7 +69,7 @@ ISR鍏ㄧО鏄淚n-Sync Replicas鈥濓紝涔熷氨鏄**淇濇寔鍚屾鐨勫壇鏈**锛屼粬鐨 浣嗘槸杩欓噷鏈変竴涓棶棰橈紝涓囦竴Partition Leader鍒氬垰鎺ユ敹鍒版秷鎭紝Follower杩樻病鏉ュ緱鍙婂悓姝ヨ繃鍘伙紝缁撴灉Leader鎵鍦ㄧ殑broker瀹曟満浜嗭紝姝ゆ椂涔熶細瀵艰嚧杩欐潯娑堟伅涓㈠け锛屽洜涓轰汉瀹跺鎴风宸茬粡璁や负鍙戦佹垚鍔熶簡銆 -![]() +![]() **鏈鍚庝竴绉嶆儏鍐碉紝灏辨槸璁剧疆acks=all**锛岃繖涓剰鎬濆氨鏄锛**Partition Leader鎺ユ敹鍒版秷鎭箣鍚庯紝杩樺繀椤昏姹侷SR鍒楄〃閲岃窡Leader淇濇寔鍚屾鐨勯偅浜汧ollower閮借鎶婃秷鎭悓姝ヨ繃鍘**锛屾墠鑳借涓鸿繖鏉℃秷鎭槸鍐欏叆鎴愬姛浜嗐 @@ -77,7 +77,7 @@ ISR鍏ㄧО鏄淚n-Sync Replicas鈥濓紝涔熷氨鏄**淇濇寔鍚屾鐨勫壇鏈**锛屼粬鐨 姝ゆ椂鍙兘Partition 2鐨凢ollower鍙樻垚Leader浜嗭紝姝ゆ椂ISR鍒楄〃閲屽彧鏈夋渶鏂扮殑杩欎釜Follower杞彉鎴愮殑Leader浜嗭紝閭d箞鍙杩欎釜鏂扮殑Leader鎺ユ敹娑堟伅灏辩畻鎴愬姛浜嗐 -![]() +![]() **6.鏈鍚庣殑鎬濊** From 3af56f0a9bb6957853f8ae717e87da8816fefbdd Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 20:39:56 +0800 Subject: [PATCH 24/26] Add files via upload --- pictures/10.png | Bin 0 -> 10436 bytes pictures/11.png | Bin 0 -> 6617 bytes pictures/12.png | Bin 0 -> 7715 bytes pictures/13.png | Bin 0 -> 17119 bytes pictures/6.jpg | Bin 0 -> 12639 bytes pictures/7.jpg | Bin 0 -> 33394 bytes pictures/8.jpg | Bin 0 -> 20280 bytes pictures/9.jpg | Bin 0 -> 25998 bytes 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 pictures/10.png create mode 100644 pictures/11.png create mode 100644 pictures/12.png create mode 100644 pictures/13.png create mode 100644 pictures/6.jpg create mode 100644 pictures/7.jpg create mode 100644 pictures/8.jpg create mode 100644 pictures/9.jpg diff --git a/pictures/10.png b/pictures/10.png new file mode 100644 index 0000000000000000000000000000000000000000..d522b07b9d8b515501d7dfdb20c56c0a8a7c58cf GIT binary patch literal 10436 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 literal 0 HcmV?d00001 diff --git a/pictures/12.png b/pictures/12.png new file mode 100644 index 0000000000000000000000000000000000000000..f022e2d542e16c79919edc42320b93a037e95a8c GIT binary patch literal 7715 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

    TJ4Wfc=XF*U7n zJ>1VuqA!;}la4_4XqnF9wonJZzv8woVPi3tSJ=v~JHFfcer(4*v*cMuKh@p%jWn5c zhSd%Y;n3a7;UuS4z4##7sO2MUC{Dunng?K#NF{&Vam%#MOq6IDyL7CdAPg*fSHC?g zrqu3c0^5=8X8%<9n$+P?6mBsp?vh+kEd9`mPTYs`sJ%=k0w~mC$VVZ^WHK$jQf_vUU=ZRKR$;mxl% z_6;Wdm?t))g~D6kHKnUf;hQoX;WQp{AI_XIS4EIwV~W~3z9}7Oyh&R%BT-_5VNgM? z$30U2x?afxdqBzYm#coHz1)_5-cwBpPKtE@bw5H(ICD+z@QSF-N8!W%QRLqJ{7^Tp zgn=C-uBc4l=rBMH+GPIiI`8^%Z3r<^^Q^;h#(4~LK$ujaUxk&xSUM{H|V zo5u}yu9F!Z{PCH9D4u*%&#hdqe0F9aqVxzsVSSQ7vL2v6cbA9hV6=iJh@hDqy=)%% z+$dyX>crrx)!^J0oM@N3v~qP-tXs2xp0Sdm0cGEvCuOBRtNAJhmqRUzZqFT+%F0dG zE8a^{L#(40D!T?ty*CbLo>6$;HevsS{vj=Q4h|4GO1`Da;~n}KCf7Y$=lA2AuB`(S zDPfNV9wb=hxB66Y|jDntoa@a!bt>(=Wl*6IJUmYGXG7|mDw*9$(w(*Zapql zjg_f7wRT)^(`GocohF2R@%#LrXX7?G1>bLBbR-T1C00d-ziOx5QY6@1BS3?$N>Z); zl5{fLGfP*a`x_c$^4NA^xHq?t83Tktveh5t#I?0UjJ+@dt8eXF*uJ9Ly+0Ni{_V=Ew&HT<+sFQ!?Lvpxij2X6eQ&qu z8D3vbi{5gCE?@D3vH35fpDb}Q`~Ech68wuJ5$0-hSIhMe$qmN9PaYbtx+&B!MCDXu z5D!oObZwY4ry6n`RM5D{N0_f!{xsYF2X?>!;^!lfOQ4n0Scb6C!czqee2Q9r&F9lK%NGeWqxx5Y>3Z~h2X55$a|lj3Wy%V|nY&)e zjVJ%8a5#hNdP61gj?PiFSLURlKBBCV_JdoXK=+1Y>#UMLsoE$Yz}OPrHRl9~1` zf`9eueP?k4AvB@@mwfxW?~{rVr#+I-q=`N4DmVB{R>J2Xfg&Wc+?$W zb4xNDYtOq$rCb=BCTI2_?{nXRHnwJceQC(@^2f1DX|6w&$~v%flSKG1Qk%21P4M^kHBBGv!885&L8I9lLiKO5*a`=- z2`IJ{@6|O!6GZjnStLOsrb&?@>IOz@WK@uMeT{eF z+IN<59#y~!w7znGUSFesPDKLW@@r#`IHQ7@Jt*tO1y{YCCP=`$6C^Y5XKTGJ_hJFN zaK`2W?82=>x(cg&BA~Erog=G|HJPZ`3L5aCuHL2!Cck)zNDj8k9(a?74R*b(7#;TQ zow&%MMv9ug+mdz9iz$Ps>DA zikUuUh%&|K)Twq&@FP=wE7{pR6UNdvU5l?-CRji??e}QgHx52+xV9?nD~gm@*G`=L z+`ND4Dp31LscvlMXZ#UUX#MfDcd2#B)nVWe%hywmu}eY369%4(l`?cxs#$r33(kVLBCpK0Fe9UkJ=!VJ-uJ-(bCEB+SGWJXxgbIIyFHmYvB~s@0Zy5` zGX!%&)|vR!7d_YKt{|J)5>-?aGO_{-PRT9Xwf!O8@_`6ew?wn2Ec1*d(y4UUKT^8Cvr z4615=x9*tOMC>~~!Ok0iCjY}nS8a2p{c66cuXnMyt($yxhld>eUKCHX`J!OjXD286 z(e`X_&2~t*;*wxo&cCBCx~MKb*NdVw*;ww8@S{#GQLnH9Vy3X35ujC!W(-c6xuEuD z#NdN@exlbvQGY#Ft+k-KZlyc*QE1q{=y4J>pOKvjFz}C$=SH8UBQ(Ie{_4cy!mKMp zO}3o$r(cwIbFO-Pponh!h(3!E=dX3TP=K{Y;Z;r?au2KH2>C#Qw+FAfH@QzUvkDNa z3jjz^F@&d*k*UqDxX{^a-N5TCL0d^zktHo5^2}tXzra?Xd_`C(Yo&p1W}MX zBs4gyj{l^455-{pj4EWAb|}pjccY||Z)Wo@3D_?nI*lK8`t9?pioByZ-_Z`!(mb0xW6z zR}euZxA{(iDS+gB=xhjSg)&~(?BkI%YO`95ciVW}HpEa6LE;ezcPcgTdW8{wg|ZNz)1ULFBx8NMiaVQYuV~F~`{G6P;HS2-+!QI8m{LLfdY4stk_K{A zg^ly3V$IBzhXQ!cZ(?}u@dQDIUV>3M*6l?5Ef>YM#%_rVV$G7i;`+f+D-}A-0stsk z+c8jP`co^Q`decc?qDjG1n+6N!%;3Myc2PkpM7R#(5d5Mp<9)vo!x;<$?EQep$1T! zv-llVnmVe)bxKU*{JdgR-vp?**R_q>MxEtze-nfA>KP6oMTL=rDfDpKk1o*1UX;NM zPdy{v+oIX|ZW87Iuo8);*cf8|&*;$U0l8OM`T`enXSF>D1vxtlOP*?(SUQ#V;N9ze zh5e3sL^ZH*5XywFU20&=^)pB(5tzxPven^{nI0dfL}B0yv-iYu<^#O;{AL4&ufFM& zV;#ClJOgexFpzWjQ8zqjXxCEi>cvyt?%TcCj1>XFguyTtK15DWh8M8R#B^#$tRuB_ zW@sT=_#~4iRsg>Qf}7}nu1FmbTDtD9C59lT5m9Z|lpooq_GiV@lvSphKe|x*MLI8n zc_i3VB92+Q07VsYQCr@iBc!tx3Gfh@?h&@t#nFVoAW%3|Geo3RI9zFnC0i-$&bP${ zeE_*}XBRMZVIy?_Ip8q8GSo!BEisoxd#17^Qa+>IpQH%8TAKBsy94ws-idgh{hwkl zePp81?6A%adD+_^(sZ5*TuGU&nf>D*-EO}DtYj+kwr@a?CO_Xt5^wV1OeL_oIa_~vjYFGZ;lI2T( zfb5*(atp6v{R|{y|79litF~m>_U<(yF&IxqmEhU#+`qGYyZdi|&tFMsD)$P18uy?P zOc5@E^jS6ynf~}hUL6k}?k`RP()b)sLgOek4Q6(6k)m4Jy{9zHszx=OyGiGa9|J7( z|MZ#B^~26-$&WQoD&02V8!Lz}7;-z<-6hyV$t}R z2`+aJ`Mz`RS?itm-dXFe`^U`e-L|`{s;jDZ{c3_0ON!@gu0n3*Tj89m-^l66u!-7DVuvAIih zk*A!q%jfhv=}3%16!V2Y{{Qta`%b~#^OKMml4i@*lMoMY<5Xesh51wNs#8()*XUfM zIm#?{9?Xl5y-w&iKDQ2^eKDWyo_CuunvmR-hIJ(cE+##V#=N?^>GpUjCS0n9=sN4C zz)mCq%5H8hfHDP`f_1Y_#MVTJ!Kz4b>)u{T3ox=ci15aU5V*hHlb`W;k%^iojF~44 z#iwwDs>2myL{(bCZXDNTVvVIhdEU2gw53>I)qUdBP!P$V*X@{=`Kk%U4@iec@YKaC z8*{~28nB_|S-pmE++IiQQ^mko!db1d;cG2kC}>)dA7SK&(x4(8rup=s1TL7!(Y)Si z5teOK5cw;h!_Ho{CYzEkW;_^r&f7%T$5CS5(k2Df38Cf*tdp)H_n5LgX%i70psk$4nFTre= zH`DZ46n-Cr@7niveX_ubA)qhN=j@i=3;v+k)ibws9wrwUnEEqsAr7Gliub&oMWhL2 z*a24_KcKyBcOA@*AxV7@Sb5+Gp^9e^YlL*S8^jCJO#&13lUHR6)hRT>9ygg#`!sjj z;gvLH7)oB(40l9QW5w7u217g`mh^eXn}*l3p~>_05!2cp{jrlDhuo(PJuD-v?0!vu ztR9#vuiIT7vY8Fdc%A;{bR+ILq;P>Tgs_WUcdR);H>vaSL5Mfnt0uvVPI*BCD)A={ zX#8w25%+odCft(zN|jGxHebME-L)Tiu4jW!5Jj>DJuXGBmgO8T8a^5uY5QW3)(pD5 z1*L;RPAis^^GM(c%4SyK|-;xrhIc^Nd`f~Iq`6RcpRu`!IMFDhK)5{ZU2j^(4< z8-`%~&8|X#5Pkx;|G=G?fBqitCk{8!fNM5uM3~w0`mg~b;$@;nm$Y8AU11lWyN0N; zdw#PItm_P(*wM33e5&%R^(E4lei*nI+wj<(Y(^NQSx;s9_KPGaU8E*W$0`v)r*?SC zl^?Bj&ad{U%a&m#IGFD{+@wzHy9^ZHW3q?HG!cKi^}nR-ToDU#4RJy&vip?ILhfOJgB$L zEpq_%C>{l?)7G@tB8Khl-*ej$1vZTEZAz|`;sWb<^TuO5Zf4u@c`HeQ3r1q%x#x>i zu5)i3uPB~c&MV@M*c>)CMM)6Fv=OE?`;d*@b%Rs10-AaSC6@I&rKr8VV71cI_@8jg zd|tAS`1FhsRY%@*%X!NJ{RiF7D7#tyRkByzGJy|Qv(NUVK=-=OV|SPhRYC)N@Wwsv zzfc6dr8hG{Biyy>wheS(^>eH5+EW*QSUr6n8!kzr^JmZDSHmeE^zi)!@1iGF*o`fg?&Stt2R>a?n~KfaI8Y#j4Iv% z6}AgJTv98K{FlZCY~uCqce(q<@}RwukCU?AH+%k4Kb1uG3wk}5s|Z4GBxt(vM3uQQ zT^z_zTx`Q?^7rAciR8babW1#YDsKlmO3(QytO`(V3LHr*9$J4KP}yhoizoHT+2nk> z1+(QwQL?i4ZXO=z-18KKfNrh`_ zM;N4T1f8YBC#q*}mJkT1U)cq4#VfYO6MBakbMOk|A{AVy+N!+=nv9b%iM)k}; z5L!x*!Yj}(i7=F=&x$Tr#j}G1?%;k?N<6O`tYqEHUx3PGvn@7d|I*fmvqmkePp#NU zfnJzFTGw1}g$?!YwL0(J;%M|yNwYZ9Ha?XtS4n%!{xswHtiunLHdDmf)mfyq`(PI} zA@vo_jf-rNAU(uCt>lA=7HEsk`tVeDolVeOp-NND_X2#?B4TUGW7Ix)q{`G+lH-Qd;FBH7_q8-t}ZH{J>vSV z>%t3EGUB&xW_~T6M~+X$UYy1Y(eBb=x^adUp@uQ+OMyss+BQB}3d*3n;(lovwSCt` zjYCQ^lo`a!p&PFV#guMH>lz6h-IyIXA?{)-wlLQHXkclf0V1}VIDy*!;#W?-nS5rL z>D%Kb5fNV9SjCGeTUHSuwkqsL8Z^#%|3yw^SF2GT`E4=b+(4&nLcDsd6JWg}C9TI9 zcwX2wp}v4fg6guYAsJd;I$ay8>4YaPHV{f=={Tj{& zO!$Y9OMRDgt%q6%XI)&HmJSRr50C005hP3>m;v)h&cbKwt@!2s;v%H=UipokkL@skoeF-aWW@d0qEub37m;~=Kuti=8@mu zTp1;aDdz??;Zs~fdqw!p9VKN%Ui$a)dFMpQmxwC}-PNqnBzv0BZv^05y+G3&{bovw zEd6*59w&0vQEG{Y*|elQz(i78R1&1*iw{hj+#f~``F}0y#ks6qpJr$d%YIp-Hgkk! zX50uP7o~tF4U~Bl+ZvNYf)wx*-C8DUINhqtY6CQmpWhchi2^1c85)w{_s2CsPpc=$ z^Xs6q)9uUf5Kk#6e)?uejGxLywc*5CabknDbAH3_c75Fza6=i{t7Zt@;K|)g43VUI zWOvf(&2Q)6OkIVwXQZV$qdE{Nkz4?e| z?h7@*Aija)(219a0q)aZB5KF-1P@cS zz{C9-tan{SseT;zPuwb7VjXk*PCW~oj|BU}K4pWOug^vbS}rPVW{!(K)>~cwrj{*O z=$&q`zLyM8EZbKg5>w2-XGO7BUqShJy6GeC{fAu{Kiy)S)JryR}vl!sL(AIYlDrX$`^ zMD{+F<`<*9PwLh)Le?p_Y9mCjNytl8hNIxJ#O=MFIO=n@=T|RrVl%(BF*YCf%;UC! zokB0db7T(iR&)y%DCMjr@GJ6+v7(41tt@ywPD0hTOklRcIo;6GDQ1!e%kADG=J7>tuX^kfj{AJZM%z>jc;M*9 z0!QQX_o^VhvME209`DPyMh%uhO=O|7q?}25fHAjG`L3z8$P|)mCITwExt+M>zomsh z9A}?-KrVe4xG_CEPEYg6Kf7wap}0?GA$Afb)_gF{OwxQhz9(oPhHE)L8ssRW3VJ@% z6iGJI6SQ4%s^@a6KY;@{&1L^O&3l#Z_&*)dR(ooUPb9?7Qv%o z_-0a|9lQuJipY|r+YHXg-h1=xf~P`}l0A=?pl6;xir^(APCAKtg6nU{XhS5R_+Qo9 zAlkybt4UjV3-4kTyPgDcnnQlx8s7`FbHlO^u4b#=fBzScH~++`h7Zk@U!&ui1utc7ADn2fb)s2Pg69gv zfCU52z3K(H`SOd+oYTb1W`T=OzW1GipAiQ;CYW6}6sr2^y)O({FO5Qy_ zMKKRE%`T}k*Xh3so~@-y70?3goNgtFo@|Tdm4< zYN`PfK{*{}N$PRr3eW=8Y1U^pGOZE}F__pxF|`YNEY53PHZ8$5VAQHKjcOSF9D!!@ z>BpefM_Ox+k=${;5d>}N1hKp^NPW#{N$GuuvU$ z|3$;4Vs%MH^GH44R{sgk&BG1vxG^qbxXS2tDa%jN)6X=jmi1z$Dk*v7*N9+N-F?;9 zCtDb8O*N6=?7$Vm0V_w*L7X=$yW=DUGrq3mx1)Aj(bu~5Tx6+$s!fzINFotR+ zXn(#l$P*fB#E5LkcYqGVK1p?pefWluqwzB5Dp9!Phx~!Ab}wDG+hNy}&MAO&@bF}> z&&~WMO1|^Pm_mCQjh1$zl@>2M#5{6!vpiYE-Youcj~vF6Um2<)K7QhgWm-%GUMp2jAS&uNlSJT4A20% zRXYZ=|6oaCZ+D?e`WCo&#pfTBt0M!l`m!c*_7yIm^}X=Tn~n`HTTGSjV=RSl=`2P@ z17BrT(EnU980w5a(Wb)_=hrg0#aWLT)9&C*mR+Q|wWkTU8-8GhwPSLc{pnY_^9kN8 z>54D5eLVY!8|8fpX*-8Cj>$AUtChuYofQi`kiowT|gxL@KBNlcN zJi!hUw_2m8=RdVReWH;Cgf$Z`{Oa{St%~L{huNJBqpw=eu1A9YyaD7K>HR%{oC(a8 z-l)I6lWo+WA5$AT82{Fh|NZ&2V>91rR@6NDq^hywIWJ74-mYZH^w}GE=67DWDxa*6 z0fo4m)McMXE&!F}RMf<=VW&3OS*})TbC=fg%6W&u`YCr0+AFZTsY{T5puODyW{bFa z$5j!gMaT^C*8vUEN|UsUY2fb<78>xt&?=J>lg^=uKBL+1*<2G!LOM{HE;AsWqQOK2uY+E}KWVK3Y|GF2t z9P^oq;T?6c3)3ZShnJ$So}K(^G{@)&=0~{2iR0fJLydSMX-QzxwO#!`Do>jN_bk_>!@rWbD2;Z~zxz`!T=5mPWjWkL1>`N( z5;^ijaUg6PIPR9fEvcmYCG5AUa)jsrdcO?o1%%ESIM#GA`@_;E0zQGC zGyq1y@Tn+NVH-G<{0|z1!qbn|X9agxcbj&xO~Ws%2dg)C(N7bRqXndY80MvR{@C!- zJVE_;`7gKTei!634~c91*ngyyGnI`t`ya@xr#8L;#S|K_)+j&fPx>we%z;8^vM0P| zll6gE-G?_C;#QB%Sh*Af7X@g5X-B#^p6BZr6&Nx3mI?HmGOhJ$1Q?L?pTq!*=%uW8 zs(Dk`$8uqh#qe1=&WS?8yap3Fm$t0raF+;mK0#LnL7%RTaS6#YvB`YiXwq zJ9uIfU4^E2BmCF@Do`?r1^ZozMTA9C-Re&At<-A=@v+-46uX ziYt{YO1f?5nWLrYAwi89u0s6%bL@z=fwT}uH}sBp3S@_&W?%LluMVEboJrY>pGqN% zHJ~?GJM6oSZCO=ij<^56#g}!p}gu}LG}zW^smT0BPr%U z)egASS0T!^l_K2BC-o}eDJg*X=n2g8b}8J5k;X5XDAla7c#WwgCg=?x%u|--bggZT z6#HMYY|rc9O0#BDZVTEV9g+TrFX#rpOOWnPhzHhQHaxccXvgT2O%w2|RV8T?hj&WU z$J+elG}}P^-T3VnbM1GRd|M>NVH<_=RwGd}_;bA-&l`G!-tSGIXFQ0e&HGUAD;9&j z#JtyJ5p<{-)$)qHx^{EFlFG>@Lz+ZQ{K)SdiMx|jQ8YuhbV@J7ZO!v(gVg=-t=w`r zjnCz)3;kN|ET63<*w2D!lF(DEepxkjN<5csig)#1{9Nt}0;<`^m1zgU>87;_rU}n{ zOOuu+9Q?d~M2wQ=tI?BT%Rl(YjkKXk=6DkU)njyPB~mVrY4|_AfBAMZ)Ih%O($q14 zI6<90<8`}o?;=twgl2AfXC8evxI%pw$dm>ynK^n-m8c{-CXdN4 zR;&Ha3V*A<->sRYI8d000mZL}r9TL@yetvF_N( zAyV^l;&GszT}3E@x|of_cM`=@?5Bm$0A*jhD#oL+19axV+0<`5aGGh3=QtUsZ7(dt z0=SSQCr)ho;`RR6MB>qoFE>x5*&L4_=s5hgO9k7&0t+qpHvvoXBa-xsen(o0nu+3g zv*CbBae^tN%t@wM>NQNA5So_NtKh)wNGR3&tW(l3CM2V|8;7$;zvxvTp7Ng)1@2T= zOyw#eovO{vCwD!AM*rA)OtN^7_nC{mJm8*N=dd=WW#B$q zZK_`FqxuoG7yLZr@pJQ6LJ>3|p`>3Nk7gx`ld!88CRJs{?hvdb%O)xE2pXMFem^`h z70ABydFs~``>t3{i$~Dy>a#m$N`@?c9&T==6fwg4FKu zpHoJ;rD&!Fmd#ABw3G%JVtcSBuf7faH)sO>m0CeKJSZ^0NKl>>QrjnjBeI1^7kg%B7(~~Hbo@yx>JZ|;-~1~bN3q_ z&)9d+Eh(8$z1qlg;$rc8OW)2iWA7qbP39l)clS1*RtOPwQ&rQlW}Y3mQvB3A%H{r2 z8qFWq8%;&aq!(aNwY!?{!!?unaeudVbTFya9*LK0b3jLx z-@GDDp+41hU602p!G&@g8n)4k(tsBSJwbyNA~-TyGp=AXL%Olv9P>9G0g zhvBdy@lwVZPDBIQTBEU8{O7K0vn|O%$st zTpTB?78ql-|A!%D&+DH~TQARK{-UanXUj*aO*KF)KXF%Rx0GHQj-jpojAfu|iF&BD z%dOn#TQ|tlqA_^&@zG7hZ1f>^Dd?!#f@R!+%hZ8u_VJB}bH@F2g7Kf31QJRx2f;x0 zECmXrrJ#1Nav|kHXlXXZj&ttZXUF?sS~tV5u&3Dngr<`pVz!vpz4m{~SUzl#MU@dLI_&Ot4LPp0d|=k&yh2VX3|lLrS}} z<9Rp}mwVOOM(GPI!d{vMyg$F_Q>K0&q2?}JO*D33DW`tema8QAB_5b?CfS{3c??|z z&)wrv?4C@LRctDNDUat+N3+$8HO2Wa%F+4Xsll%EYpW<$#BJr-f-Rp7*ZW3U0|6=l zCc1S)x%CcJ+%-|TAX%Z!cvYKjPYb&Tm3nrR{3sbN?atV*-NFo7F(hcT<5fMBNObou zV4Zez1+j4-4UVv0Aa(QSr)_nrR)~!9uGgh#8Hh*4E2N~0cr(40`E*85ucgsw^SH^r zCu^@}NVMWNVjQzcfVY@IMHK|8W@>h{QTL4G+Z!y1`t*2{D~JXb++B)Z6IVJiFH}?Y z3>Wp3%7gzt!-#BMqNBEH?3=`N5GsRPNMd}e{5f?A>YiefsA1)wG7>+{2Igxw)9UHQ z-M(1X3u?8pV_CK313D%4CCI{ zB1N6z_EwAQ?LbJe@lG+6ZT48OYkkVB+Il>&v`SMf@8_2CmQ|WA)P|Wd{sH5=N7U*~ z1hPL*RYh!(UPSsI62I3woEh?;H;45MIQE|`lQRJ>BPL8afVi8% zMi-)-t_sEoy5b3|r-@R}qd)(;C_l&+A)JK&XbA7-F`o9g|Ok$FjGd8bnm$zDYulAshqPHghSAE6WzqQ zrAc~vLSgEvVj1zY&D3%|H5#>waTQdY?k~g^?k!WyUDn-LTrly=KFcz6Bv2$A=^ka9 znT}JR4(RXkeDH{CcX}}VNN(jO^XAY?LVp7H^vZILZDV94mRpF}8>42tAo_?mT=00E z)p}K3!j{wL52=>bibx4B_+X9C!djNrEDKpPbb#@akT#9^eR~^*l=RLqAW!5@1u&vZPTs?dBUj& zlg@BLZz%$)%gjZLxY${Lk)FLtJU!Yq`Z7tA5wzu{@y@2arY}V&_IxVv>m5HNGmqAH z$Rvd3EKJbH0~+J@FQ`N6n1h|dNsi<(^e3Dfex{<0{}WI2I2E^9L|9hDJUw@toodj~ z3gJgO%O|KkuR3+vrPW6U{L@ePw+0J} zOGasJgw_2-shXlujNhzpH&7Z{nB|Abz5CD_6HHQ4>~&Y~dH1E&3%p95x*oY__2oHz z;oZzKd&altyIFp5DPGyIBFug&w5?u6y>)x?<43ErHR5?Q_o%#ELNYDYKVi%{?*H#F zW>d-EFy_sQ47LRzC`})1ajRUye$ZTa6x1dwt79~_v!r135&axs66DHeC=Xnm%@`{U(H&ORg#r@1?h~4p!NehFMS*tc!<$Sp`3<*t{h4Y- z;<&Gmtpvl{2o7&uTb*rTW@n!#y@?sQi=NxsD>EAcCJsBYE_s)}MHSKo)#e42PP_Ma zl{`k*_#%MF=~G_624^mW{bd@~Q*n0?Pa$m2ztFp#3`1&}2 z@sNNar2+ods+q`240AU@E^qxWNBu*oSnoe>Dh4)P}7&S5E97xNHZie%;N0mG-O4^+r0Au->nc@+?N+hJv6vr_- ze-%n3O}$Ujtt7&DySURjja|e&Qn^WFIJz0I2%Ctrl;ije_U~mIa;5A`!nnTjF@BMe zYl72rfa}6~Prc8!y398;UYMHYqmfp8V`KEF(KT9x^SSx=ei0}>C=91U(}Lx4-%4(Y zIUjI+d|TKM(h`TLwn9%?5bM60Ga&S`0&VP5G#7nBX;A?CHAAuS+nRf~XgsYY zF-lz$vQOW0guBmPY($Nw{sw2g)8PlB&Ef-5rV68upp%I~EB1K>AeLcqyz!m^@$JE5 zgy4dVwxG#9>Z|ZSx`#)@gsuGoZJ?hDL&a1yjJFdc5-W~4@@4?sMZs)c&^jrRrRt0l zgFTT=74@YpW6vRd%L<=9={5cOqnjGwSYiLxGGRlaf#qpONEYe~r6yjU@r`+XO9N`# zdwYkBlxLrYbKgaMxw@k1KA=a_lKG_CFe2|Qs4!bWMO9xQP!YwbwPTpmG*1AU9|k#5SMr< z`nQQXNr#K-Cvcsi73TW^H8Q|NY>x#et~)geIU17|XL_VB%KWk7I!WKJwHe@47&_pT z9#4+o%=p~}s(pl4WfQ0Pt$Cv;l!^x2i|oP>2Go}P#cEk2RX;|Ba5c}o_9&D z3tPr5IP!IsO~Ywt_o_7Hy9>;inPS73I3cig3W+g;NJ#y2qbtV2fb6EeGwI4)Cd$eQ zj_euBQDsG63f>wIs^ED@=of; zIea)A#c~?xx8bvdjZ-^V0gk_=KoqI`I1R*JlkuIKEg_r7CT#n}J^B+BO;a^G+OrXk zq~TV9il+{zlnyF#I^m_4jW`**>&$Of#3Xted~9zQZrYN~YPXDp_+0{>KGa}>ceYkqEich&ftLuNuIv>khKzV z7OveeOqL*Ctx(A&(IA>Fa^99bsx~Of2rIlZf6`~$`!d5I>6ynmSWm9W8>hgdk|(D| zi8>7SUC30kzFCA(MH-u;TzL?$N^9npBUhJXhwOx(WbDtrWM}Xc?%u39$*R0e*X0=X zc;VZS`00CtyEk&;*N5M9>}#xNiJuj;03>Jpam}(t^n4-Z8Po36B(LKhlkh2}RkGS@ z^)xvdh_gu7$%lNsDCgtvt|NUp4_DQnq3;UKOWr&1`OM875O+eX@$}@IME>MoKB!}U z;PSp{I_3rM*pI;nW!v-@<-haZ8}*%3#p?!W?YK-G4W(8L9{j%1*mYoV=4*v6AHbaX z$iI|{g+79@X#IgzUXQKgmeey1cd>hUP|Z1=xA<--yD@rSyh>PBn40|Udb%o}pOaox za3ikks;M16Y64c;>TjC{89C%I7!Y$*&itQqSB0AZ_ zMI7i+_dEan+lSA72QQq=-~i!yLkm_CYYqLrcbNt}rsx#0Pq8Uoj@ZQRDR`#Q!Yv%0 zORW!+NURUv&oXv*eQvmK zM|w^T?bX)wp;C+9#X{3|+k@=N`^Z1#=+KRk@ z2m{HBsVf>P9xQJRdQzr9C|CwGNy!gjtB_TSnA^)KHYFT!xHDW@bxlhtEvF-y$nYsj zFuCAlZ^=#_9}zO5go*tRn%HWXi@;ocC~dZ+#gMUEh`?Y%8+d<@FQP0`cm9JS z*N7o7CP!)3;+#bRx=)*u789oM()-t>7E{#aZax*|@mtVM=i|!qhyR3M$-h81h~^n@ zl;@x2x6Zr5Rk=i=`VS;jz&RII$2t6_ zQ)%QTlzK?ZCZt>U`=Yyn4Im;eTNyD4Q}5`-g^r`*P>;T}h5Vd^Qt zxo2mIQjc?eM+lSehb6j&w6{)aUZ}7=pCRJS&H2hkS|~*=yVMT1K}|w-zoNj znH=hSN#uV1VuFiHy>z%>^xEua72BNF?+*iCg(HVQOx0%eo@1V5nCFzif$91B+zlnt z+sZq-@={m2jA`+HkpJ9sX>f$YAC(s(+e1`G5&el+r-PuWZnHqwEXo)ye{fHz0(N zv&TsKuH0U`f4EQDBQfmNesH{8jgs3sd`E>_75p=qzJ&PP_+W~jrZa$!|9}+yVfY-7 zpZk{tfnygX@al*=a_fTf))a4o80fQUpO({5Lblro`xLZQ?~SSZIo)2X`pzQ>1fakS zNmt*vewKz3_QWAnP{`~AJU&1RV>rF86?{|wvq^pSZ`2t?Ib~P=?V3 z0tLZUL@wN-jT#qLC3|H+Ii=4&$g^^x3xjU{ZjS=E;}Km?uE~>AlR|iMv@5;nZNR~B z5)h07(04Qq8kp0ZU5s?fhnE(RDx+{RxU`0zlrTdrH7@8sDW`QIl=f_Rlga5{XYy*t+Y zU0n9v2YIq}%6}OrCellu8y{`(q@>4Zm*|7)UwQX`-|row znt%D`39XD>UlS1fMv8(Mt_n-Q+;Ik(_`n1If6InorNM@R82WT%7yz&SE`CG}f8aQe z`^X{|b7yyYJOWQSOqxHOG7Ova4H2mhU{lJ75u?^N$zKr&MVs{(7{ zKeJG&BJnz;1!?EUd1!P5#0^FdrHe=syO9K;j7i8p?ovkwOl% zF#DvQ=~_V~?DQ5?dywkj<+o2DZuKmbP9G3SLCyv*P@7WQT$wku?*>EeyXVVVgBgsF zpvnSmnoZ>+J zfUR>XW3)$ZP9OuydcN=9LeSqW*nJ1U=#+GLKWpJ`&oWefKY_1Q+PsnyV46pO62zD*ys11b8A|NR*q#Mf$dX3_twtpL z8NBk5_Pm-RZBsc5Am$mf-$M3Xr6T4v5>EUVm;10}cXIad&Yz(2zhKxDzVkdbq7WOyAw^3o9?!|N14cwHT+dlGtwx$@6%0EYbUzQm@CJ(`NI==BsZha%{v$2I0RICS-@ zOHPKWNOn`#uR67s#UD#3C#nQ(bng!mfHug?-WZ+&*OJ^?RHcJf=) zcK_t}P#iI=BR$^Y+@szcgY=d9TwY#T|*`tGIsT+aXP9So>$tu zi1g()AK5IpU?_Lnxe7I?Wv{gPI$6*U1ep3GBEM4bjK@U+$z5N)u&{LSxUmz9>KV$V zBf}!m;vqaj$b%g4wXye7pZ8`}E3gNdiN;S3SaRc%(TXn0dbJBg{s8 zscD~NQpbWkqiBkLq#1Jf@Nr$^+QZDj_#7{W6-pZWLb$#yS)k6}JLHCYBZG7dPo)3< zeEY*d3~afc3_++0{roczg(1d9^Qs5z;Tg1F$_2@xz1_OAuYKwr2>P?&qG|xZs6xFA zgZ29*Jtnkww^?>w3Yw=c@N^vpnw%~8GC9CyZBPqS*np}(6mm)|RDmM%!hzQh#@KnFy(i6GagSS|>k^>JxdKftma>3pzPvPYEl^EGR3h)JhZ6uC zYWtJa?+zvEVfqJ7gwZO-{1qOi{X`OC>@ja><>wGjnx-m}?NNo^QHy{APLO1wI;6E_ zbF)bk%`%6-07bp`0m}B$tL#y<3At!I6jxewXs_oyinR&j*gYkYH4l{z=+N>wu=T$0 z53!#Nff2;|D(!`TDD;WZh=xmo+*8LmF4W*NYM&;X+h(K7czf_3SG1@hfkLQxY3Csz zh2XdEu4=fK%5l|Yp5(TwW3@JZ&m&LvO6;SDt$1pSRG)(NS+D=n8$k`@(kfe^)gH`& z9g*6UlP=3b>)Hz>O&zFX3g20hBMIA(`j9E4wdG^*=G3Pj?bwcb@Qu<4Cg7wgoy_d4 zlVW{dX9K)sVuC3=FI_C1`aG#UrXBe%>2ssiW9=_BOey^oJ1~a;$(9m*vQtlwu0F3? z^Dom3yXTQ!j@bT~Dd3Z`ctP&v)F|L42|RNYHmW|rMfMAAqT5ie!**y?5uZXIicHBA zWX3DU>{$Cvhxw2L5}o*x3C>q-s9qNi2M$)gd;P(yNBc~7DHwlqF!xkS(KDa{%GX>M zqsiKZmG2Inb7=SZ_pO=PeM1*p*OnWUC>p&*qltJR(DW4V? zgIF^Ms`m@@dAonPkKZ=X83;UXQVWLW-bx|dely@xkiklcjj~R~T633-_WoQ+K;NH9 zC4<8i3xtC_HyC(g7;=qqGFbD^@Qp}g5Jz%nDugx)4{!uEzA-wNg|liSmxBjYZ_{|f z8e-ZQbxYuG_ej38ad z8il0+q;(+qA!xKjDIi4+K^P%`xdO)eyjoOe*AG{#X-8=7_dJk0J8iRhshE@BAp6Fw$$kE1oBBm@g4_Ywjirq0q>a)~=0QF{lJ;U$907v=z)!ybDSqj zF*DI86iwl5i01i-maoV=njz+Cl|3A4>Bs5#WonKk%BdKHz(HwAo`4A#$YT`#j0eSc-lqOx#_>Gp!704ae;&Go<07dTq~ zm!dTMi9CSanQ&3#R~8?dTfu#kauM!%Qo2^FB|;|IA;?6oLtmmR!i~2~MjE}SeZRe? zp3<#SNiS=)U{LV-o~i@^1_$5Uyf#{XqhE;zO}V!D0mL(QUrwlm;?%;hK*>%T$YE0t z*4fI4R_e2OHcTFF>7{7}NEWb7{9~ZIOWK0zFJH1J&|k%k`|9mmK89|nl~C*% zuv2?t7OJu$pE{BEj*D}q-BKTGpVry{?^**5R*^)SB>OUuHEB_dXvj9Of{?{LZl&tE zAvYG1ETVI2wvX2S5PEiFgs(r4KpVqeUOzVB^lMc1vMJENuh_crR_LOu0pGNM1+baq zjWD)ol~(({+7&U&lY#smdyr@6Vdai zc+czHfAp~?da5FLzz931y8(;oCJNb5!R7g!D4F!x<1v{f?X~ZTIZM#EuCXwfEoDuf z3evKjcdF8`Mr-BjgKqmlSN=P#TgR(JedqpFeAWyVOIGT6s?wB zrS{1MRz+~Y{N!6vv@*7r*72!L6P|i5a}boNaLS>ViPE`9V@KQwr5qqzd%qsimN*s z8#un>GqQgN{GhP0u<|gmvN5r7!dN-^*m?Lkc^Ft&_*htQVqfw7mkw4o#%3mN|9uC~ T{(wNB1B#TmoLI4_KKy?HW05Ov literal 0 HcmV?d00001 diff --git a/pictures/6.jpg b/pictures/6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5cc5383586a0c9d5fceb89c97f36785e4ed3b0a5 GIT binary patch literal 12639 zcmeHt2UJtr*6xM?p(9AIA|MC~(z^jUbODjxr76`2NE0!L3JL-O0@9^-klsal2kBCz zgx*6@DIs|q&pqd=@7(gtFZ2SSO1Z2{N-00$pLdkXk(FC1J59zFq-kcgNB>`;CNz{P<;aPc7c_;`3=Z(s0t z0FM%%id|5i;HD3z zNJ=UErl_Q>qN=8&tEX>ZXk=_{V|)9KoxOwGeRmH}FYgCWo<0i*eEuRRBJy=qbj+LB zxYV@tjLfX;oZOPqvhs?`s_L4i=9bpB_Kwc3!J*-i(XmhC6LZMrcymv5OM43l|R$f(Jdd3kTN|Y!FI3e0D(sDtT?FrOVm#LXQcl zuZ5=+Hxh9O-$c<^xegH1a*E7x?VOtS-LikrF#rE6%lfP?Y|CX98<;wVzz`0GX! zRpb?{f%^Qadic(G-DVIcQ+iZGO^_sa)^ac4FidAqQ6cDE>3LiVYvf_)MxEnaq5|%u>ATyql$pfsC<)OT!drxr(3C>n?dA#5Bjmbz>1!Yh=du37aAt?E{L`ggmK1z+W}B zy-jhIAyJDL=7N}kp#lM!6x+poywCc#7d-*zO(!% zM>i7;B^&5*^`{<3ZGqNcLp?um#5~&s-5N;60!YW(L9UVHbaSY#=uqS4r~W9r_Ju(P(Or)`4oByKnAQ z<8Ea)TN?^3ag1@pScNZNW`5RXCyyKH1wAdPLA>N||CqJYI@B)iqP5X^m-2x&1&V8Y zaTV3^ALzOiI=KV*IVU>WUEXx2WNmHJ$!1T-%jGRrDz?``Lq0xf%#6R@ zmmw;8`~KS8u+Xcn4>Y%239}4nP+yO{3X0H@J{+=b;XI+@*4>kpg2^9T4v04$ZM=I$ zHkyKX-pcmo1d+QtNhGQ-gSbA6p?z zX9pjB^-}G}O&bLl7dUhrl08XzL5K6{w-0*KZk-U8UJshb*$2jCYDbtg$3Xq+Ap93; z^giC_`Slf@z8s!NdlJM|-ncOQHd6{xkF^o$m6># zu6*frKI$g%&o|?5A4I8jos1C4%%Zd)vIi0$Mr8D8I)+*vysQz?$d=7mi1cPp`|HP%4!L7Wc-PK#Z8dh2_258Bs&;udF|l7iD_pPLtMCo* zh`&3v{h29KIO!_JXFr#Yk!+=|Ax3j}aFl765h-4=N9dbE!f}^LRgXo1G&Jh!3W+z; z(S|VkhUs)!bm~TV$wkVRN9z?xso7c5$S1AJa|I6_q%_`D3CSYuE5C<}P@tm=uX2G+j zema>fV?ZpzTSxQS^N|Vyh;)f7)4R<+iN1mxLuLK%%p7zMr|(SOeLoOVHGW)n-FiGRdEKnSRVSQR! zGLhp@!L{qD?;wS7^o&tS^|2CXgh1)J2zc2w)P_QW;B;D8RQ1y@9%e#+kq%-79U($w*6V5Kf_?4N%+8!fiMbpTOT)PGj)k_BTr)LG(<;-1* zOGDo*RkLu-m)F<$Gd!78kfwE%;Lzqrzcxf=^clYExJ3t_&ek8&DMRJQBwddX&HrYA z7yQCBFRd$!yYE`s(p>`=r(GdQ532a$6QhiL(>c~L-%uHD`g4RO+ z<#zuVvq8#OjFA5pTw1VvRsB{+5pwhxrh&S1`TfCU;w zVDl!**8TYfVjlMm7(n$j6VkAPU^}=Fh_(aMB6!=(J}eA1RNX!Ez4A~ZKHqNL4cx1q$+YN4^&*EP#Gp#Dtg(#JmulG&nnl1r9Hoi(!FE ziW4eFUNEa;oLXN=4Vu05S8CIkCpG=lEAYVh>Gwy6zx^}wN1@LVe&G3Ikat0lW4413 z8En*M{r&uC$!?v9MZ%y{Kv=Pz=>-w2VCh?KAG1$Wz4IURQ1*;q!|O5!~j z6*f)^A=>+`@cz0&R=<^HZyi#ecMB%AtL~Pt7pcu3VpS<@N*||cdp|tRh~e<2+PsSd z5Ftko5q%V-l#s1`qu&|7M~fPzcnKb|dY*tRG!|NLo#(BsL2+3Gk}t6QS>{u#i^RAc zvSAKE8g%N3*ZQ+2ucsvXMV~vk)EduJ`Z7YpqLrGsBhNm|$Pj+al34#9eRtPN_j73M zhvl3+UB-?b@-h)K85x(@qD(mN;AbUcBQ3ysXf#f4LT%$oGkE(Q9;yw)4c^?Z6)l4n zNA=Ag;yf{bVu}Tx?9-yY`bY0|F3ntTLvC4YcTH6;4xtMD%S~8q7JDx=#cdU*c(Us$ zsdD>W93lIhFFxvKYXTIu!2^j83!{gX5fjaFfg6G?F|HEFmq&&N)#2RZ=`JO%<6%r<2?7k9ZgPwhNF%TK z=E&6n2TG+HKS!@c2%=9&rAa;cKG1RrF|ui-o*!Dt(OO%i=KNPYfF_$=Amq zS$SBX>Bf+}7O;b*KWTfm{WvGic5UO%@FnZj;mw(3`^|j#Y2zHtv+nu*FJ0bAN3qSaaY{bk28l{Uz&D$QVy{L7`<`Md;GB zVg!S(kW>;qYd{7VariF4sl6Uec>2$q4Y9`(8HB2LjJytQIotS_%mMijh6T9z+8Vxs zUYn|M7tv%fmwZHD76w*Yus~2DOkw9jAVrG+y=iy;Y9}1_sV>%d6}P+MJd=GNIR%s^ z%5hhk?Ct{=nh>xAg9t#ZSbZskL9xw&#KJPDsbsst` zzzg!!Gd5K8K_%v?1v;-8Lxa%IL#KWX-}2ZupakK=gAprWM%q;eoBQ7`1AC@ya!hTm z6mnpwW@xd%$6zcF<%MVh?R;p01+EET^uQG)zFJ^#s4$^iJ^9b4ruH>1+6^oVbE{0P z`eg*z+~pnk31P#bK_HsvsN7*uITb3a%x1A33BF$60uuEaiIOhp`nX)P__>l zg#77ZFc?&}Hte6r0*mHssEpHY0{`w<)Bkj=w6zh$YuR+4#Cn>RAED@qKN8=OjY=Og zU?m(UN-EAC#k=uE4X~m&)4{?aEEXPDDtk% zvp=Rk7qpj`2)l{mD6R}}R&MsbMB_U2DHM%hw%%jwAIwf4v{kyxzp@~*soAbyW|Bwp zW{Vw;R7mh)ojqo()cb+}>QhG$or1k;Y!o-7;}Y_G2yX=Qq?t4ktFl04e^ArkCxEWAv2yfv|!8_E+c9uwE^ZnFDn=(^C}UMJZ+^bY@+r zt5>#6I#HIUk4&pICjD~Q(+khp4jp~&hd;vte!Ci4Y)>C*<>8!EBk@Z8PS%|-5=XOr z8K`FS%Y56)i&B?&hf__g4i!X|$YOH1kMfw{vHi7(`#y2?a}C6%t=TMy7Aj?ze5uVK zktJynSW{BL+RVbHT@urvj4VVs(@2@7t7* zjCvix$jz(AbIhF6xZbg#yMKd#L)31#(n}3h?e%w*&NO?kwCXTT^r*i zr+`TJNqcM>8;eCcyjq=js&s1|FP%@q>2NEeT81>S>x$R5>O70ox<2Yrj-@Sq#F7_r z+cW>ItFbb~jiqBU&i2-DP!JJ;(P2jwMnM!7Gsa>de61wrJp=4IQ7yJzD7g>q^z>jkSoI+|<~1lr zpB;2%7lgcjjdiCU2_0idoHO4&(;*~hf3~!`&(SEITwSjr9HYbYj zo#~U8;X|Al_vG0b7O!u*f-fFQpJd!cEG`s{m&kf1zd8X5W^jaIXwJSB?a&7IsLu&( zF&v_a7Efy&HpW07*J?)W1A|xqMGiw{!UALj80mZ|RCTqZZ${u31y9@%sWq&N9uiaKNCW&Gm5TKPiEdH7q(|lq~O!m|(Rm))#Vlf>yTQ)|WQKjM!fib4X=ccjL%Nnh~H%ae7x8M$hudrM>9d z#&NJ_yC--OxN#1ry!>{h7Ll<@J}%H5OezaG|B zPh3s$0t@VFmRlTKV}Z1r85VCC^`&e0z|i$HtPQcxj##u}L#1J;V4zO^2zpo4b3{|g z!fkPBV!jwK90Zk<>6q0GipmnM#^`^{|8#8JLulR3O8_(fGOSxRRLatWphI-T6d^uI zf%;jo+}6tgqsYR9sk?;*1{{sw^J9T<0dp+y&b=KI?9hcOLI+8SpLjKbp>(vK8LE@? zzO9^E+x$fr7q#|vE3oED`iH>%^_`ES6}HQ>Zt-Pa9OLI`ULpe)v(AT>V*ztv#0o*C z$rY0{gC^K6*NVkg^2*c6O~8DE?T~6;;1~*qpOx~0+{43%%HIEqKQsO@f1YwG4u}iy zGPSl`)9;F$2gmLQss9IPK3V}HJ4%PhHEZ=spYf@VJ+<0N&+N~M4FP-(L4dp|)E_o_ zkcDYuYB-6m$E}v02}q(EhG*5+3@S`%aj0^fr0PwzEF=&>B3E@J_V{QRTx;V>2<#HI zD}*oN6eqA5H&&uTlbPD?-YT!7G;F*>UsYi+xwy?$-9J4o1RGyp**?%?CBXu3#W5Nh zSfF)`FAaSa)jAe}*3Qz%yjxa$%srmAx5y;kVpL5Q8M$t#mVCaxS2ov|JYc9%-vQ2u zGOnBeH11ieN5i?=wpr^&NSou%&`K9g;dek?N6`f?#^QFVPP)WI}gnx#FSZ9=2Uea|0$ zG3naTpq7k&v3IG&Z=`hG!>^!ADr_O%bv3rRtKxB`UXN79$(p+=-i?=OKTnLjvrQfT zm{nCz@{*P;et6pFal7uCuBFl0&wO>o3bw#x09(^NkC(F*D=Z1*_shccP0(wqMl)7G`nb{kQuqIIr~0OlDP)em8|iim1z zH*!ZWHoON%!TGC;bZ38HM5>tSp`B?Y6D`R->K#k=EyhDK9K(#rpf> zqU)?7k6S(T?5AR?!1DHoQ@{K-2*l)P0uc@QnLy(H69n?3Fgqm^0LI5lXt->dH4KD-i4PfO~(00 z1VzHruaC>*M)ShN;eBtV^wJz0v#&%Io_+mU=GmFe$*60S@@-0TTfPn_)HsnYDXmwd z#Nzl1ttyjL&7GgQor{W1)YP4&TFxXF?6rs+onF5)aW2R?(AE1nll>Ql6^94fYMnS> z2qSEJCHAi3-iqMa7YQO915A?gm@VPyA|oStOPnD5TN%N{p8P%SIh+xyd1iL4wDKPE zckF4Nh14ei&u@iT$!Xrpy#kBU`klysKMT=U4nizwk2b8g!B2qEdK<4SFq}DJ>TZM4 zk?eZKtxBcJr-%jhkKnSvPh(hxBhxQ?W^eZ(bnjmjV$}XYA?7bmC2&tqXF&1!V>$Jw z&on>ph|TrqsBeESHiaPOiVOO{SXCrZ3^LHIKZ>%}UbUFt3Vbk)V{Av4^8}h^c6nAB zzRXi#{P;Z0OJZ)KwsI^921G~F-?bUe-nBV*XYxW-qSQ>g@!eQ^s~WM`^OM(JyQ_+-$p@#3woB;dZFVI>SsSO)fS>-8&BSOJ_20axz+Mw1HKiJ0jJ+Q#w zgK7or^RLEH9<}$Ru;oZkt**yNgHebz27Hu48O<{@-*AMp`W;VL{@@mCm$Is&n-3b) zRdTWdSO7QdK)azGu@5;_i#(^@Y z6Mb*T-1~Y{N{ui62LvHMK|AW@pW8^k9~F*FKBRUpI@$qapq!}s&vWJFn0T#g4;Ecw zQXCxMxAamcDSgGD(y#SE>#S-)@!x4~19XfP^^( z4HQu}c&$sa{hU0~p|-dF&?U8M`|~B|K!*Br)BLe{{^}j106CJs*uQ_)Cry0>)Y6F~WFPQePDwO|h;J^KbdvoyS5P>V~r;=x(z}(Ca=MHPiHn&0W zSN@&nn!up_79SLRKl1fYp9?vfXLfJaf%(u~wj<6lxM^PjD43g$wletBa_p^qs$Je| zT~++-2h16g`w<6)FNXw_iLVr@V`yOhh!s$rMd~1S?jxGAP+BKAi0_)I`hDKgRqMjk zYBo^55rNy5`*-m)06IWgBWxcJJdez2IH*DB?UDZ*-LB>>F}Is3y24PoGN90s)B0Uk zrD154K?LCV-x2s4^hk!*1T8eo=^Sul{E`nv#jyaLGMX0wPWKVK?m{N`Y{JS>(Hl1w zXPVBx0fzleSVxQK<}8MGN2DhK`J{A=$md)&(mxIn9t zf3OPnGk}qY&2QH2{#dU+(EdDq?qQ(d=zwX=uV8s)bjk>)41oV1Z2yc+{=k|gmK8UPKQ&(5B$ z3PQ@Fs@(g8VErGD{R!7DG9qE6B+p|x4M-N>!J{gDrNZWo)G zBV6bY2_(^R|UYY3r!jgM7e|4wv($KVtJoELgP0kfyqEVGwg87x?@+)!*n!dvuhHGa+ zg!-8DD~s!H6i-wPVr)1(S{a-+HzRyCu6!zZA4{6&#z5)UQS#}!4W0@oza^eZkB#XU z2+MQkCsHxP?6fiBXSS+o*Nh^j;J4WooFTPml%Q2Pza7?i$>b;vQ!LROlB?1~$3l~k z)q?Jhj%jN#m2+F^Rrcw;PB!HoCN5RHD(biLZ{6+J39=2Tk8s@atrr>pf~R}Ov}Leq zqvc6RHI5(^KjCa-A3osjNjExLOS-4XSaJ1ExGw1{sLs?Yi7iFBqv=@cRLPpQPn z>FtMvuADoQCdqmBrF*a21JS%h@#Z1ryJnds6~_uEiRsb?jyx1~c)-FwEQ8T$Y3yd1 zV_;R8pKx}lXIYS7LlO;%Bv)~xtfmIwZXgvB6`{)Yd01?xJ!D(tG4-9S3&Cb;ZO8Vd zb(K}58Lykq-IJ5x=9md;t*@;b64-{bj*`5vDz7wL7+)k15D79s^vJQXb0nL8aUGSF z|I)ElV_pQv=f*FsA=}uK&w-@MQBJ z$Jt+g!wt6AzS?HL^)jaeA?w!%KyMvV$hlN9EYnE!&6aeN6p}-DrV6$MJJ53I2gCa} z@F=U}tXwWVGMwn>_ET+K4|N&xSLPl}mQgZ%!>$-FNzP z^=d5KDT3o&*-(#bO&-C7X~*Y#IP>9gtJ!Z!YZGau<7C*Kol)->*-d{rUYh Y7)nm-YyT{ioDTA*u>22vhGNJ67yhhcrT_o{ literal 0 HcmV?d00001 diff --git a/pictures/7.jpg b/pictures/7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..17405c38762c974918ca0bc14b1f0c59aeb8fd21 GIT binary patch literal 33394 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 Lbt!?6AN&3bby#aB literal 0 HcmV?d00001 diff --git a/pictures/8.jpg b/pictures/8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0b67bf71a9b34dc0185c1dd1314eb97825a95517 GIT binary patch literal 20280 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 literal 0 HcmV?d00001 From ec0d5922bb7a1bc9e822e778ee47e3edb36e883f Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 20:40:30 +0800 Subject: [PATCH 25/26] Add files via upload --- ...45\350\257\206\346\200\273\347\273\223.md" | 340 +++++++++++++++++- 1 file changed, 330 insertions(+), 10 deletions(-) diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" index 6fc1d80..da89dc4 100644 --- "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" +++ "b/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" @@ -1,8 +1,8 @@ -**Kafka鐭ヨ瘑鎬荤粨** +# **Kafka鐭ヨ瘑鎬荤粨** -**1.璁茶acks鍙傛暟瀵规秷鎭寔涔呭寲鐨勫奖鍝** +## **涓銆佽璁瞐cks鍙傛暟瀵规秷鎭寔涔呭寲鐨勫奖鍝** -**鐩綍** +### **鐩綍** 1. 鍐欏湪鍓嶉潰 2. 濡備綍淇濊瘉瀹曟満鏃舵暟鎹笉涓㈠け锛 @@ -11,7 +11,7 @@ 5. acks鍙傛暟鐨勫惈涔夛紵 6. 鏈鍚庣殑鎬濊 -**1.鍐欏湪鍓嶉潰** +### **1.鍐欏湪鍓嶉潰** 闈㈣瘯澶у巶鏃讹紝涓鏃︾畝鍘嗕笂鍐欎簡Kafka锛屽嚑涔庡繀鐒朵細琚棶鍒颁竴涓棶棰橈細璇磋acks鍙傛暟瀵规秷鎭寔涔呭寲鐨勫奖鍝嶏紵 @@ -19,7 +19,7 @@ 鎵浠ユ棤璁烘槸涓轰簡闈㈣瘯杩樻槸瀹為檯椤圭洰浣跨敤锛屽ぇ瀹堕兘鍊煎緱鐪嬩竴涓嬭繖绡囨枃绔犲Kafka鐨刟cks鍙傛暟鐨勫垎鏋愶紝浠ュ強鑳屽悗鐨勫師鐞嗐 -**2.濡備綍淇濊瘉瀹曟満鐨勬椂鍊欐暟鎹笉涓㈠け锛燂紙鎴栬卥afka濡備綍淇濊瘉楂樺彲鐢ㄣ佹垨鑰匥afka濡備綍淇濊瘉楂樺彲鐢級** +### **2.濡備綍淇濊瘉瀹曟満鐨勬椂鍊欐暟鎹笉涓㈠け锛燂紙鎴栬卥afka濡備綍淇濊瘉楂樺彲鐢ㄣ佹垨鑰匥afka濡備綍淇濊瘉楂樺彲鐢級** - Kafka 涓涓渶鍩烘湰鐨勬灦鏋勮璇嗭細鐢卞涓 broker 缁勬垚锛屾瘡涓 broker 鏄竴涓妭鐐癸紱鍒涘缓涓涓 topic锛岃繖涓 topic 鍙互鍒掑垎涓哄涓 partition锛屾瘡涓 partition 鍙互瀛樺湪浜庝笉鍚岀殑 broker 涓婏紝姣忎釜 partition 灏辨斁涓閮ㄥ垎鏁版嵁銆 @@ -31,7 +31,7 @@ ![]() -3.**澶氬壇鏈箣闂存暟鎹浣曚繚璇佸悓姝** +### 3.**澶氬壇鏈箣闂存暟鎹浣曚繚璇佸悓姝** 鍏跺疄浠讳綍涓涓狿artition锛屽彧鏈塋eader鏄澶栨彁渚涜鍐欐湇鍔$殑锛屼篃灏辨槸璇达紝濡傛灉鏈変竴涓鎴风寰涓涓狿artition鍐欏叆鏁版嵁锛屾鏃朵竴鑸氨鏄啓鍏ヨ繖涓狿artition鐨凩eader鍓湰銆 @@ -39,7 +39,7 @@ ![]() -**4.ISR鍒板簳鎸囩殑鏄粈涔堜笢瑗匡紵** +### **4.ISR鍒板簳鎸囩殑鏄粈涔堜笢瑗匡紵** ISR鍏ㄧО鏄淚n-Sync Replicas鈥濓紝涔熷氨鏄**淇濇寔鍚屾鐨勫壇鏈**锛屼粬鐨勫惈涔夊氨鏄紝璺烲eader濮嬬粓淇濇寔鍚屾鐨凢ollower鏈夊摢浜涖 @@ -49,7 +49,7 @@ ISR鍏ㄧО鏄淚n-Sync Replicas鈥濓紝涔熷氨鏄**淇濇寔鍚屾鐨勫壇鏈**锛屼粬鐨 鎵浠ユ瘡涓狿artition閮芥湁涓涓狪SR锛岃繖涓狪SR閲屼竴瀹氫細鏈塋eader鑷繁锛屽洜涓篖eader鑲畾鏁版嵁鏄渶鏂扮殑锛岀劧鍚庡氨鏄偅浜涜窡Leader淇濇寔鍚屾鐨凢ollower锛屼篃浼氬湪ISR閲屻 -**5.acks鍙傛暟鐨勫惈涔** +### **5.acks鍙傛暟鐨勫惈涔** 棣栧厛杩欎釜acks鍙傛暟锛屾槸鍦↘afkaProducer锛屼篃灏辨槸鐢熶骇鑰呭鎴风閲岃缃殑 @@ -79,7 +79,7 @@ ISR鍏ㄧО鏄淚n-Sync Replicas鈥濓紝涔熷氨鏄**淇濇寔鍚屾鐨勫壇鏈**锛屼粬鐨 ![]() -**6.鏈鍚庣殑鎬濊** +### **6.鏈鍚庣殑鎬濊** acks=all 灏卞彲浠ヤ唬琛ㄦ暟鎹竴瀹氫笉浼氫涪澶变簡鍚楋紵 @@ -91,4 +91,324 @@ acks=all 灏卞彲浠ヤ唬琛ㄦ暟鎹竴瀹氫笉浼氫涪澶变簡鍚楋紵 杩欐牱鎵嶈兘淇濊瘉璇村啓涓鏉℃暟鎹繃鍘伙紝涓瀹氭槸2涓互涓婄殑鍓湰閮芥敹鍒颁簡鎵嶇畻鏄垚鍔燂紝姝ゆ椂浠讳綍涓涓壇鏈畷鏈猴紝涓嶄細瀵艰嚧鏁版嵁涓㈠け銆 -鍙傝冿細https://mp.weixin.qq.com/s/IxS46JAr7D9sBtCDr8pd7A \ No newline at end of file +**鍙傝**锛歨ttps://mp.weixin.qq.com/s/IxS46JAr7D9sBtCDr8pd7A + +## 浜屻並afka鍙傛暟璋冧紭瀹炴垬 + +### 鐩綍 + +1. 鑳屾櫙寮曞叆锛氬緢澶氬悓瀛︾湅涓嶆噦鐨凨afka鍙傛暟 +2. 涓娈礙afka鐢熶骇绔殑绀轰緥浠g爜 +3. 鍐呭瓨缂撳啿鐨勫ぇ灏 +4. 澶氬皯鏁版嵁鎵撳寘涓轰竴涓狟atch鍚堥傦紵 +5. 瑕佹槸涓涓狟atch杩熻繜鏃犳硶鍑戞弧鎬庝箞鍔烇紵 +6. 鏈澶ц姹傚ぇ灏 +7. 閲嶈瘯鏈哄埗 +8. 鎸佷箙鍖栨満鍒 + +#### 1銆佽儗鏅紩鍏ワ細寰堝鍚屽鐪嬩笉鎳傜殑kafka鍙傛暟 + +鍦ㄤ娇鐢↘afka鐨勫鎴风缂栧啓浠g爜涓庢湇鍔″櫒浜や簰鐨勬椂鍊欙紝鏄渶瑕佸瀹㈡埛绔缃緢澶氱殑鍙傛暟鐨勩 + +#### 2銆佷竴娈礙afka鐢熶骇绔殑绀轰緥浠g爜 + +```scala +Properties props = new Properties(); +props.put("bootstrap.servers", "localhost:9092"); +props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); +props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer"); +props.put("buffer.memory", 67108864); +props.put("batch.size", 131072); +props.put("linger.ms", 100); +props.put("max.request.size", 10485760); +props.put("acks", "1"); +props.put("retries", 10); +props.put("retry.backoff.ms", 500); + +KafkaProducer producer = new KafkaProducer(props); +``` + +#### 3銆佸唴瀛樼紦鍐茬殑澶у皬 + +棣栧厛鐪嬬湅鈥**buffer.memory**鈥濊繖涓弬鏁版槸浠涔堟剰鎬濓紵 + +Kafka鐨勫鎴风鍙戦佹暟鎹埌鏈嶅姟鍣紝涓鑸兘鏄缁忚繃**缂撳啿**鐨勶紝涔熷氨鏄锛**閫氳繃KafkaProducer鍙戦佸嚭鍘荤殑娑堟伅閮芥槸鍏堣繘鍏ュ埌瀹㈡埛绔湰鍦扮殑鍐呭瓨缂撳啿閲岋紝鐒跺悗鎶婂緢澶氭秷鎭敹闆嗘垚涓涓竴涓殑Batch锛屽啀鍙戦佸埌Broker涓婂幓鐨**銆 + +![]() + +鎵浠ヨ繖涓**buffer.memory鈥濈殑鏈川灏辨槸鐢ㄦ潵绾︽潫KafkaProducer鑳藉浣跨敤鐨勫唴瀛樼紦鍐茬殑澶у皬鐨勶紝浠栫殑榛樿鍊兼槸32MB**銆 + +浣犲彲浠ュ厛鎯充竴涓嬶紝濡傛灉杩欎釜鍐呭瓨缂撳啿璁剧疆鐨勮繃灏忕殑璇濓紝鍙兘浼氬鑷翠竴涓粈涔堥棶棰橈紵 + +棣栧厛瑕佹槑纭竴鐐癸紝閭e氨鏄湪鍐呭瓨缂撳啿閲屽ぇ閲忕殑娑堟伅浼氱紦鍐插湪閲岄潰锛屽舰鎴愪竴涓竴涓殑Batch锛屾瘡涓狟atch閲屽寘鍚鏉℃秷鎭 + +鐒跺悗KafkaProducer鏈変竴涓猄ender绾跨▼浼氭妸澶氫釜Batch鎵撳寘鎴愪竴涓猂equest鍙戦佸埌Kafka鏈嶅姟鍣ㄤ笂鍘汇 + +![]() + +閭d箞濡傛灉瑕佹槸**鍐呭瓨璁剧疆鐨勫お灏**锛屽彲鑳**瀵艰嚧涓涓棶棰**锛氭秷鎭揩閫熺殑鍐欏叆鍐呭瓨缂撳啿閲岄潰锛屼絾鏄疭ender绾跨▼鏉ヤ笉鍙婃妸Request鍙戦佸埌Kafka鏈嶅姟鍣ㄣ + +杩欐牱鏄笉鏄細閫犳垚鍐呭瓨缂撳啿寰堝揩灏辫鍐欐弧锛熶竴鏃﹁鍐欐弧锛屽氨浼氶樆濉炵敤鎴风嚎绋嬶紝涓嶈缁х画寰Kafka鍐欐秷鎭簡銆 + +鎵浠ュ浜庘渂uffer.memory鈥濊繖涓弬鏁板簲璇ョ粨鍚堣嚜宸辩殑瀹為檯鎯呭喌鏉ヨ繘琛屽帇娴嬶紝浣犻渶瑕佹祴绠椾竴涓嬪湪鐢熶骇鐜锛屼綘鐨勭敤鎴风嚎绋嬩細浠ユ瘡绉掑灏戞秷鎭殑棰戠巼鏉ュ啓鍏ュ唴瀛樼紦鍐层 + +姣斿璇存瘡绉300鏉℃秷鎭紝閭d箞浣犲氨闇瑕佸帇娴嬩竴涓嬶紝鍋囪鍐呭瓨缂撳啿灏32MB锛屾瘡绉掑啓300鏉℃秷鎭埌鍐呭瓨缂撳啿锛屾槸鍚︿細缁忓父鎶婂唴瀛樼紦鍐插啓婊★紵缁忚繃杩欐牱鐨勫帇娴嬶紝浣犲彲浠ヨ皟璇曞嚭鏉ヤ竴涓悎鐞嗙殑鍐呭瓨澶у皬銆 + +#### 4銆佸灏戞暟鎹墦鍖呬负涓涓狟atch鍚堥傦紵 + +鎺ョ潃浣犻渶瑕佹濊冪浜屼釜闂锛屽氨鏄綘鐨勨**batch.size**鈥濆簲璇ュ浣曡缃紵**杩欏喅瀹氫簡浣犵殑姣忎釜Batch瑕佸瓨鏀惧灏戞暟鎹氨鍙互鍙戦佸嚭鍘讳簡**銆 + +姣斿璇翠綘瑕佹槸缁欎竴涓狟atch璁剧疆鎴愭槸16KB鐨勫ぇ灏忥紝閭d箞閲岄潰鍑戝16KB鐨勬暟鎹氨鍙互鍙戦佷簡銆 + +杩欎釜**鍙傛暟鐨勯粯璁ゅ兼槸16KB**锛屼竴鑸彲浠ュ皾璇曟妸杩欎釜鍙傛暟璋冭妭澶т竴浜涳紝鐒跺悗鍒╃敤鑷繁鐨勭敓浜х幆澧冨彂娑堟伅鐨勮礋杞芥潵娴嬭瘯涓涓嬨 + +姣斿璇村彂閫佹秷鎭殑棰戠巼灏辨槸姣忕300鏉★紝閭d箞濡傛灉姣斿鈥渂atch.size鈥濊皟鑺傚埌浜32KB锛屾垨鑰64KB锛屾槸鍚﹀彲浠ユ彁鍗囧彂閫佹秷鎭殑鏁翠綋鍚炲悙閲忋 + +鍥犱负鐞嗚涓婃潵璇达紝鎻愬崌batch鐨勫ぇ灏忥紝鍙互鍏佽鏇村鐨勬暟鎹紦鍐插湪閲岄潰锛岄偅涔堜竴娆equest鍙戦佸嚭鍘荤殑鏁版嵁閲忓氨鏇村浜嗭紝杩欐牱鍚炲悙閲忓彲鑳戒細鏈夋墍鎻愬崌銆 + +浣嗘槸**涓嶈兘鏃犻檺鐨勫ぇ**锛岃繃浜庡ぇ浜嗕箣鍚庯紝瑕佹槸鏁版嵁鑰佹槸缂撳啿鍦˙atch閲岃繜杩熶笉鍙戦佸嚭鍘伙紝閭d箞宀備笉鏄綘鍙戦佹秷鎭殑寤惰繜灏变細寰堥珮锛**瀵艰嚧楂樺欢杩熼棶棰**銆 + +姣斿璇达紝涓鏉℃秷鎭繘鍏ヤ簡Batch锛屼絾鏄绛夊緟5绉掗挓Batch鎵嶅噾婊′簡64KB锛屾墠鑳藉彂閫佸嚭鍘汇傞偅杩欐潯娑堟伅鐨勫欢杩熷氨鏄5绉掗挓銆 + +鎵浠ラ渶瑕佸湪杩欓噷鎸夌収鐢熶骇鐜鐨勫彂娑堟伅鐨勯熺巼锛岃皟鑺備笉鍚岀殑Batch澶у皬鑷繁娴嬭瘯涓涓嬫渶缁堝嚭鍘荤殑鍚炲悙閲忎互鍙婃秷鎭殑 寤惰繜锛岃缃竴涓渶鍚堢悊鐨勫弬鏁般 + +#### 5銆佽鏄竴涓狟atch杩熻繜鏃犳硶鍑戞弧鎬庝箞鍔烇紵 + +瑕佹槸涓涓狟atch杩熻繜鏃犳硶鍑戞弧锛屾鏃跺氨闇瑕佸紩鍏ュ彟澶栦竴涓弬鏁颁簡锛屸**linger.ms**鈥 + +**鍚箟鏄竴涓狟atch琚垱寤轰箣鍚庯紝鏈澶氳繃澶氫箙锛屼笉绠¤繖涓狟atch鏈夋病鏈夊啓婊★紝閮藉繀椤诲彂閫佸嚭鍘讳簡**銆 + +缁欏ぇ瀹朵妇涓緥瀛愶紝姣斿璇碽atch.size鏄16kb锛屼絾鏄幇鍦ㄦ煇涓綆宄版椂闂存锛屽彂閫佹秷鎭緢鎱€ + +杩欏氨瀵艰嚧鍙兘Batch琚垱寤轰箣鍚庯紝闄嗛檰缁画鏈夋秷鎭繘鏉ワ紝浣嗘槸杩熻繜鏃犳硶鍑戝16KB锛岄毦閬撴鏃跺氨涓鐩寸瓑鐫鍚楋紵 + +褰撶劧涓嶆槸锛屽亣璁句綘鐜板湪璁剧疆鈥渓inger.ms鈥濇槸50ms锛岄偅涔堝彧瑕佽繖涓狟atch浠庡垱寤哄紑濮嬪埌鐜板湪宸茬粡杩囦簡50ms浜嗭紝鍝曚粬杩樻病婊16KB锛屼篃瑕佸彂閫佷粬鍑哄幓浜嗐 + +鎵浠モ渓inger.ms鈥濆喅瀹氫簡浣犵殑娑堟伅涓鏃﹀啓鍏ヤ竴涓狟atch锛屾渶澶氱瓑寰呰繖涔堝鏃堕棿锛屼粬涓瀹氫細璺熺潃Batch涓璧峰彂閫佸嚭鍘汇 + +閬垮厤涓涓狟atch杩熻繜鍑戜笉婊★紝瀵艰嚧娑堟伅涓鐩寸Н鍘嬪湪鍐呭瓨閲屽彂閫佷笉鍑哄幓鐨勬儏鍐点**杩欐槸涓涓緢鍏抽敭鐨勫弬鏁般** + +杩欎釜鍙傛暟涓鑸闈炲父鎱庨噸鐨勬潵璁剧疆锛岃閰嶅悎batch.size涓璧锋潵璁剧疆銆 + +涓句釜渚嬪瓙锛岄鍏堝亣璁句綘鐨凚atch鏄32KB锛岄偅涔堜綘寰椾及绠椾竴涓嬶紝姝e父鎯呭喌涓嬶紝涓鑸涔呬細鍑戝涓涓狟atch锛屾瘮濡傛甯告潵璇村彲鑳20ms灏变細鍑戝涓涓狟atch銆 + +閭d箞浣犵殑linger.ms灏卞彲浠ヨ缃负25ms锛屼篃灏辨槸璇达紝姝e父鏉ヨ锛屽ぇ閮ㄥ垎鐨凚atch鍦20ms鍐呴兘浼氬噾婊★紝浣嗘槸浣犵殑linger.ms鍙互淇濊瘉锛屽摢鎬曢亣鍒颁綆宄版椂鏈燂紝20ms鍑戜笉婊′竴涓狟atch锛岃繕鏄細鍦25ms涔嬪悗寮哄埗Batch鍙戦佸嚭鍘汇 + +濡傛灉瑕佹槸浣犳妸linger.ms璁剧疆鐨勫お灏忎簡锛屾瘮濡傝榛樿灏辨槸0ms锛屾垨鑰呬綘璁剧疆涓5ms锛岄偅鍙兘瀵艰嚧浣犵殑Batch铏界劧璁剧疆浜32KB锛屼絾鏄粡甯告槸杩樻病鍑戝32KB鐨勬暟鎹紝5ms涔嬪悗灏辩洿鎺ュ己鍒禕atch鍙戦佸嚭鍘伙紝杩欐牱涔熶笉澶ソ鍏跺疄锛屼細瀵艰嚧浣犵殑Batch褰㈠悓铏氳锛屼竴鐩村噾涓嶆弧鏁版嵁銆 + +#### 6銆佹渶澶ц姹傚ぇ灏 + +**鈥渕ax.request.size鈥濊繖涓弬鏁板喅瀹氫簡姣忔鍙戦佺粰Kafka鏈嶅姟鍣ㄨ姹傜殑鏈澶уぇ灏**锛屽悓鏃朵篃浼氶檺鍒朵綘涓鏉℃秷鎭殑鏈澶уぇ灏忎篃涓嶈兘瓒呰繃杩欎釜鍙傛暟璁剧疆鐨勫硷紝杩欎釜鍏跺疄鍙互鏍规嵁浣犺嚜宸辩殑娑堟伅鐨勫ぇ灏忔潵鐏垫椿鐨勮皟鏁淬 + +缁欏ぇ瀹朵妇涓緥瀛愶紝浣犱滑鍏徃鍙戦佺殑娑堟伅閮芥槸閭g澶х殑鎶ユ枃娑堟伅锛屾瘡鏉℃秷鎭兘鏄緢澶氱殑鏁版嵁锛屼竴鏉℃秷鎭彲鑳介兘瑕20KB銆 + +姝ゆ椂浣犵殑batch.size鏄笉鏄氨闇瑕佽皟鑺傚ぇ涓浜涳紵姣斿璁剧疆涓512KB锛熺劧鍚庝綘鐨刡uffer.memory鏄笉鏄缁欑殑澶т竴浜涳紵姣斿璁剧疆涓128MB锛 + +鍙湁杩欐牱锛屾墠鑳借浣犲湪澶ф秷鎭殑鍦烘櫙涓嬶紝杩樿兘浣跨敤Batch鎵撳寘澶氭潯娑堟伅鐨勬満鍒躲備絾鏄鏃垛渕ax.request.size鈥濇槸涓嶆槸涔熷緱鍚屾澧炲姞锛 + +鍥犱负鍙兘浣犵殑涓涓姹傛槸寰堝ぇ鐨勶紝榛樿浠栨槸1MB锛屼綘鏄笉鏄彲浠ラ傚綋璋冨ぇ涓浜涳紝姣斿璋冭妭鍒5MB锛 + +#### 7銆侀噸璇曟満鍒 + +**鈥渞etries鈥濆拰鈥渞etries.backoff.ms鈥濆喅瀹氫簡閲嶈瘯鏈哄埗锛屼篃灏辨槸濡傛灉涓涓姹傚け璐ヤ簡鍙互閲嶈瘯鍑犳锛屾瘡娆¢噸璇曠殑闂撮殧鏄灏戞绉**銆 + +杩欎釜澶у閫傚綋璁剧疆鍑犳閲嶈瘯鐨勬満浼氾紝缁欎竴瀹氱殑閲嶈瘯闂撮殧鍗冲彲锛屾瘮濡傜粰100ms鐨勯噸璇曢棿闅斻 + +#### 8銆佹寔涔呭寲鏈哄埗 + +鈥渁cks鈥濆弬鏁板喅瀹氫簡鍙戦佸嚭鍘荤殑娑堟伅瑕侀噰鐢ㄤ粈涔堟牱鐨勬寔涔呭寲绛栫暐锛岃繖涓秹鍙婂埌浜嗗緢澶氬叾浠栫殑姒傚康锛屽ぇ瀹跺彲浠ュ弬鑰冧箣鍓嶄笓闂ㄤ负鈥渁cks鈥濆啓杩囩殑涓绡囨枃绔犮 + +**鍙傝**锛歔](https://mp.weixin.qq.com/s/YLrGg-jx5ddmHECmdccppw) + +## 涓夈佹秷鎭腑闂翠欢娑堣垂鍒扮殑娑堟伅澶勭悊澶辫触鎬庝箞鍔烇紵 + +娑堟伅涓棿浠舵渶鏍稿績鐨勪綔鐢ㄦ槸锛氳В鑰︺佸紓姝ャ佸墛宄般 + +鍋囧鏈夊涓嬬殑绯荤粺锛 + +![]() + +鐢熶骇涓瓨鍦ㄨ繖绉嶆儏鍐碉細濡傛灉鐙珛浠撳簱绯荤粺鎴栬呯涓夋柟鐗╂祦绯荤粺鏁呴殰浜嗭紝瀵艰嚧浠撳偍绯荤粺娑堣垂鍒颁竴鏉¤鍗曟秷鎭箣鍚庯紝灏濊瘯杩涜鍙戣揣澶辫触锛屼篃灏辨槸瀵硅繖鏉℃秷璐瑰埌鐨勬秷鎭鐞嗗け璐ャ傝繖绉嶆儏鍐碉紝鎬庝箞澶勭悊锛 + +#### 姝讳俊闃熷垪鐨勪娇鐢細澶勭悊澶辫触鐨勬秷鎭 + +涓鑸敓浜х幆澧冧腑锛屽鏋滀綘鏈変赴瀵岀殑鏋舵瀯璁捐缁忛獙锛岄兘浼氬湪浣跨敤MQ鐨勬椂鍊欒璁′袱涓槦鍒楋細涓涓槸**鏍稿績涓氬姟闃熷垪**锛屼竴涓槸**姝讳俊闃熷垪**銆 + +鏍稿績涓氬姟闃熷垪锛屽氨鏄瘮濡備笂闈笓闂ㄧ敤鏉ヨ璁㈠崟绯荤粺鍙戦佽鍗曟秷鎭殑锛岀劧鍚庡彟澶栦竴涓淇¢槦鍒楀氨鏄敤鏉ュ鐞嗗紓甯告儏鍐电殑銆 + +闈㈣瘯琚棶鍒拌繖涓棶棰樻椂锛屽繀椤昏缁撳悎浣犺嚜宸辩殑涓氬姟瀹炶返缁忛獙鏉ヨ銆 + +姣斿璇磋鏄涓夋柟鐗╂祦绯荤粺鏁呴殰浜嗭紝姝ゆ椂鏃犳硶璇锋眰锛岄偅涔堜粨鍌ㄧ郴缁熸瘡娆℃秷璐瑰埌涓鏉¤鍗曟秷鎭紝灏濊瘯閫氱煡鍙戣揣鍜岄厤閫侊紝閮戒細閬囧埌瀵规柟鐨勬帴鍙f姤閿欍 + +姝ゆ椂浠撳偍绯荤粺灏卞彲浠ユ妸杩欐潯娑堟伅鎷掔粷璁块棶锛屾垨鑰呮爣蹇椾綅澶勭悊澶辫触锛**娉ㄦ剰锛岃繖涓楠ゅ緢閲嶈銆** + +涓鏃︽爣蹇楄繖鏉℃秷鎭鐞嗗け璐ヤ簡涔嬪悗锛孧Q灏变細鎶婅繖鏉℃秷鎭浆鍏ユ彁鍓嶈缃ソ鐨勪竴涓淇¢槦鍒椾腑銆 + +鐒跺悗浣犱細鐪嬪埌鐨勫氨鏄紝鍦ㄧ涓夋柟鐗╂祦绯荤粺鏁呴殰鏈熼棿锛屾墍鏈夎鍗曟秷鎭叏閮ㄥ鐞嗗け璐ワ紝鍏ㄩ儴浼氳浆鍏ユ淇¢槦鍒椼 + +鐒跺悗浣犵殑浠撳偍绯荤粺寰椾笓闂ㄦ湁涓涓悗鍙扮嚎绋嬶紝鐩戞帶绗笁鏂圭墿娴佺郴缁熸槸鍚︽甯革紝鑳藉惁璇锋眰鐨勶紝涓嶅仠鐨勭洃瑙嗐 + +涓鏃﹀彂鐜板鏂规仮澶嶆甯革紝杩欎釜鍚庡彴绾跨▼灏变粠姝讳俊闃熷垪娑堣垂鍑烘潵澶勭悊澶辫触鐨勮鍗曪紝閲嶆柊鎵ц鍙戣揣鍜岄厤閫佺殑閫氱煡閫昏緫銆 + +**姝讳俊闃熷垪鐨勪娇鐢紝鍏跺疄灏辨槸MQ鍦ㄧ敓浜у疄璺典腑闈炲父閲嶈鐨勪竴鐜紝涔熷氨鏄灦鏋勮璁″繀椤昏鑰冭檻鐨**銆 + +鏁翠釜杩囩▼锛屽涓嬪浘鎵绀猴細 + +![]() + +## 鍥涖並afka閫変妇 + +Kafka涓殑閫変妇澶ц嚧鍙互鍒嗕负涓夊ぇ绫伙細 + +- 鎺у埗鍣ㄧ殑閫変妇 +- 鍒嗗尯leader鐨勯変妇 +- 娑堣垂鑰呯浉鍏崇殑閫変妇 + +#### 1銆佹帶鍒跺櫒閫変妇 + +鍦↘afka闆嗙兢涓細鏈変竴涓垨澶氫釜broker锛屽叾涓湁涓涓猙roker浼氳閫変妇涓烘帶鍒跺櫒锛圞afka Controller锛夛紝瀹冭礋璐g鐞嗘暣涓泦缇や腑鎵鏈夊垎鍖哄拰鍓湰鐨勭姸鎬佺瓑宸ヤ綔銆 + +姣斿**褰撴煇涓垎鍖虹殑leader鍓湰鍑虹幇鏁呴殰鏃讹紝鐢辨帶鍒跺櫒璐熻矗涓鸿鍒嗗尯閫変妇鏂扮殑leader鍓湰**銆傚啀姣斿褰撴娴嬪埌鏌愪釜鍒嗗尯鐨処SR闆嗗悎鍙戠敓鍙樺寲鏃讹紝鐢辨帶鍒跺櫒璐熻矗閫氱煡鎵鏈塨roker鏇存柊鍏跺厓鏁版嵁淇℃伅銆 + +Kafka Controller鐨勯変妇鏄緷璧朲ookeeper鏉ュ疄鐜扮殑锛屽湪Kafka闆嗙兢涓偅涓猙roker鑳藉鎴愬姛鍒涘缓/controller杩欎釜涓存椂锛圗phemeral锛夎妭鐐逛粬灏卞彲浠ユ垚涓篕afka Controller銆 + +杩欓噷闇瑕佽鏄庝竴涓嬬殑鏄疜afka Controller鐨勫疄鐜拌繕鏄浉褰撳鏉傜殑锛屾秹鍙婂埌鍚勪釜鏂归潰鐨勫唴瀹癸紝濡傛灉浣犳帉鎻′簡Kafka Controller锛屼綘灏辨帉鎻′簡Kafka鐨勨滃崐澹佹睙灞扁濄 + +#### 2銆佸垎鍖簂eader鐨勯変妇 + +鍒嗗尯leader鍓湰鐨勯変妇**鐢盞afka Controller 璐熻矗鍏蜂綋瀹炴柦**銆 + +褰撳垱寤哄垎鍖猴紙鍒涘缓涓婚鎴栧鍔犲垎鍖洪兘鏈夊垱寤哄垎鍖虹殑鍔ㄤ綔锛夋垨鍒嗗尯涓婄嚎锛堟瘮濡傚垎鍖轰腑鍘熷厛鐨刲eader鍓湰涓嬬嚎锛屾鏃跺垎鍖洪渶瑕侀変妇涓涓柊鐨刲eader涓婄嚎鏉ュ澶栨彁渚涙湇鍔★級鐨勬椂鍊欓兘闇瑕佹墽琛宭eader鐨勯変妇鍔ㄤ綔銆 + +鍩烘湰鎬濊矾鏄寜鐓R闆嗗悎涓壇鏈殑椤哄簭鏌ユ壘绗竴涓瓨娲荤殑鍓湰锛屽苟涓旇繖涓壇鏈湪ISR闆嗗悎涓 + +涓涓垎鍖虹殑AR闆嗗悎鍦ㄥ垎閰嶇殑鏃跺欏氨琚寚瀹氾紝骞朵笖鍙涓嶅彂鐢熼噸鍒嗛厤鐨勬儏鍐碉紝闆嗗悎鍐呴儴鍓湰鐨勯『搴忔槸淇濇寔涓嶅彉鐨勶紝鑰屽垎鍖虹殑ISR闆嗗悎涓壇鏈殑椤哄簭鍙兘浼氭敼鍙樸 + +娉ㄦ剰锛氳繖閲屾槸鏍规嵁AR鐨勯『搴忚屼笉鏄疘SR鐨勯『搴忚繘琛岄変妇鐨勩傝繖涓璧锋潵姣旇緝鎶借薄锛屾湁鍏磋叮鐨勮鑰呭彲浠ユ墜鍔ㄥ叧闂/寮鍚煇涓泦缇や腑鐨刡roker鏉ヨ瀵熶竴涓嬪叿浣撶殑鍙樺寲銆 + +杩樻湁涓浜涙儏鍐典篃浼氬彂鐢熷垎鍖簂eader鐨勯変妇锛屾瘮濡傚綋鍒嗗尯杩涜閲嶅垎閰嶏紙reassign锛夌殑鏃跺欎篃闇瑕佹墽琛宭eader鐨勯変妇鍔ㄤ綔銆 + +杩欎釜鎬濊矾姣旇緝绠鍗曪細浠庨噸鍒嗛厤鐨凙R鍒楄〃涓壘鍒扮涓涓瓨娲荤殑鍓湰锛屼笖杩欎釜鍓湰鍦ㄧ洰鍓嶇殑ISR鍒楄〃涓 + +鍐嶆瘮濡傚綋鍙戠敓浼樺厛鍓湰锛坧referred replica partition leader election锛夌殑閫変妇鏃讹紝鐩存帴灏嗕紭鍏堝壇鏈缃负leader鍗冲彲锛孉R闆嗗悎涓殑绗竴涓壇鏈嵆涓轰紭鍏堝壇鏈 + +杩樻湁涓绉嶆儏鍐靛氨鏄綋鏌愯妭鐐硅浼橀泤鍦板叧闂紙涔熷氨鏄墽琛孋ontrolledShutdown锛夋椂锛屼綅浜庤繖涓妭鐐逛笂鐨刲eader鍓湰閮戒細涓嬬嚎锛屾墍浠ヤ笌姝ゅ搴旂殑鍒嗗尯闇瑕佹墽琛宭eader鐨勯変妇銆 + +杩欓噷鐨勫叿浣撴濊矾涓猴細浠嶢R鍒楄〃涓壘鍒扮涓涓瓨娲荤殑鍓湰锛屼笖杩欎釜鍓湰鍦ㄧ洰鍓嶇殑ISR鍒楄〃涓紝涓庢鍚屾椂杩樿纭繚杩欎釜鍓湰涓嶅浜庢鍦ㄨ鍏抽棴鐨勮妭鐐逛笂銆 + +#### 3銆佹秷璐硅呯浉鍏崇殑閫夋嫨 + +缁勫崗璋冨櫒GroupCoordinator闇瑕佷负娑堣垂缁勫唴鐨勬秷璐硅呴変妇鍑轰竴涓秷璐圭粍鐨刲eader锛岃繖涓変妇鐨勭畻娉曚篃寰堢畝鍗曪紝鍒嗕袱绉嶆儏鍐靛垎鏋愩 + +- **濡傛灉娑堣垂缁勫唴杩樻病鏈塴eader锛岄偅涔堢涓涓姞鍏ユ秷璐圭粍鐨勬秷璐硅呭嵆涓烘秷璐圭粍鐨刲eader**銆 + +- **濡傛灉鏌愪竴鏃跺埢leader娑堣垂鑰呯敱浜庢煇浜涘師鍥犻鍑轰簡娑堣垂缁勶紝閭d箞浼氶噸鏂伴変妇涓涓柊鐨刲eader锛岃繖涓噸鏂伴変妇leader鐨勮繃绋嬪張鏇粹滈殢鎰忊濅簡锛岀浉鍏充唬鐮佸涓**锛 + +```scala +//scala code. +private val members = new mutable.HashMap[String, MemberMetadata] +var leaderId = members.keys.head +``` + +瑙i噴涓涓嬭繖2琛屼唬鐮侊細鍦℅roupCoordinator涓秷璐硅呯殑淇℃伅鏄互HashMap鐨勫舰寮忓瓨鍌ㄧ殑锛屽叾涓璳ey涓烘秷璐硅呯殑member_id锛岃寁alue鏄秷璐硅呯浉鍏崇殑鍏冩暟鎹俊鎭 + +leaderId琛ㄧずleader娑堣垂鑰呯殑member_id锛屽畠鐨勫彇鍊间负HashMap涓殑绗竴涓敭鍊煎鐨刱ey锛岃繖绉嶉変妇鐨勬柟寮忓熀鏈笂鍜岄殢鏈烘棤寮傘 + +鎬讳綋涓婃潵璇达紝娑堣垂缁勭殑leader閫変妇杩囩▼鏄緢闅忔剰鐨勩 + +鍒拌繖閲屽氨缁撴潫浜嗗悧锛熻繕鏈夊垎鍖哄垎閰嶇瓥鐣ョ殑閫変妇鍛€ + +鎴栬浣犲姝ゆ湁鐐归檶鐢燂紝浣嗘槸鐢ㄨ繃Kafka鐨勫悓瀛︽垨璁稿partition.assignment.strategy锛堝彇鍊间负RangeAssignor銆丷oundRobinAssignor銆丼tickyAssignor绛夛級杩欎釜鍙傛暟骞朵笉闄岀敓銆 + +姣忎釜娑堣垂鑰呴兘鍙互璁剧疆鑷繁鐨勫垎鍖哄垎閰嶇瓥鐣ワ紝瀵规秷璐圭粍鑰岃█闇瑕佷粠鍚勪釜娑堣垂鑰呭憟鎶ヤ笂鏉ョ殑鍚勪釜鍒嗛厤绛栫暐涓変妇涓涓郊姝ら兘鈥滀俊鏈嶁濈殑绛栫暐鏉ヨ繘琛屾暣浣撲笂鐨勫垎鍖哄垎閰嶃 + +杩欎釜鍒嗗尯鍒嗛厤鐨勯変妇骞堕潪鐢眑eader娑堣垂鑰呭喅瀹氾紝鑰屾槸鏍规嵁娑堣垂缁勫唴鐨勫悇涓秷璐硅呮姇绁ㄦ潵鍐冲畾鐨勩 + +**鍙傝**锛歔](https://mp.weixin.qq.com/s/XvDpq1xxXPzRoRKMO-MxeQ) + +## 浜斻佸浣曚繚璇佹秷鎭笉琚噸澶嶆秷璐癸紵锛堝浣曚繚璇佹秷鎭秷璐圭殑骞傜瓑鎬э級 + +### 闈㈣瘯瀹樺績鐞嗗垎鏋 + +鍏跺疄杩欐槸寰堝父瑙佺殑涓涓棶棰橈紝杩欎咯闂鍩烘湰鍙互杩炶捣鏉ラ棶銆傛棦鐒舵槸娑堣垂娑堟伅锛岄偅鑲畾瑕佽冭檻浼氫笉浼氶噸澶嶆秷璐癸紵鑳戒笉鑳介伩鍏嶉噸澶嶆秷璐癸紵鎴栬呴噸澶嶆秷璐逛簡涔熷埆閫犳垚绯荤粺寮傚父鍙互鍚楋紵杩欎釜鏄 MQ 棰嗗煙鐨勫熀鏈棶棰橈紝鍏跺疄鏈川涓婅繕鏄棶浣**浣跨敤娑堟伅闃熷垪濡備綍淇濊瘉骞傜瓑鎬**锛岃繖涓槸浣犳灦鏋勯噷瑕佽冭檻鐨勪竴涓棶棰樸 + +### 闈㈣瘯棰樺墫鏋 + +鍥炵瓟杩欎釜闂锛岄鍏堝ぇ姒傝涓璇村彲鑳戒細鏈夊摢浜涢噸澶嶆秷璐圭殑闂銆 + +棣栧厛锛屾瘮濡 RabbitMQ銆丷ocketMQ銆並afka锛岄兘鏈夊彲鑳戒細鍑虹幇娑堟伅閲嶅娑堣垂鐨勯棶棰橈紝鎸 Kafka 鏉ヤ妇涓緥瀛愶紝璇磋鎬庝箞閲嶅娑堣垂鍚с + +Kafka 瀹為檯涓婃湁涓 offset 鐨勬蹇碉紝灏辨槸姣忎釜娑堟伅鍐欒繘鍘伙紝閮芥湁涓涓 offset锛屼唬琛ㄦ秷鎭殑搴忓彿锛岀劧鍚 consumer 娑堣垂浜嗘暟鎹箣鍚庯紝**姣忛殧涓娈垫椂闂**锛**瀹氭椂瀹氭湡**锛夛紝浼氭妸鑷繁娑堣垂杩囩殑娑堟伅鐨 offset 鎻愪氦涓涓嬶紝琛ㄧず鈥滄垜宸茬粡娑堣垂杩囦簡锛屼笅娆℃垜瑕佹槸閲嶅惎鍟ョ殑锛屼綘灏辫鎴戠户缁粠涓婃娑堣垂鍒扮殑 offset 鏉ョ户缁秷璐瑰惂鈥濄 + +浣嗘槸锛屼綘鏈夋椂鍊欓噸鍚郴缁燂紝鐪嬩綘鎬庝箞閲嶅惎浜嗭紝濡傛灉纰板埌鐐圭潃鎬ョ殑锛岀洿鎺 kill 杩涚▼浜嗭紝鍐嶉噸鍚傝繖浼氬鑷 consumer 鏈変簺娑堟伅澶勭悊浜嗭紝浣嗘槸**娌℃潵寰楀強鎻愪氦 offset锛岄噸鍚箣鍚庯紝灏戞暟娑堟伅浼氬啀娆℃秷璐逛竴娆**銆 + +渚嬪锛屾暟鎹 1/2/3 渚濇杩涘叆 kafka锛宬afka 浼氱粰杩欎笁鏉℃暟鎹瘡鏉″垎閰嶄竴涓 offset锛屼唬琛ㄨ繖鏉℃暟鎹殑搴忓彿锛屾垜浠氨鍋囪鍒嗛厤鐨 offset 渚濇鏄 152/153/154銆傛秷璐硅呬粠 kafka 鍘绘秷璐圭殑鏃跺欙紝涔熸槸鎸夌収杩欎釜椤哄簭鍘绘秷璐广傚亣濡傚綋娑堣垂鑰呮秷璐逛簡 `offset=153` 鐨勮繖鏉℃暟鎹紝鍒氬噯澶囧幓鎻愪氦 offset 鍒 zookeeper锛屾鏃舵秷璐硅呰繘绋嬭閲嶅惎浜嗐傞偅涔堟鏃舵秷璐硅繃鐨勬暟鎹 1/2 鐨 offset 骞舵病鏈夋彁浜わ紝kafka 涔熷氨涓嶇煡閬撲綘宸茬粡娑堣垂浜 `offset=153` 杩欐潯鏁版嵁銆傞偅涔堥噸鍚箣鍚庯紝娑堣垂鑰呬細鎵 kafka 璇达紝鍢匡紝鍝ュ効浠紝浣犵粰鎴戞帴鐫鎶婁笂娆℃垜娑堣垂鍒扮殑閭d釜鍦版柟鍚庨潰鐨勬暟鎹户缁粰鎴戜紶閫掕繃鏉ャ傜敱浜庝箣鍓嶇殑 offset 娌℃湁鎻愪氦鎴愬姛锛岄偅涔堟暟鎹 1/2 浼氬啀娆′紶杩囨潵锛屽鏋滄鏃舵秷璐硅呮病鏈夊幓閲嶇殑璇濓紝閭d箞灏变細瀵艰嚧閲嶅娑堣垂銆 + +![]() + +**濡備綍淇濊瘉娑堟伅闃熷垪娑堣垂鐨勫箓绛夋**锛 + +鍥炵瓟杩欎釜闂闇瑕佺粨鍚堜笟鍔℃濊冿紝鏈夊涓嬪嚑涓濊矾锛 + +- 姣斿鏁版嵁瑕佸啓搴擄紝鍏堟牴鎹富閿煡涓涓嬶紝濡傛灉杩欐暟鎹兘鏈変簡锛屽氨鍒彃鍏ヤ簡锛寀pdate 涓涓嬨 +- 姣斿鏄啓 Redis锛岄偅娌¢棶棰樹簡锛屽洜涓烘瘡娆¢兘鏄 set锛屽ぉ鐒跺箓绛夋с +- 姣斿涓嶆槸涓婇潰涓や釜鍦烘櫙锛岄偅鍋氱殑绋嶅井澶嶆潅涓鐐癸紝浣犻渶瑕佽鐢熶骇鑰呭彂閫佹瘡鏉℃暟鎹殑鏃跺欙紝閲岄潰**鍔犱竴涓叏灞鍞竴鐨 id**锛岀被浼艰鍗 id 涔嬬被鐨勪笢瑗匡紝鐒跺悗浣犺繖閲屾秷璐瑰埌浜嗕箣鍚庯紝鍏堟牴鎹繖涓 id 鍘绘瘮濡 Redis 閲屾煡涓涓嬶紝涔嬪墠娑堣垂杩囧悧锛熷鏋滄病鏈夋秷璐硅繃锛屼綘灏卞鐞嗭紝鐒跺悗杩欎釜 id 鍐 Redis銆傚鏋滄秷璐硅繃浜嗭紝灏卞埆澶勭悊锛屼繚璇佸埆閲嶅澶勭悊鐩稿悓鐨勬秷鎭嵆鍙 +- 姣斿鍩轰簬鏁版嵁搴撶殑鍞竴閿潵淇濊瘉閲嶅鏁版嵁涓嶄細閲嶅鎻掑叆澶氭潯銆傚洜涓烘湁鍞竴閿害鏉熶簡锛岄噸澶嶆暟鎹彃鍏ュ彧浼氭姤閿欙紝涓嶄細瀵艰嚧鏁版嵁搴撲腑鍑虹幇鑴忔暟鎹 + +![]() + +## 鍏佸浣曚繚璇佹秷鎭殑鍙潬鎬т紶杈擄紵锛堝浣曞鐞嗘秷鎭涪澶辩殑闂锛燂級 + +## 闈㈣瘯瀹樺績鐞嗗垎鏋 + +杩欎釜鏄偗瀹氱殑锛岀敤 MQ 鏈変釜鍩烘湰鍘熷垯锛屽氨鏄**鏁版嵁涓嶈兘澶氫竴鏉★紝涔熶笉鑳藉皯涓鏉**锛屼笉鑳藉锛屽氨鏄墠闈㈣鐨刐閲嶅娑堣垂鍜屽箓绛夋ч棶棰樸備笉鑳藉皯锛屽氨鏄杩欐暟鎹埆鎼炰涪浜嗐傞偅杩欎釜闂浣犲繀椤诲緱鑰冭檻涓涓嬨 + +濡傛灉璇翠綘杩欎釜鏄敤 MQ 鏉ヤ紶閫掗潪甯告牳蹇冪殑娑堟伅锛屾瘮濡傝璁¤垂銆佹墸璐圭殑涓浜涙秷鎭紝閭e繀椤荤‘淇濊繖涓 MQ 浼犻掕繃绋嬩腑**缁濆涓嶄細鎶婅璐规秷鎭粰寮勪涪**銆 + +## 闈㈣瘯棰樺墫鏋 + +鏁版嵁鐨勪涪澶遍棶棰橈紝鍙兘鍑虹幇鍦**鐢熶骇鑰呫丮Q銆佹秷璐硅**涓紝浠 Kafka 鏉ュ垎鏋愪竴涓嬨 + +### Kafka + +### 1銆佹秷璐硅呬涪澶辨暟鎹 + +鍞竴鍙兘瀵艰嚧娑堣垂鑰呭紕涓㈡暟鎹殑鎯呭喌锛屾槸娑堣垂鍒颁簡杩欎釜娑堟伅锛岀劧鍚庢秷璐硅呴偅杈**鑷姩鎻愪氦浜 offset**锛岃 Kafka 浠ヤ负浣犲凡缁忔秷璐瑰ソ浜嗚繖涓秷鎭紝浣嗗叾瀹炰綘鎵嶅垰鍑嗗澶勭悊杩欎釜娑堟伅锛屼綘杩樻病澶勭悊锛屼綘鑷繁灏辨寕浜嗭紝姝ゆ椂杩欐潯娑堟伅灏变涪鍜 + +鐢变簬 Kafka 浼氳嚜鍔ㄦ彁浜 offset锛岄偅涔堝彧瑕**鍏抽棴鑷姩鎻愪氦** offset锛屽湪澶勭悊瀹屼箣鍚庤嚜宸辨墜鍔ㄦ彁浜 offset锛屽氨鍙互淇濊瘉鏁版嵁涓嶄細涓€備絾鏄鏃剁‘瀹炶繕鏄**鍙兘浼氭湁閲嶅娑堣垂**锛屾瘮濡備綘鍒氬鐞嗗畬锛岃繕娌℃彁浜 offset锛岀粨鏋滆嚜宸辨寕浜嗭紝姝ゆ椂鑲畾浼氶噸澶嶆秷璐逛竴娆★紝鑷繁淇濊瘉骞傜瓑鎬у氨濂戒簡銆 + +鐢熶骇鐜纰板埌鐨勪竴涓棶棰樻槸Kafka 娑堣垂鑰呮秷璐瑰埌浜嗘暟鎹箣鍚庢槸鍐欏埌涓涓唴瀛樼殑 queue 閲屽厛缂撳啿涓涓嬶紝缁撴灉鏈夌殑鏃跺欙紝浣犲垰鎶婃秷鎭啓鍏ュ唴瀛 queue锛岀劧鍚庢秷璐硅呬細鑷姩鎻愪氦 offset銆傜劧鍚庢鏃舵垜浠噸鍚簡绯荤粺锛屽氨浼氬鑷村唴瀛 queue 閲岃繕娌℃潵寰楀強澶勭悊鐨勬暟鎹氨涓㈠け浜嗐 + +### 2銆並afka寮勪涪鏁版嵁 + +杩欏潡姣旇緝甯歌鐨勪竴涓満鏅紝灏辨槸 Kafka 鏌愪釜 broker 瀹曟満锛岀劧鍚庨噸鏂伴変妇 partition 鐨 leader銆傚鏋滄鏃跺叾浠栫殑 follower 鍒氬ソ杩樻湁浜涙暟鎹病鏈夊悓姝ワ紝缁撴灉姝ゆ椂 leader 鎸備簡锛岀劧鍚庨変妇鏌愪釜 follower 鎴 leader 涔嬪悗锛屼笉灏卞皯浜嗕竴浜涙暟鎹紵杩欏氨涓簡涓浜涙暟鎹晩銆 + +鎵浠ユ鏃朵竴鑸槸瑕佹眰璧风爜璁剧疆濡備笅 4 涓弬鏁帮細 + +- 缁 topic 璁剧疆 `replication.factor` 鍙傛暟锛氳繖涓煎繀椤诲ぇ浜 1锛岃姹傛瘡涓 partition 蹇呴』鏈夎嚦灏 2 涓壇鏈 +- 鍦 Kafka 鏈嶅姟绔缃 `min.insync.replicas` 鍙傛暟锛氳繖涓煎繀椤诲ぇ浜 1锛岃繖涓槸瑕佹眰涓涓 leader 鑷冲皯鎰熺煡鍒版湁鑷冲皯涓涓 follower 杩樿窡鑷繁淇濇寔鑱旂郴锛屾病鎺夐槦锛岃繖鏍锋墠鑳界‘淇 leader 鎸備簡杩樻湁涓涓 follower 鍚с +- 鍦 producer 绔缃 `acks=all`锛氳繖涓槸瑕佹眰姣忔潯鏁版嵁锛屽繀椤绘槸**鍐欏叆鎵鏈 replica 涔嬪悗锛屾墠鑳借涓烘槸鍐欐垚鍔熶簡**銆 +- 鍦 producer 绔缃 `retries=MAX`锛堝緢澶у緢澶у緢澶х殑涓涓硷紝鏃犻檺娆¢噸璇曠殑鎰忔濓級锛氳繖涓槸**瑕佹眰涓鏃﹀啓鍏ュけ璐ワ紝灏辨棤闄愰噸璇**锛屽崱鍦ㄨ繖閲屼簡銆 + +鎴戜滑鐢熶骇鐜灏辨槸鎸夌収涓婅堪瑕佹眰閰嶇疆鐨勶紝杩欐牱閰嶇疆涔嬪悗锛岃嚦灏戝湪 Kafka broker 绔氨鍙互淇濊瘉鍦 leader 鎵鍦 broker 鍙戠敓鏁呴殰锛岃繘琛 leader 鍒囨崲鏃讹紝鏁版嵁涓嶄細涓㈠け銆 + +### 3銆佺敓浜ц呬細涓嶄細寮勪涪鏁版嵁锛 + +濡傛灉鎸夌収涓婅堪鐨勬濊矾璁剧疆浜 `acks=all`锛屼竴瀹氫笉浼氫涪锛岃姹傛槸锛屼綘鐨 leader 鎺ユ敹鍒版秷鎭紝鎵鏈夌殑 follower 閮藉悓姝ュ埌浜嗘秷鎭箣鍚庯紝鎵嶈涓烘湰娆″啓鎴愬姛浜嗐傚鏋滄病婊¤冻杩欎釜鏉′欢锛岀敓浜ц呬細鑷姩涓嶆柇鐨勯噸璇曪紝閲嶈瘯鏃犻檺娆° + +## 涓冦佸浣曚繚璇佹秷鎭殑椤哄簭鎬э紵 + +Kafka锛氭瘮濡傝鎴戜滑寤轰簡涓涓 topic锛屾湁涓変釜 partition銆傜敓浜ц呭湪鍐欑殑鏃跺欙紝鍏跺疄鍙互鎸囧畾涓涓 key锛屾瘮濡傝鎴戜滑鎸囧畾浜嗘煇涓鍗 id 浣滀负 key锛岄偅涔堣繖涓鍗曠浉鍏崇殑鏁版嵁锛屼竴瀹氫細琚垎鍙戝埌鍚屼竴涓 partition 涓幓锛岃屼笖杩欎釜 partition 涓殑鏁版嵁涓瀹氭槸鏈夐『搴忕殑銆 +娑堣垂鑰呬粠 partition 涓彇鍑烘潵鏁版嵁鐨勬椂鍊欙紝涔熶竴瀹氭槸鏈夐『搴忕殑銆傚埌杩欓噷锛岄『搴忚繕鏄 ok 鐨勶紝娌℃湁閿欎贡銆傛帴鐫锛屾垜浠湪娑堣垂鑰呴噷鍙兘浼氭悶**澶氫釜绾跨▼鏉ュ苟鍙戝鐞嗘秷鎭**銆傚洜涓哄鏋滄秷璐硅呮槸鍗曠嚎绋嬫秷璐瑰鐞嗭紝鑰屽鐞嗘瘮杈冭楁椂鐨勮瘽锛屾瘮濡傚鐞嗕竴鏉℃秷鎭楁椂鍑犲崄 ms锛岄偅涔 1 绉掗挓鍙兘澶勭悊鍑犲崄鏉℃秷鎭紝杩欏悶鍚愰噺澶綆浜嗐傝屽涓嚎绋嬪苟鍙戣窇鐨勮瘽锛岄『搴忓彲鑳藉氨涔辨帀浜嗐 + +![]() + +#### 瑙e喅鏂规锛 + +- 涓涓 topic锛屼竴涓 partition锛屼竴涓 consumer锛屽唴閮ㄥ崟绾跨▼娑堣垂锛屽崟绾跨▼鍚炲悙閲忓お浣庯紝涓鑸笉浼氱敤杩欎釜銆 +- 鍐 N 涓**鍐呭瓨 queue**锛屽叿鏈夌浉鍚 key 鐨勬暟鎹兘鍒板悓涓涓唴瀛 queue锛涚劧鍚庡浜 N 涓嚎绋嬶紝姣忎釜绾跨▼鍒嗗埆娑堣垂涓涓唴瀛 queue 鍗冲彲锛岃繖鏍峰氨鑳戒繚璇侀『搴忔с + +![]() + + + From 8b8311b6d9c03dd7d0236e7ecbec99c3443a261b Mon Sep 17 00:00:00 2001 From: XU-ZHOU <34745915+XU-ZHOU@users.noreply.github.com> Date: Wed, 5 Jun 2019 20:41:23 +0800 Subject: [PATCH 26/26] =?UTF-8?q?Rename=20Kafka=E7=9F=A5=E8=AF=86=E6=80=BB?= =?UTF-8?q?=E7=BB=93.md=20to=20Kafka.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...47\237\245\350\257\206\346\200\273\347\273\223.md" => Kafka.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" => Kafka.md (100%) diff --git "a/Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" b/Kafka.md similarity index 100% rename from "Kafka\347\237\245\350\257\206\346\200\273\347\273\223.md" rename to Kafka.md