!"!!#"$
%&'
!"# $%$
!"#$%& '()*+
!"#$%&'
! "
(# )*+,
!# -.- /01 23456
7# -.- 68 9: ;<
$# -.- => 9: ;<
&'()
#$%& !
!
"#$ %&% '()*+, &-./0 1234567
'(' )* +, -./0
ü ?@ ABCD EFBGHIDJGKLMN OPQR SFT UV W XY Z[]^ _`aN SL b *cde fgh#
ü ?i jklmFnLM op jklmFnqr st
uv Z[]w xyz^ {|c} ~• €• ‚ƒ
„… 2i† ')6r ‡ˆ €• -.- ‰Š
‹Œ6 _`• Ž)• •‘h’
‹2“F •”U• xy4•} jklmFnw 9U+
–– —Z•˜M ™š+ Š›h’
()*+ ,- ./*+ ,-
01 234
(#( -.-w ‰Š
8
"#$ %&% '()*+, &-./0 1234567
'('1 23
ü -.-N œ jklmFn•l s‡až SFT^ ]la• •} % ŸL Z ]l¡ U ¢z• £¤V£Q ¥h#
-.-+ ¦§R F¨w OF.©G Z[]
5647 8(9:;
<=>? @9
AB C.D 01D4
EFGHI J2
KL /MHI NO PQ
R SO T,U V+W
(#( -.-w ‰Š
9
"#$ %&% '()*+, &-./0 1234567
(4567 89:
ü -.- ª«L SFT+ ¬-®N O¯nw t3• °±°²³°´µ¶·¸±¹¸°´µ¶·¸²º·» ¼½w ¾ ¿ÀÁÂà ÄE
ü ¾L SFT^ 5ªN ÅF Æ.rÇMÆ F} SFT^ +È+N ÅF ÆÉÊËÆ Fh
XY
Z[ ]
Z[ ^
Z[ _
`IaC b-c
] ^ _ d e
(#( -.-w ‰Š
:
"#$ %&% '()*+, &-./0 1234567
; '('< =+> ?+(@AB4 CDE<F
ü SFT UV W ¦v^ 9Ìa} ͈Îe |+a,Ï Äsa˜Mz Ð- +Ña1 ¿tQ% Åe ÆSFT OF.©GÒF©}
«Óh#
ü SFT OF.©Ge ͈¦F} Ð-Î Ô1 _`a6 Õ% Ö• ¼× £ aØ+ ZOÙ -.-^ Ú§aN ÅFh#
!" #$%
ü fO g5 T,U7 hi jkI V+lmn opqrs tuv
ü Z[ jkI wA xG5 T,U7 ;y Z[D z{:| T,U
7 }~ V+
&'(
ü T,U7 •€+D •0:P ‚| ZA ƒ)„D •0lmn
ü …†‡%ˆ‰3Š? k{ ‹,P Œƒ 2•? •€+D ŽI •ˆ:;
•ulmn
)*(
ü ‘’G“ ”•DC EFGHI –0 ‘‰:mn
ü —y)U5 ˜I< ™š7 ›œ )•A žŸ š ¡mn
+,-(
ü T,U5 ¢£7 ¤{ |‘uˆ5 ¥¦? ‘§mn
ü 01‘ ¨•:©ª4 «cP ˜I<D •0¬- ¡mn
(#! ÛSFT OF.©GLM -.-w Ü¡
$%$ *+, -./01
#$%& "
;
"#$ %&% '()*+, &-./0 1234567
'(' GH
!#( ‚ݧ -.- Þrß ;Ù
Zà ID^ á}až ;Ù45¿
â··ã¶äååæçèæç#çãçéâê#ëµìåíº´éæ¶·çµ·
<=
"#$ %&% '()*+, &-./0 1234567
I$JI$K&LMNOPQPR
ü îïFð -.-LM SFT^ ÁXaN +- 68¦G 9:Fh#
ü ñòóôõLM E§aN öF÷ø ÄEah#
ü -.- ùúiTL îï• žú 9 ûv¡ U ¢h#
ü îïLN O¯nF ûvaNS O¯nw 9UN ü? (9«T 23%h#
® îïe ŠÎaN !+• ¼×
-.- ÉÊË ýN .rÇM+ -.- ÞrßL ŠÎ®• •• îïL þ4 SFT^ ÿ!¡ "
ß#J ©G $r <2¦qr îïe ŠÎaN Å
<
>
!#! -.- ß#J ©G $
<<
"#$ %&% '()*+, &-./0 1234567
I$JI$K&LMNOPQPR
$ bin/kafka-topics.sh 
--create 
--bootstrap-server localhost:9092 
--topic hello.kafka 
>
?
< €€éµêç·ê¸%nqr îïe ŠÎaN <&*©N Åe <2
ü ,- ./ 0123
> €€'ëë·¶·µç〶êµ(êµL Þrß)w ±)à ãëµ·^ ¦Nh#
? €€·ëã´éLN îï F*e 3Î%h#
<
!#! -.- ß#J ©G $
<>
"#$ %&% '()*+, &-./0 1234567
I$JI$K&LMNOPQPR
$ bin/kafka-topics.sh 
--create 
--bootstrap-server localhost:9092 
--partitions 3 
--replication-factor 1 
--config retention.ms=172800000 
--topic hello.kafka.2 
<
>
?
< €€ãçµ·´·´ë¹¶N O¯n 9U^ •ˆ%h#
ü ,- ./ 0456789&3
> €€µêã+´éç·´ë¹€èçé·ëµLN O¯ne xš¡ 9U^ ¦Nh# ³(• xša• •,# !N (9w xš8 E§»
? €€éë¹è´ì¶N |+¦G ;ˆ# µê·ê¹·´ë¹#-¶N îïw SFT^ Ä•aN 6“ ³(.!/"""""N !0»
!#! -.- ß#J ©G $
<?
"#$ %&% '()*+, &-./0 1234567
I$JI$K&LMNOPQPR
$ bin/kafka-topics.sh --bootstrap-server localhost:9092 –list
ü ,- #:; <=
!#! -.- ß#J ©G $
<!
"#$ %&% '()*+, &-./0 1234567
I$JI$K&LMNOPQPR
$ bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic hello.kafka.2
ü ,- >? <=
!#! -.- ß#J ©G $
<8
"#$ %&% '()*+, &-./0 1234567
I$JI$K&LMNOPQPR
$ bin/kafka-topics.sh --bootstrap-server localhost:9092 
--topic hello.kafka 
--alter 
--partitions 4
$ bin/kafka-configs.sh --bootstrap-server localhost:9092 
--entity-type topics 
--entity-name hello.kafka 
--alter --add-config retention.ms=86400000
ü ,- 9& @A
!#! -.- ß#J ©G $
<9
"#$ %&% '()*+, &-./0 1234567
I$JI$KOLSPLTUKM%LVWOU%QPR
$ bin/kafka-console-producer.sh --bootstrap-server localhost:9092 
--topic hello.kafka
>hello
>kafka
>0
>1
>2
>3
ü îïL 1N SFTN Ò23J³µêéëµ4»Ò©} «0, 52• [à 52• 6qr F7*È ¢h#
ü 52• [N ¿8w ¹º++r 68 ;ˆ®* Þrßr 9:Rh#
ü 12 BC
!#! -.- ß#J ©G $
<:
"#$ %&% '()*+, &-./0 1234567
I$JI$KOLSPLTUKM%LVWOU%QPR
ü æçèæç€éë¹¶ë+ê€ãµë4ºéêµ#¶âr 9:®N 23J 6• ;<°€/e 6=qr ó>·êr ?@®}
ó>·êAµµç>õêµ´ç+´Bêµr CDQRh#
ü õ·µ´¹ìF ZE oFqrN CDQaž 9:¡ U Gh#
ü hÓ oFqr 9:a} Hh˜ -.- .rÇM jklmFne CI 9J4K %h#
@ABCDBCEFGHIGJKELMGNOFKM@I4
#P, =
#P, <
#P, >
#P, <=
!"! #$%
@
@
!"#
!"#
!"#
!"#
!#! -.- ß#J ©G $
<Q
"#$ %&% '()*+, &-./0 1234567
I$JI$KOLSPLTUKM%LVWOU%QPR
ü DEF BC 045678DEF G3
$ bin/kafka-console-producer.sh --bootstrap-server localhost:9092 
--topic hello.kafka 
--property "parse.key=true" 
--property "key.separator=:”
>key1:no1
>key2:no2
>key3:no3
>
<
< ãçµ¶ê#æê>^ ·µºêr L˜ 23J^ 9:¡ " 52• [^ |+¡ U ¢h#
> 52• [Ã 52• 6e ÁXaN ÁX¿^ ÌM%h#
!#! -.- ß#J ©G $
<;
"#$ %&% '()*+, &-./0 1234567
I$JI$KOLSPLTUKM%LVWOU%QPR
ü 9:®N 23J 6• ;<°€/e 6=qr ó>·êr ?@Rh#
ü 52• [+ ¹º++G &NLN .rÇM+ O¯nqr 9:¡ " 23J YÙ PÕr ©_JrQqr 9:%h#¸
ü 52• [+ ûvaN &NLN [w 426e 3Îaž ûvaN O¯n £ % 9L ¡RRh#¸
ü Fr G4 52• [+ t0% &NLN t0% O¯nqr 9:Rh#
!#! -.- ß#J ©G $
>=
"#$ %&% '()*+, &-./0 1234567
I$JI$KOLSPLTUKM%LVWOU%QPR
® O¯n 9U+ S*ؘ Tr .rÇU®N 23J)• *V O¯nqr WXY
F9L 52• [+ O¯n "ZL )*[h˜ O¯ne S ]LN O¯n "Zqr “hN 5-F Gh#¸'0 O¯n
e |+a^©z F9L E§a_ 52• [w 0`Îe 5-a} Hh˜ ßia O¯bc^ ')*M _`4K %h#
!#! -.- ß#J ©G $
><
"#$ %&% '()*+, &-./0 1234567
I$JI$KOLSPLTUKOLSPWXU%QPR
$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 
--topic hello.kafka 
--from-beginning
ü €€'ëë·¶·µç〶êµ(êµL -.- ùúiT ˆ5
ü €€·ëã´éL îï F*
ü €€èµë-€'êì´¹¹´¹ì¸%ne d˜ îïL ¬-R +- ], SFT«T e•
!#! -.- ß#J ©G $
>>
"#$ %&% '()*+, &-./0 1234567
I$JI$KOLSPLTUKOLSPWXU%QPR
$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 
--topic hello.kafka 
--property print.key=true 
--property key.separator="-" 
--group hello-group 
--from-beginning
key1-no1
null-4
null-5
null-0
null-hello
null-kafka
key2-no2
key3-no3
ü SFTw 52• [à 52• 6e ÐGa} Hh˜ €€ãµëãêµ·>¸%ne E§a˜ Rh#
< 52• [^ ÐGa6 Õ4 ãµ´¹·#æê>^ ·µºêr ;ˆ¥h#
> 52• [ 6e ÁXa6 Õ4 æê>#¶êãçµç·ëµ^ ;ˆ¥h#
? €€ìµëºã¸%ne f4 ÉÊË ghe ŠÎ¥h#¸F ÉÊË ghe f4 +È“ îïw 52•N +È“ 52•L þ4 ß
ie %h#¸ßi ˆ5N jjéë¹¶º-êµjëèè¶ê·¶ F*w ª« îïL ¬-Rh#
<
>
?
!#! -.- ß#J ©G $
>?
"#$ %&% '()*+, &-./0 1234567
I$JI$KOLSPLTUKOLSPWXU%QPR
ü 52• [^ 1• •• SFTN ¹º++ø 52• 6F kl 5F}Ï 52• [^ 1• SFTN 52• [à 6F kl 5Gh#
ü æçèæç€éë¹¶ë+ê€ãµë4ºéêµ#¶âr 9:¥_ SFTw mM+ uv e•®N mMà h0h#
ü FN O¯n 9: "™L Š6N u=Fh#
ü æçèæç€éë¹¶ë+ê€éë¹¶º-êµ#¶â^ f4 îïw 52•^ +È+1 ®˜ îïw n O¯nqr«T t0% £ÿzr S
FT^ +ȓh#
ü Fr G4 îïL 1• SFTÃ îïLM +È“ SFTw mM+ o©•1 ®N ÅFh#
@ABCDBCEFGHIGJKEFGHIORKM@I4
#P, =
#P, <
#P, >
#P, <=
!"! #$%
@
@
!"#
!"#
!"#
!"#
!#! -.- ß#J ©G $
>!
"#$ %&% '()*+, &-./0 1234567
I$JI$KOLSPWXU%KY%LWMPQPR
ü ŠÎR ÉÊË ghw liBN æçèæç€éë¹¶º-êµ€ìµëºã¶#¶â <&*r ÐG¡ U ¢h#
$ bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
ü €€+´¶·¶N ÉÊË ghw liB^ ÐGaN %nFh#
$ bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 
--group hello-group 
--describe
!#! -.- ß#J ©G $
>8
"#$ %&% '()*+, &-./0 1234567
I$JI$KZU%NJN$[TUKM%LVWOU%QPR7OLSPWXU%QPR
ü æçèæç€(êµ´è´ç'+êr 23aN !9w iDpB^ E§a˜ õ·µ´¹ì oF 52• 6e 3J GF d}qe U ¢h#
$ bin/kafka-verifiable-producer.sh --bootstrap-server localhost:9092 
--max-messages 10 
--topic verify-test
ü 9:% SFTN æçèæç€(êµ´è´ç'+ê€éë¹¶º-êµ#¶âr ÐG¡ U ¢h#
$ bin/kafka-verifiable-consumer.sh --bootstrap-server localhost:9092 
--topic verify-test 
--group-id test-group
!#! -.- ß#J ©G $
>9
"#$ %&% '()*+, &-./0 1234567
I$JI$KVUTU&UK%UOL%VPQPR
ü îïw SFT^ •r " E§
ü îïw SFT £ +- sàR SFT³+- {• t¿w s.u»«T vˆ 2–w s.uX• wš¡ U ¢h#
ü -.-LMN îïw O¯nL ¬-R vˆ SFT' wš¡ UN GhN –e <x4K %h#
vi delete-topic.json
{"partitions": [{"topic": "hello.kafka", "partition": 0, "offset": 50}], "version": 1}
$ bin/kafka-delete-records.sh --bootstrap-server localhost:9092 
--offset-json-file delete-topic.json
#¯°# XY5 ]± Z[D •0² T,U ³ ]BU d] ´`µ T,U¶P P·¸ •·
!#! -.- ß#J ©G $
$%$ 12 34 56
#$%& #
>Q
"#$ %&% '()*+, &-./0 1234567
'(' ]4^・_`a>・b.c
ü -.- ÞrßN -.- ù©FMBÃ SFT^ d}q6 Õ% E§aN dy
ü SFT^ Xz ¬-až -j+ JŠa^©z Í9a1 E§¡ U ¢z• zÃ{h#
ü M| (þrz 68 ‚}F ®•' 7þ F=w Þrß M|^ (9w ùúiTr ~*M _`%h#
ü -.- ùúiTr ~G Þrß)• .rÇM+ 5• SFT^ Í9a1 ¬-a} xšaN Ü¡e %h#
STU
&'( )*+
V-W =
V-W <
V-W >
!"! ,-./
7#( -.- Þrß・ùúiT・d[€
>;
"#$ %&% '()*+, &-./0 1234567
'(' ]4^ K =+> de7 ,f
ü .rÇMr«T SFT^ 9oqq˜ O¯nL SFT^ ¬-a} ÉÊË+ SFT^ ÿ!a˜ ¬-R SFT^ 9o%h#
ü .rÇMr«T 9oR SFTN O0 2i†L ¬-Rh#
$ ls /tmp/kafka-logs
drwxr-xr-x 6 macbookpro wheel 192 5 13 20:16 hello.kafka-0
drwxr-xr-x 6 macbookpro wheel 192 5 13 20:17 hello.kafka.2-0
drwxr-xr-x 6 macbookpro wheel 192 5 13 20:17 hello.kafka.2-1
drwxr-xr-x 6 macbookpro wheel 192 5 13 20:17 hello.kafka.2-2
$ ls /tmp/kafka-logs/hello.kafka-0
macbookpro /tmp/kafka-logs ls hello.kafka-0
00000000000000000000.index 00000000000000000000.timeindex
00000000000000000000.log leader-epoch-checkpoint
¹º»n¼"½ ¾D F5l ¿ÀX+D T,U7 •0lmn%XY ,ÁR Z[ ±Â5 ÃÄHI :k ¿ÀX+7 •ˆ
$¯¹¹ºnÅÆÇÅÆ XY5 ]± Z[D 6È:¸ T,U7 –“ š ¡mn
ü ¹º»É%•ƒPÊ •ËT,U7 •0
ü "̼¯ÍÉ%•ƒP5 ´`µ? “ÎÏl FÐ
ü #"ѯ"̼¯ÍÉ%•ƒPD ÒÓ² #"ѯ°#ÆÑÔÕ? Ö×HI “ÎÏl FБ ØÙ ¡mn
ü #"ѯ°#ÆÑÔÉ%˜I<‘ GÈl T,U7 Ú£:Û« ÜÝ:¸T •ulmn
<
>
<
>
7#( -.- Þrß・ùúiT・d[€
?=
"#$ %&% '()*+, &-./0 1234567
'(' ]4^ K =+> de7 ,f
ü -.-N 5 lØ SFT•FiL ¬-a• •q, ‚r ƒ25 l^ Áuaž E§a•z •Nh#
O02i†L ¬-a˜
„z FÊ+ JŠa• •eXY
-.-NH…F• ƒ2K^ E§až
†iD Fe• „z^ Ôž
F ™š^ 4‡¥h
…F• ƒ2N ²õLM O0 Fe•w
Îч=e Õ4 ')* ˆ•
5 l `ÜFh#
7#( -.- Þrß・ùúiT・d[€
?<
"#$ %&% '()*+, &-./0 1234567
'(' ]4^ K =+> gh7 ij
ü SFT xš³µêã+´éç·´ë¹»N -.-^ -j ‰§ 2i†³èçº+· ·ë+êµç¹éê ¶>¶·ê-»qr t3az• aN Št•Fh#
ü xšw FÄN ùúiTr ~G Þrß £ 0«L -j+ JŠa^©z SFT^ Ä‚a• •} Í9a1 E§a6 ÕkFh#
ü SFT xšN O¯n PÕr F7*‹h#
îïw O¯nw xš 9U+ 7G &N
+© Z[5 ´`µ? –“:; &Þ5 ´`µR ß,‘
«¸ •· +© Z[HIBU T,U7 ‘àám
#$% 0
12
#P, <
X)YZ
#$% 3
12
#P, <
X[-Z
#$% 4
12
#P, <
X[-Z
ü +©É `IaC ⸠b-cÊ ãä ¤Þ:¸ Z[
ü åIrÉ ¢£ T,U7 ‘P| ¡¸ Z[
7#( -.- Þrß・ùúiT・d[€
?>
"#$ %&% '()*+, &-./0 1234567
'(' ]4^ K =+> gh7 ij
ü Þrß+ h_®˜ Þrßw l^ O¯n• E§¡ U G6 "™L ŒrC O¯n £ aØ+ l^ O¯nF Rh#
ü SFT+ Ä‚®• •} ÉÊËØ .rÇM+ SFT^ d}qe U ¢h#
]-^ )Y #P,+ _`
Þrß "L -j+ JŠ% &N
#$% 0
12
#P, <
#$% 3
12
#P, <
X)YZ
#$% 4
12
#P, <
X[-Z
XabcdZ
e'
ü T,U‘ AB æç¬-4 è*:| V+ é4‘
³ê:më ¢£ ™š7 ^⸠_I ìF
ü íî FÐÊ ï, æç, A-«ë E¬¸ •·
¢£ ™š7 dHI ìF
7#( -.- Þrß・ùúiT・d[€
??
"#$ %&% '()*+, &-./0 1234567
'(' ]4^ – 8kl`mOLS&%LTTU%n
ü ùúiTw hU Þrß £ % þ+ ÉB•úw Ü¡e %h#¸
ü hÓ Þrß)w =Ž^ yDa} Þrß+ ùúiTLM /•N &N 4R ÞrßL ûvaN l^ O¯ne vXY%h#¸
ü '• ÉB•ú Ü¡e aN ÞrßL -j+ Š6˜ hÓ Þrß+ ÉB•ú Ü¡e %h#
7#( -.- Þrß・ùúiT・d[€
?!
"#$ %&% '()*+, &-./0 1234567
'(' ]4^ – =+> oh
ü -.-N ÉÊË+ SFT^ +È+^©z îïw SFTN w𮕠•Nh#¸
ü ý%ϸÉÊËØ .rÇM+ SFT wš^ ÿ!¡ Uz Gh#¸
ü sC Þrß'F SFT^ wš¡ U ¢h#¸
ü SFT wšN O0 PÕr F7*•NS F PÕ^ •rg >g‘B³+ë츶êì-ê¹·»•©} «Óh#
ü ÞrßL +ëì#¶êì-ê¹·#'>·ê¶ ýN +ëì#¶êì-ê¹·#-¶ %nL 6F ;ˆ®˜ >g‘B O0F ’“h#
ü >g‘B O0F ’”1 ®N 686• (•ó§–Fh#
7#( -.- Þrß・ùúiT・d[€
?8
"#$ %&% '()*+, &-./0 1234567
'(' ]4^ – 89: p(q de
ü ÉÊË gh• îïF vˆ O¯nqr«T SFT^ +È+M ]la} F O¯nw *V 23JX• +È[N• ÐGa6 Õ
4 s.ue ßi%h#¸
ü ßi% s.u• jjéë¹¶º-êµjëèè¶ê·¶ îïL ¬-%h#
7#( -.- Þrß・ùúiT・d[€
?9
"#$ %&% '()*+, &-./0 1234567
'(' ]4^ – rst+>mOLL%VNS$&L%n
ü ùúiTw hU Þrß £ % þN 3†AFTw Ü¡e U}%h#¸
ü 3†AFTN ÉÊË ghw =Ž^ yDa} O¯ne ÉÊËà —˜®z• XYaN Ü¡e %h#¸
ü ÉÊË+ ÉÊË ghLM /•˜ —˜®• •• O¯ne ˆ= t3aN ÉÊËr ¡Raž ™šGF SFT+ ]l®z• z
Ã{h#¸
ü F›1 O¯ne ÉÊËr v¡RaN øˆe •lœ•i³µê'ç+ç¹é껕©} «Óh#
7#( -.- Þrß・ùúiT・d[€
?:
"#$ %&% '()*+, &-./0 1234567
b.c
ü d[€N -.-w 5oSFT^ `laN SL E§Rh#
$ bin/zookeeper-shell.sh localhost:2181
Connecting to localhost:2181
Welcome to ZooKeeper!
ls /
[admin, brokers, cluster, config, consumers, controller, controller_epoch, isr_change_notification, latest_pro
ducer_id_block, log_dir_event_notification, zookeeper]
get /brokers/ids/0
{"listener_security_protocol_map":{"PLAINTEXT":"PLAINTEXT"},"endpoints":["PLAINTEXT://localhost:9092"],"jmx_po
rt":-1,"port":9092,"host":"localhost","version":4,"timestamp":"1620904358029"}
get /controller
{"version":1,"brokerid":0,"timestamp":"1620904358147"}
ls /brokers/topics
[hello.kafka, hello.kafka.2]
d[€L I„
<
>
<
>
?
!
8
ž¹ë4ê)e ÐG
? -.- ÞrßL þ% ˆ5^ ÐG
*V Þrß+ ÉB•úG•L þ% ˆ5^ +ÈŸh#
!
8 -.-L ¬-R îï)e ÐG
7#( -.- Þrß・ùúiT・d[€
?Q
"#$ %&% '()*+, &-./0 1234567
uvw ?xy
ü îï• -.-LM SFT^ ÁXa6 Õ4 E§aN PÕFh#¸
ü îï• (9 F=w O¯ne ?Äa} ¢h#¸
ü O¯nLN .rÇM+ 5• SFT)F )*+ ¬-®NS F SFT^ •23J³µêéëµ4»•©} «Óh#
12
= <
f8 f8
g< g>
= < > ?
f> f> f? f?
g< g> g< g>
#P, h=
#P, h<
i&j
klm T
klm n
`IaC
ðñò
.rÇM+ 9:% 23JN O¯nL ¬-Rh#
7#! îïø O¯n
?;
"#$ %&% '()*+, &-./0 1234567
uvw ?xy
ü O¯n• -.-w D]lw ¡xqr¢ ghqr ~G ÉÊË)F 23J^ Dr ]l¡ U ¢z• —˜Rh#¸
ü ÉÊËw ]l–F %ˆR =£LM —• 23J^ Dr ]laN +- Ö• ¼×• ÉÊËw 9U^ Sc im0 Z¤aN
ÅFh#¸
ü ÉÊË 9U^ S¥ø t2L O¯n 9U^ Sl˜ ]l–F ¦+aN §ø^ ¨ U ¢h#
O¯n 9UÃ ÉÊË 9U^ ScM ]l–e Sh
12
#P, = 567 0
12
#P, = 567 0
#P, < 567 3
b-c ^™ }~ V+W b-c _™ }~ V+W
7#! îïø O¯n
!=
"#$ %&% '()*+, &-./0 1234567
uv +z h{ |}
îï F*e ŠÎ¡ " š• ©• h,ø ªh#
ü Q ™¿« îï F*• •Ša• •Nh#
ü îï F*• ¬-® aس#» ýN ¬-® ¯³##»r ŠÎ° U Gh#
ü îï F*w ±FN !$²¿ ³'qr ŠÎ®*K %h#
ü îï F*• `* þ?™¿Ã t¿ "«T ² gl} ¬-®³#»Ï M^8³j»Ï aF´³€» µqr ŠÎ¡ U ¢h# F¶w ™¿
«F ·kR îï F*• ŠÎ ¸+ah#
ü -.- ª« rC `l ¹¦qr E§®N !9 îï³jjéë¹¶º-êµjëèè¶ê·¶Ï¸jj·µç¹¶çé·´ë¹j¶·ç·ê»ø t0% F*qr
ŠÎ ¸+Ñah#
ü -.- ª«¦qr E§aN rC "™L îï F*L ¬-®³#»Ã M^8³j»+ t2L )*+˜ Í Rh# ŠÎ• ¡ U ¢•
' E§ 2 FÊ+ JŠ¡ U ¢6 "™L ¬-®³#»Ã M^8³j»+ )*“ îï F*e E§a˜ ºAñ»±»• 52•+ J
Š%h#
ü F³ ŠÎR îï F*w ¬-®³#»^ M^8³j»r 8¼½Ø M^8³j»^ ¬-®³#»r 8¾ &N „… îï F*ø t0ah
˜ ŠÎ¡ U Gh# ¿^ )*Ï ·ë#ã´é F*w îïF ŠÎ®* ¢h˜ ·ëjã´é F*w îïe ŠÎ¡ U Gh#
7#! îïø O¯n
!<
"#$ %&% '()*+, &-./0 1234567
1~ •€ uv +z •‚ ƒ„
îï 3<w †kÀø ¿2
ü Á@&•#Á€<•#ÁjklmFn€<•#Á52•€oF•
¿2»¸ãµ4#-çµæê·´¹ì€·êç-#¶-¶€ã+ç·èëµ-#öë¹
ü Á.rÄB€<•#ÁMÅi€<•#Á@&•#ÁFÆB€<•¸
¿2»¸éë--êµéê#ãç>-ê¹·#ãµ4#¹ë·´è´éç·´ë¹
ü Á@&•#ÁMÅi€<•#ÁDZñA€ZÈ•#Á52•€oF•¸¿2»¸
4ê(#ê-ç´+€¶ê¹4êµ#ôµç€(!7$#ê-ç´+€(ë€éº¶·ë-
ü Á-.-€ùúiT€<•#Á@&•#ÁMÅi€<•#Á52•€oF•¸
¿2»¸çɶ€æçèæç#+´(ê#-çµæê·´¹ì€ã+ç·èëµ-#öë¹
-.-N îï F* ?&e •Ša• •Nh
7#! îïø O¯n
!>
"#$ %&% '()*+, &-./0 1234567
…r†
ü 23JN ošiÊ.ϸ52• [ϸ52• 6ϸs.uqr Áή* ¢h#¸
ü 23JN Uˆ¡ U G} rg lËn 6“ ýN §–L ‚©M' wšRh#
ošiÊ.
ü ˜I< Ö× æó) ƒô, ìF
s.u
52• [ 52• 6
ü ]%,Š5 õ&
ü ,/D /M² ðñò5 ´`µö^%ÕHI •ˆ²mn
ü •ƒP Õ? ÷CøI V+:Û« •ƒP Õ5 ùú7 «ËûÖ k{
•u
ü •ƒP ü5 {ƒÕ? XøI Z[? PF:ý ²mn%þÿ%wAl •
ƒP üªë wA Z[D !-‘¸ ",m
ü •ƒP ü7 •u:P ‚¸më ðñò¸ Ö# ìF Z[$%D Žª
Z[D zK²m
ü ç&GHI V+ T,U‘ !- ¡m
ü •ƒP üÊ •ƒP ÕO ã~9¬- ˜I<I /M¬Ö '(D
wAl )*I •ã~97 š+{, lmn
7#7 23J
!?
"#$ %&% '()*+, &-./0 1234567
(456 ‡#ˆ
ü -.-LM SFT 23–• .rÇMFh#
ü -.-L Ìÿ% SFT^ ÌMa} Þrßw vˆ îïw O¯nL 9:%h#
ü .rÇMN O¯ne +•} ¢N -.- Þrßà CI f„%h#
7#$ -.- ù©FMB
!!
"#$ %&% '()*+, &-./0 1234567
(456 ‡#ˆ
public class SimpleProducer {
private final static Logger logger = LoggerFactory.getLogger(SimpleProducer.class);
private final static String TOPIC_NAME = "test";
private final static String BOOTSTRAP_SERVERS = "my-kafka:9092";
public static void main(String[] args) {
Properties configs = new Properties();
configs.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS);
configs.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
configs.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
KafkaProducer<String, String> producer = new KafkaProducer<>(configs);
String messageValue = "testMessage";
ProducerRecord<String, String> record = new ProducerRecord<>(TOPIC_NAME, messageValue);
producer.send(record);
logger.info("{}", record);
producer.flush();
producer.close();
}
}
<
>
< `IaC‘ /M:|& :¸ XY
> -`- —y)U C.5 $º°#Ê ….
?
? •ƒP üÿ •ƒP Õ? ã~9:Ö kl ã~9 —/)
!
! •ƒP Õ
! -`- ˜I<I T,U7 ÐûÖ k{ .½º¼01¯½2¯1º½¼7 •ˆ
8 •ˆl .½º¼01¯½2¯1º½¼7 /M:Ö k{ °¯Ì¼7 Â3
°¯Ì¼ov¸ þ4G“ /M, ž5ª KL )*I h-C ˜I<D /Mlmn
9 ǹ0°$ov7 ¤{ `IaC ûB .6D ¡7 ðñò KL7 ˜I<I /Mlmn
8
9
:
: Ô½º¼01¯½ “)8)5 +()!? E/:ý ù9lmn
7#$ -.- ù©FMB
!8
"#$ %&% '()*+, &-./0 1234567
op
#P,
qrst&
.½º¼01¯½2¯1º½¼
klm T
klm n
.ƽ#"#"ºÌ¯½
°¯Ì¼ov
u$ = u$ <
12 8
u$ = u$ <
12 9
8::;<;=>?@A
:¯Ì¼¯½
-`-
—y)U
"$BC DEFGHI
(456 ‰Š ‹Œ
ü îïø 52• 6'e ;ˆaÍh#
ü ¶ê¹4³» 52•+ Èe®˜ *V O¯nqr 9:° ÅG• ˆ4‹h#
ü SFT^ 9:a6 9L *¾Î2FTL SFT^ |€r ÏZL} J:%h#
$%& '()*
+,
-./ 0123
456 78
'(9:; #,2# <=>
?@ '()=/ #,
ABCDEFGHIJDKLMNOGJDJDFCPGQ
01 0 RS*
T U VW
7#$ -.- ù©FMB
!9
"#$ %&% '()*+, &-./0 1234567
(456 bŠ •y
ü 'ëë·¶·µçã#¶êµ(êµ¶ä .rÇM+ SFT^ 9:¡ þ= -.- ùúiTL „% Þrßw ÈiB F*ä·B
ü æê>#¶êµ´ç+´Bêµä¸23Jw 52• [^ CDQaN ùài^ •ˆ
ü (ç+ºê#¶êµ´ç+´Bêµä 23Jw 52• 6e CDQaN ùài^ •ˆ
ü çéæ¶ä¸.rÇM+ 9:% SFT+ Þrß)L ˆ=¦qr ¬-®gN• 9: ÎÐ ž«^ ÐG
ü 'ºèèêµ#-ê-ëµ>ä¸Þrßr 9:¡ SFT^ YÙr q6 Õ4 ;ˆ¡ |€ 5 lÑ# 686 77ÒÒ$$7!³7!ôó»
ü µê·µ´ê¶ä¸.rÇM+ Þrßr«T Lú^ q} Ó ] v9:e 2zaN ÔU^ •ˆ#¸686 !($./7Õ$.
ü 'ç·éâ#¶´Bêä¸YÙr 9:¡ 23J üþ §–# 686 (Õ7/$
ü +´¹ìêµ#-¶ä YÙ^ 9:a6 9X• 6hlN ü? 2“# 686• "
ü ãçµ·´·´ë¹êµ#é+ç¶¶ä¸23J^ O¯nL 9:¡ " ¦§aN O¯bc ùài
ü ê¹ç'+ê#´4ê-ãë·ê¹éêä¸Ö×Î .rÇMr t3¡• ž«^ ;ˆ# 686• èç+¶ê
ü ·µç¹¶çé·´ë¹ç+#´4ä¸.rÇM+ 23J^ 9:¡ " 23J^ BØÙn PÕr ~e• ž«^ ;ˆ
ÌU %n
ÌÚ %n
7#$ -.- ù©FMB
!:
"#$ %&% '()*+, &-./0 1234567
Ž•• .‘ <’ =+>‘ ,f“€ (456
public class ProducerWithKeyValue {
private final static Logger logger = LoggerFactory.getLogger(ProducerWithKeyValue.class);
private final static String TOPIC_NAME = "test";
private final static String BOOTSTRAP_SERVERS = "my-kafka:9092";
public static void main(String[] args) {
Properties configs = new Properties();
configs.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS);
configs.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
configs.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
KafkaProducer<String, String> producer = new KafkaProducer<>(configs);
ProducerRecord<String, String> record = new ProducerRecord<>(TOPIC_NAME, "Pangyo", "23");
producer.send(record);
ProducerRecord<String, String> record = new ProducerRecord<>(TOPIC_NAME, "Busan", "21");
producer.send(record);
producer.flush();
producer.close();
}
}
7#$ -.- ù©FMB
!Q
"#$ %&% '()*+, &-./0 1234567
Ž•• .‘ <’ =+>‘ ,f“€ (456
12
= <
f< f<
g< g>
= < > ?
f> f> f> f>
g< g> g? g!
#P, h=
#P, h<
wAl •ƒP ü¸ wAl Z[D PF¬- GȲm
>
f<
g?
?
f!
g<
!
f!
g>
8
f!
g?
9
f<
g!
7#$ -.- ù©FMB
!;
"#$ %&% '()*+, &-./0 1234567
^a” ?x•–‘ <•€ (456
!"#$%&'&$())'*+,-"&.+/%012")0,3*(+0%0%,4.+'5
!+%6(0.'7%4($')0(0%&'8,99.+'$,99.+':'8,99.+;(&0,+<=9.08,99.+>*+,-"&.+/%012")0,3*(+0%0%,4.+=&$())?@
!+%6(0.'7%4($')0(0%&'A0+%49'BC*D2EFGHI':'J0.)0J@
!+%6(0.'7%4($')0(0%&'A0+%49'KCCBABLG*EAILMILA':'J3<NO(7O(PQRQSJ@
!"#$%&')0(0%&'6,%-'3(%4>A0+%49TU'(+9)?'5
*+,!.+0%.)'&,47%9)':'4.V'*+,!.+0%.)>?@
&,47%9)=!"0>*+,-"&.+2,47%9=KCCBABLG*EAILMILAE2CF;DWX'KCCBABLG*EAILMILA?@
&,47%9)=!"0>*+,-"&.+2,47%9=YIZEAILDG8D[ILE28GAAE2CF;DWX'A0+%49A.+%($%.+=&$())=9.0F(3.>??@
&,47%9)=!"0>*+,-"&.+2,47%9=MG8]IEAILDG8D[ILE28GAAE2CF;DWX'A0+%49A.+%($%.+=&$())=9.0F(3.>??@
&,47%9)=!"0>*+,-"&.+2,47%9=*GLBDBDCFILE28GAAE2CF;DWX'2")0,3*(+0%0%,4.+=&$())?@
Y(7O(*+,-"&.+^A0+%49X'A0+%49_'!+,-"&.+':'4.V'Y(7O(*+,-"&.+^_>&,47%9)?@
*+,-"&.+L.&,+-^A0+%49X'A0+%49_'+.&,+-':'4.V'*+,-"&.+L.&,+-^_>BC*D2EFGHIX'J*(49<,JX'JS`J?@
!+,-"&.+=).4->+.&,+-?@
!+,-"&.+=7$")1>?@
!+,-"&.+=&$,).>?@
a
a
<
<); Z[$% PF
<
7#$ -.- ù©FMB
8=
"#$ %&% '()*+, &-./0 1234567
^a” ?x•–‘ <•€ (456
public class CustomPartitioner implements Partitioner {
@Override
public int partition(String topic, Object key, byte[] keyBytes, Object value, byte[] valueBytes,
Cluster cluster) {
if (keyBytes == null) {
throw new InvalidRecordException("Need message key");
}
if (((String)key).equals("Pangyo"))
return 0;
List<PartitionInfo> partitions = cluster.partitionsForTopic(topic);
int numPartitions = partitions.size();
return Utils.toPositive(Utils.murmur2(keyBytes)) % numPartitions;
}
@Override
public void configure(Map<String, ?> configs) {}
@Override
public void close() {}
}
<
>
< •ƒP ü‘ .ÌÆ»<ºA •· Z[ ]±HI PF
> .ÆÌ»<º‘ ž= •ƒP ü5 ðñò¸ {ƒÕ? PF:; ¥F Z[D >?¬4@ ìF
7#$ -.- ù©FMB
8<
"#$ %&% '()*+, &-./0 1234567
]4^ —˜ ,f ™š‘ ›A“€ (456
public class ProducerWithAsyncCallback {
private final static String TOPIC_NAME = "test";
private final static String BOOTSTRAP_SERVERS = "my-kafka:9092";
public static void main(String[] args) {
Properties configs = new Properties();
configs.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS);
configs.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
configs.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
KafkaProducer<String, String> producer = new KafkaProducer<>(configs);
ProducerRecord<String, String> record = new ProducerRecord<>(TOPIC_NAME, "Pangyo", "23");
producer.send(record, new ProducerCallback());
producer.flush();
producer.close();
}
}
!"#$%&'&$())'*+,-"&.+2($$#(&O'%3!$.3.40)'2($$#(&O'5
!+%6(0.'7%4($')0(0%&'8,99.+'$,99.+':'8,99.+;(&0,+<=9.08,99.+>*+,-"&.+2($$#(&O=&$())?@
bC6.++%-.
!"#$%&'6,%-',42,3!$.0%,4>L.&,+-H.0(-(0('+.&,+-H.0(-(0(X'Ic&.!0%,4'.?'5
%7'>.'d:'4"$$?
$,99.+=.++,+>.=9.0H.))(9.>?X'.?@
.$).
$,99.+=%47,>+.&,+-H.0(-(0(=0,A0+%49>??@
a
a
< ˜I<5 AB, ´ë .½º¼01¯½Cƹ¹DÆ1Å Â3
<
7#$ -.- ù©FMB
8>
"#$ %&% '()*+, &-./0 1234567
]4^ —˜ ,f ™š‘ ›A“€ (456
Åt6r ‡ø^ qN &N /Ó „zr ]l¡ U ¢•' 9:aN SFTwmM+ £ÿ% &N E§a˜ ÍRh#
ü Åt6r ‡ø^ 6hlN tÍ h,qr 5Û SFTw 9:F ÎÐa} ÜM 5• SFTw ‡ø+ ‚ƒ¡ &N
v9:qr G4 SFT mM+ Ü9° U ¢6 "™Fh#
ü gúÝr SFTw mM+ £ÿah˜ t6r 9: ‡ø^ qZK %h#
7#$ -.- ù©FMB
8?
"#$ %&% '()*+, &-./0 1234567
89: ‡#ˆ
public class SimpleConsumer {
private final static Logger logger = LoggerFactory.getLogger(SimpleConsumer.class);
private final static String TOPIC_NAME = "test";
private final static String BOOTSTRAP_SERVERS = "my-kafka:9092";
private final static String GROUP_ID = "test-group";
public static void main(String[] args) {
Properties configs = new Properties();
configs.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS);
configs.put(ConsumerConfig.GROUP_ID_CONFIG, GROUP_ID);
configs.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
configs.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(configs);
consumer.subscribe(Arrays.asList(TOPIC_NAME));
while (true) {
ConsumerRecords<String, String> records = consumer.poll(Duration.ofSeconds(1));
for (ConsumerRecord<String, String> record : records) {
logger.info("record:{}", record);
}
}
}
}
<
>
?
!
8
9
< XY ,Á? :#½"Ì»HI PF
> XY5 T,U7 ‘àE -`- —y)U5 ….ÿ%Ôº½#7 FG
? b-c HI ,Á? JKlmn b-c HI? ¤{ b-c5 xG? Lz
! `IaC‘ ã~9:; /Ml T,U7 •ã~9:Ö kl —/)7 PF
8 b-cDý XY? M:Ö k{ °0D°1½"D¯ov •Cò7 •u
9 b-c¸ Ôº¹¹ov •Cò7 Â3:; T,U7 ‘àÊC V+lmn
7#$ -.- ù©FMB
8!
"#$ %&% '()*+, &-./0 1234567
89: ‰Š ‹Œ
îïw O¯nqr«T SFT^ +È+6 Õ4 ÉÊË^ _`aN ¼×• D1 !+•+ ¢h#
ü (9 F=w ÉÊËr F7*‹ ÉÊË ghe _`aN Å
ü îïw vˆ O¯n' ÁÞaN ÉÊË^ _`aN Å
7#$ -.- ù©FMB
88
"#$ %&% '()*+, &-./0 1234567
89: ‰Š ‹Œ
#P, =
#P, <
#P, >
12
vwx =
567 JK
b-c ^™I ,N-§ b-c HI, d™5 Z[D M
ü ÉÊË ghqr ~G ÉÊË)• îïw (9 F= O¯n)L ¡R®* SFT^ +ÈW U ¢h#
7#$ -.- ù©FMB
89
"#$ %&% '()*+, &-./0 1234567
89: ‰Š ‹Œ
b-c _™ÿ b-c d™“ •·
ü ÉÊË ghqr ~G ÉÊË+ îïe ÁÞ4M SFT^ +ÈW "Ï (9w O¯n• üþ (9w ÉÊËL ¡R +Ñah#
ü (9 ÉÊËN žú 9w O¯nL ¡R° U ¢h#
ü Fú% vßqr ÉÊË ghw ÉÊË 9UN +È+}¿ aN îïw O¯n 9U5h ª½Ø 3ZK %h#
#P, =
#P, <
#P, >
12
vwx =
567 JK
vwx <
#P, =
#P, <
#P, >
12
vwx =
567 JK
vwx <
vwx >
7#$ -.- ù©FMB
8:
"#$ %&% '()*+, &-./0 1234567
89: ‰Š ‹Œ
b-c ^™‘ O| ¡¸ €P
ü ¿^ )*Ï 79w O¯ne +‹ îïe §ø¦qr ]la6 Õ4MN 79 Faw ÉÊËr F7*‹ ÉÊË ghqr _`
4K %h#
ü '• 79w ÉÊËr F7*‹ ÉÊË ghqr 79w O¯ne +‹ îïLM SFT^ +È+6 Õ4 ¡Ra˜ (9w ÉÊ
ËN O¯ne ¡Rq• àa} Äá =Žr â1 Rh#
#P, =
#P, <
#P, >
12
vwx =
567 JK
vwx <
vwx >
vwx ?
7#$ -.- ù©FMB
8Q
"#$ %&% '()*+, &-./0 1234567
89: œ•1 žŸ
wÖ IãHI Qž‘¸ D,/q 1=+•, b-c HIHI GÈ Iã? z+:; J2
ü ÉÊË gh• hÓ ÉÊË ghø ãl®N vße +•} ¢h#
ü ¿^ )*Ï _` M|w dÿ l?iG ä);ϸ5 l ˆ5^ UVaN SFT OF.©Ge Áå%h} +ˆ
ü ‚2“ l?i^ 2“mqr ÐGa6 Õ4M SFT^ æ©içMÙL ¬-a} Fà t2L þ§– ¦v^ Õ4 aèL ¦v
¡ ÅFh#
)ys z{
|}s~•$ €e
•‚ €e
+() šR D,/q
|}s~ •$
•‚
)ys z{
&-ĥ
+() šR
D,/q
#P, =
#P, <
#P, >
XY
vwx =
Sª)TCL
b-c HI
vwx =
vwx <
vwx >
:U GÈ
b-c HI
|}s~ •$
•‚
X?Y=/ YZ [  2]^ _`^ ab2>
cd YZ^ e^fT U VW
ghi jk=/ lm=/n
_`o p5qr stu
vwv xyz{
vwv xy
7#$ -.- ù©FMB
8;
"#$ %&% '()*+, &-./0 1234567
89: ϥ1 e
ü ÉÊË ghw ÉÊËL -j+ JŠa˜ *é1 °XY¸
ü ÉÊË ghqr F7*‹ ÉÊË) £ 0« ÉÊËL -j+ JŠa˜Ï¸-j+ JŠ% ÉÊËL ¡RR O¯n• -j+ JŠ
a• •• ÉÊËL ?ÄêF ë*“h#¸
ü Fú% øˆe •lœ•U³µê+ç+ç¹é´¹ì»•F©} «Óh#
b-c 01 ¨• ƒ +VWÏ ¨•
+VWÏO sý X ‘P ŠYDC A-Zmn
^nb-c‘ [‘¬¸ ŠY
_nb-c‘ £¬¸ ŠY
#P, =
#P, <
#P, >
12
vwx =
567 JK
vwx <
vwx >
#P, =
#P, <
#P, >
12
vwx =
567 JK
vwx <
vwx >
7#$ -.- ù©FMB
9=
"#$ %&% '()*+, &-./0 1234567
89: Ÿ¡¢i
ü lœ•U• ħa•' ¿d 0*ØMN Í Rh#¸
ü lœ•UF JŠ¡ " O¯nw ?Äêe ÉÊËr v¡RaN øˆLM 4R ÉÊË ghw ÉÊË)F îïw SFT^ ìe
U G6 "™Fh#¸
ü gh ˆ¿³ìµëºã¸éëëµ4´¹ç·ëµ»N lœ•Ue Jt2[N Ü¡e aNS ÉÊË ghw ÉÊË+ |+®1 wš° " í
•%h#¸
ü -.- Þrß £ % þ+ gh ˆ¿w Ü¡e U}%h#
ü ÉÊËN -.-w Þrßr«T SFT^ *†X• +È[N• ßie f4 6•%h# ³Þrß îïä jjéë¹¶º-êµjëèè¶ê·¶»
b-c¸ V+ @9l ðñò5 ´`µ? <]lm
vwx =
567 JK
3 4 L M N
OPI
12
#$%
LGJJXZ
FGRR23XZ
7#$ -.- ù©FMB
9<
"#$ %&% '()*+, &-./0 1234567
p(q ^£
ü s.u ßi• ÉÊË jklmFnLM <2¦Ï¸Å<2¦qr U}¡ U ¢h#¸
ü Ö# ¾O Ôº¹¹ov%•Cò‘ š+^ ' AF ô_`m ´`µ? <]lmn
ü ,aý AF ô_`m &wHI <]¬¸ "? tbƒG c´`µ <]c,ª
| Bdmn%
ü , ¾O Æ0#ºn1ºÑÑ"#n"Ì#¯½eƹnѰD ìF² Õ ,Š, Pf? '
H ƒg¶P hO ðñò7 ´`µ? <]lmn%
ü :Pi Ôº¹¹ov%•Cò Â3 ,j +VWÏ â¸ b-c k£ ù9 ƒ b-
c‘ V+:¸ T,U‘ ³¢ ⸠æç^ 𠡏 ‘‰ˆ, ¡¸ lml
LÃ7 ‘P| ¡mn
ü bƒG ´`µ? <]:œë Ôº¹¹ov%•Cò Â3 ,jD 1ºÑÑ"#:<Ì1ov%•
Cò7 Â3:ë ²mn%
ü 1ºÑÑ"#:<Ì1ov%•Cò¸ Ôº¹¹ov%•Cò7 ¤{ n”² ðñò5 ‘0 `P
o ´`µ? Ö×HI <]? š+lmn%
ü 1ºÑÑ"#:<Ì1ov%•Cò¸ ˜I<D <] êp? :| <], FŠGHI V
+¬q¸P AB:Ö¶P Öm+¸T ,¸ b-c5 V+WD 23? rsmn%
ü T,U V+ ƒôD t{ <] êp t ABD ƒô, ´/ uvmë wA ƒô
M T,U V+W, w-!Ö '(,mn%
ü ,7 {x:Ö k{ 1ºÑÑ"#y°<Ì1ov%•Cò7 •u:; <] êp? /M:
| AB, ´Ö /¶P T,U V+7 š+ š ¡mn%
ü :Pi twÖ <]O <] êp, çz{? •· |È V+ ³“ T,U5 ÷
C7 Ð0:P ‚H} T,U5 ³¢ V+‘ ¨• š ¡mn
Å<2¦ s.u ßi <2¦ s.u ßi
7#$ -.- ù©FMB
9>
"#$ %&% '()*+, &-./0 1234567
89: ¤š ¥|
ü ÉÊËN ãë++³»¸5MJ^ f4 23J)e =@q•' ãë++³»¸5MJ^ ÈeaN 2–L ùúiTLM SFT^ +ÈsN
Å• Zîh#¸
ü ÉÊË jklmFne ‚}a1 ®˜ ª«LM °ê·éâ굸Giïi+ ŠÎ®* ãë++³»¸5MJ^ Èea6 9L ³l 23J
)e ª« ¾r +ÈŸh#¸
ü F¨L E§¿+ <2¦qr ãë++³»¸5MJ^ Èea˜ ÉÊËN ª« ¾L ¢N 23J)e =@qZ ]l^ U}%h#
b-c ûB LÃ
„K3F4KM
FGRLJK3KN„K3F4KI
…GHIORKM†KFGMNI
LGJJXZ
567 DEFGHI
-`-
—y)U
7#$ -.- ù©FMB
9?
"#$ %&% '()*+, &-./0 1234567
89: bŠ •y
ü 'ëë·¶·µçã#¶êµ(êµ¶ä .rÇM+ SFT^ 9:¡ þ= -.- ùúiTL „% Þrßw ÈiB F*ä·B
ü æê>#4ê¶êµ´ç+´Bêµä¸23Jw 52• [^ ÜCDQaN ùài^ •ˆ
ü (ç+ºê#4ê¶êµ´ç+´Bêµä 23Jw 52• 6e ÜCDQaN ùài^ •ˆ
ü ìµëºã#´4ä¸ÉÊË gh ZF†^ •ˆ%h#¸
ü 纷ë#ëèè¶ê·#µê¶ê·ä¸ÉÊË ghF vˆ O¯ne ìe " ¬-R ÉÊË s.uF GN &N *V s.u«T ìe•
ÌÚaN %nFh#¸F³ ÉÊË s.uF ¢h˜ F %n6• ð2Rh#¸³+綷궷ϸêçµ+´ê¶·Ï¸¹ë¹ê»¸
ü 纷ë#éë--´·#´¹·êµ(ç+#-¶ä¸¿t ßi0 &N s.u ßi “ãe •ˆ%h#¸686• Ò"""³ÒŒ»Fh#
ü -çñ#ãë++#µêéëµ4¶ä¸ãë++³»¸5MJ^ f4 =@®N 23J 9U^ •ˆ%h#¸686• Ò""Fh#
ü ¶ê¶¶´ë¹#·´-ê뺷#-¶ä¸ÉÊË+ Þrßà s‡F ™6N üþ 2“Fh#¸686• (""""³("Œ»Fh#
ü âêçµ·'êç·#´¹·êµ(ç+#-¶ä¸aBÅB^ 9:aN 2“ “ãFh#¸686• 7"""³7Œ»Fh#
ü -çñ#ãë++#´¹·êµ(ç+#-¶ä¸ãë++³»¸5MJ^ ÈeaN “ãw üþ 2“e •ˆ%h#¸686• 7"""""³ÒX»Fh#
ü ´¶ë+ç·´ë¹#+ê(ê+ä¸BØÙn .rÇM+ 23J^ BØÙn PÕr 5Û &N E§%h#¸686• µêç4jº¹éë--´·ê4
ÌU %n
ÌÚ %n
7#$ -.- ù©FMB
9!
"#$ %&% '()*+, &-./0 1234567
89: ¦§ p(q ^£
!"#$%&'&$())'2,4)"3.+/%01A<4&2,33%0'5
!+%6(0.'7%4($')0(0%&'8,99.+'$,99.+':'8,99.+;(&0,+<=9.08,99.+>2,4)"3.+/%01A<4&2,33%0=&$())?@
!+%6(0.'7%4($')0(0%&'A0+%49'BC*D2EFGHI':'J0.)0J@
!+%6(0.'7%4($')0(0%&'A0+%49'KCCBABLG*EAILMILA':'J3<NO(7O(PQRQSJ@
!+%6(0.'7%4($')0(0%&'A0+%49'WLC]*EDe':'J0.)0N9+,"!J@
!"#$%&')0(0%&'6,%-'3(%4>A0+%49TU'(+9)?'5
*+,!.+0%.)'&,47%9)':'4.V'*+,!.+0%.)>?@
&,47%9)=!"0>2,4)"3.+2,47%9=KCCBABLG*EAILMILAE2CF;DWX'KCCBABLG*EAILMILA?@
&,47%9)=!"0>2,4)"3.+2,47%9=WLC]*EDeE2CF;DWX'WLC]*EDe?@
&,47%9)=!"0>2,4)"3.+2,47%9=YIZEeIAILDG8D[ILE28GAAE2CF;DWX'A0+%49e.).+%($%.+=&$())=9.0F(3.>??@
&,47%9)=!"0>2,4)"3.+2,47%9=MG8]IEeIAILDG8D[ILE28GAAE2CF;DWX'A0+%49e.).+%($%.+=&$())=9.0F(3.>??@
&,47%9)=!"0>2,4)"3.+2,47%9=IFGK8IEG]BCE2CHHDBE2CF;DWX'7($).?@
Y(7O(2,4)"3.+^A0+%49X'A0+%49_'&,4)"3.+':'4.V'Y(7O(2,4)"3.+^_>&,47%9)?@
&,4)"3.+=)"#)&+%#.>G++(<)=()8%)0>BC*D2EFGHI??@
V1%$.'>0+".?'5
2,4)"3.+L.&,+-)^A0+%49X'A0+%49_'+.&,+-)':'&,4)"3.+=!,$$>e"+(0%,4=,7A.&,4-)>f??@
7,+'>2,4)"3.+L.&,+-^A0+%49X'A0+%49_'+.&,+-'P'+.&,+-)?'5
$,99.+=%47,>J+.&,+-P5aJX'+.&,+-?@
a
&,4)"3.+=&,33%0A<4&>?@
a
a
a
ü ãë++³»¸5MJ+ ÈeR F¨L éë--´·õ>¹é³» 5MJ^ Èeaž ßie <2¦qr U}¡ U ¢h#
ü Þrßr«T ÉÊË s.u ßiF òÀ®g,e q6X• ÉÊËN SFT^ ^ ]la• •} 6hl6 "™L SFT ]l
–F ¦hN vßF ¢h#
7#$ -.- ù©FMB
98
"#$ %&% '()*+, &-./0 1234567
89: ¨¦§ p(q ^£
public class ConsumerWithASyncCommit {
private final static Logger logger = LoggerFactory.getLogger(ConsumerWithASyncCommit.class);
private final static String TOPIC_NAME = "test";
private final static String BOOTSTRAP_SERVERS = "my-kafka:9092";
private final static String GROUP_ID = "test-group";
public static void main(String[] args) {
Properties configs = new Properties();
configs.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS);
configs.put(ConsumerConfig.GROUP_ID_CONFIG, GROUP_ID);
configs.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
configs.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
configs.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, false);
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(configs);
consumer.subscribe(Arrays.asList(TOPIC_NAME));
while (true) {
ConsumerRecords<String, String> records = consumer.poll(Duration.ofSeconds(1));
for (ConsumerRecord<String, String> record : records) {
logger.info("record:{}", record);
}
consumer.commitAsync(new OffsetCommitCallback() {
public void onComplete(Map<TopicPartition, OffsetAndMetadata> offsets, Exception e) {
if (e != null)
System.err.println("Commit failed");
else
System.out.println("Commit succeeded");
if (e != null)
logger.error("Commit failed for offsets {}", offsets, e);
}
});
}
}
}
7#$ -.- ù©FMB
99
"#$ %&% '()*+, &-./0 1234567
89:1 ©,E ª«
ü ˆ=¦qr óÀ®• •• ÉÊËN >n ošZ¤F JŠ¡ "X• ÉÊË ghL â1 Rh#¸
ü Fr G4 ‚šrN óÀ®g•' ^N t3e a• •N ÉÊË+ ûva6 "™L O¯nw SFTN ? ®• àa} ÉÊ
Ë ôF S*Ø1 Rh#¸
ü ÉÊË ôF S*ؘ SFT ]l •sF JŠa1 Rh#
try {
while (true) {
ConsumerRecords<String, String> records =
consumer.poll(Duration.ofSeconds(1));
for (ConsumerRecord<String, String> record : records) {
logger.info("{}", record);
}
}
} catch (WakeupException e) {
logger.warn("Wakeup consumer");
} finally {
consumer.close();
}
static class ShutdownThread extends Thread {
public void run() {
logger.info("Shutdown hook");
consumer.wakeup();
}
}
7#$ -.- ù©FMB
$%$ 78 34 56
#$%& $
9Q
"#$ %&% '()*+, &-./0 1234567
uvw ?xy
‹îï• -.-w 23ø õFh’
‹-.-^ E§aN Å• îïe ')˜M 23Rh’
‹îïe wša˜ SFTN wš®} OF.©G• £PRh’
‹îïL þ4 ö F4a} ;ˆe öaN ÅF -.-^ f% SFT Ú§z^ ÔFN ±Fh’
$#( îïø O¯n
9;
"#$ %&% '()*+, &-./0 1234567
C— ?xy ‹¬
‹îïw O¯n 9UN -.-w ÎÑø `÷F ¢hÆ
îï ŠÎ 2 O¯n 9U }cEø
ü SFT ]l–
ü 52• [ E§ ž«
ü ÞrßϸÉÊË `‡z
‹O¯n• -.-w D]lw ¡xFh’
O¯nw 9U+ —Z•˜ —ZùU• (ä( —ú®N ÉÊËw 9U+ S*Ø6 "™Fh#
$#( îïø O¯n
:=
"#$ %&% '()*+, &-./0 1234567
C— ?xy ‹¬
SFT ]l „z^ ûlN ¼×• !+•h#¸
(# ÉÊËw ]l–e SlN Å
€ M|w EÑe ûlN im0 ü
€ ìé ýþ
!# ÉÊË^ |+4M D]l–e SlN Å
€ SFT ]l–e SlN +- Ђ% ¼×Fh#
€ .rÇM+ 5ªN SFT+ ŒR (Ï"""23JF} ÉÊË+ ]l¡ U ¢N SFT+ ŒR (""23J©˜
ü?% Ìÿ% O¯n 9UN ("9Fh#
`IaC
/M T,UW
b-c
T,U V+W
Z[ ™š
. ñ
QR 567 SH/ TFUH "$BCV WXY SH/WZ [Z 567 ]H ^_`abSH/ TF cdH e^fZg
!"! 567h iej k Xl $mn `opq rs tuvh wH_ xy Zzf {|n pY }v ~Zg
$#( îïø O¯n
:<
"#$ %&% '()*+, &-./0 1234567
Ž•• . -®• ¯°-±
ü 52• [^ E§kø t2L SFT ]l mM^ •ÿK aN &NL þ4 }c4K %h#¸
ü 52• [ E§ ž«N SFT ]l mMà !I% s`F ¢h#¸
ü .rÇM+ 68 O¯bc^ E§aN &N^ +ˆa¿#¸
ü 52• [^ E§a˜ .rÇM+ îïqr SFT^ 5Û " 52• [^ 42 ?@až 52• [^ O¯nL —˜2"h#
ü '• O¯n 9U+ o©•˜ F³ —˜R O¯nø 52• [w —˜F #•} 9$ hÓ O¯nL SFT+ ¡RRh#
Z[ ™š‘ ~ªPÖ ,/R ,j •ƒP üÊ Z[5 >? ’9n%Z[, _™A ' •ƒP ü °¯º0¹O ]±ÿ%•¯•0¸ ^± Z[
HI M¬qmn%Z[, d™A '¸ °¯º0¹ÿ%•¯•0 X ™5 •ƒP ü €X _± Z[HI M¬qmn
-`- —y)U
#P, =
#P, <
XY
&-ĥ
!"#$%&'()*+,
!"-$-&()*.,
-`- —y)U
#P, =
#P, <
XY
&-ĥ
!"#$%&'()*+,
!"-$-&()*., #P, >
$#( îïø O¯n
:>
"#$ %&% '()*+, &-./0 1234567
Ž•• . -®• ¯°-±
ü 52• [^ E§a} ÉÊËLM 52• ]l mM+ 5-®*K %h˜ üþ% O¯nw ?Q+ JŠa• •N ¼‡qr _
`4K %h#¸
ü 52• [%r ]l mM^ 5-a6 Õ4MN O¯n 9U^ .rÇM+ 9:aN SFTÑ5h ^ &&a1 y} ŠÎaN
ÅF Öh#
ü ¬•'qr }c4K ¡ –• Þrßà ÉÊËw `‡zFh#¸
ü -.-LM O¯n• œ Þrßw O0 2i†e E§a6 "™L O¯nF S*ØN '( ÞrßLM I)aN O0 9U+
—Z‹h#¸
ü g•S _`yšLMN .r>iR « U ¢N O0 üþ 9U^ š%a} ¢h#¸
ü gúÝr -.- Þrß+ I)aN O0 9U^ ͈¦qr Ä•a6 Õ4MN œ ÞrßR O¯n 9U^ îTI4K %h#
$#( îïø O¯n
:?
"#$ %&% '()*+, &-./0 1234567
uv —Ÿ —²mOTU$SWMQMLTNO³n
ü îïw SFTN 2“ ýN §–L ‚© wš …*e ¦§¡ U ¢h#¸SFT^ sàtÍ wša• •q˜ ¬-? E§–F •
„¦qr S*Ø1 Rh#
ü é+ê繺ã#ãë+´é> %ne E§až SFT^ wš¡ U ¢N !+• wš ˆ+e šÐ%h#
ü 4ê+ê·ê³wš»ä¸SFTw ò9 wš
ü éë-ãçé·³,å»ä¸t0 52• [w +- sàR SFT^ wšaN Å
$#( îïø O¯n
:!
"#$ %&% '()*+, &-./0 1234567
uv oh —²mVUTU&UMLTNO³n
ü îïe _`a˜ 0=¦qr þ«Xw îïw é+ê繺ã#ãë+´é>^ 4ê+ê·êr ;ˆ%h#¸
ü îïw SFT^ wš¡ "N >g‘B PÕr wš^ ‹}ah#¸
ü >g‘BN îïw SFT^ ¬-aN <2¦G O0 2i† PÕFh#¸
ü >g‘BN O¯n¬h %9r ŠÎ®, >g‘Bw O0 F*• s.u £ +- 3• 6F Rh#¸
ü >g‘BN žú œqr Ø-NS ¶êì-ê¹·#'>·ê¶ %nqr (9w >g‘B D6^ ;ˆ¡ U ¢h#¸
ü ¶êì-ê¹·#'>·ê¶ D65h ßù &N 6ûL ¦va_ >g‘B O0e ’} Tr_ >g‘B^ «*M SFT^ ¬-%h#
ü SFT^ ¬-a6 Õ4 E§ £G >g‘B^ .¯Þ >g‘B©} %h#
$#( îïø O¯n
:8
"#$ %&% '()*+, &-./0 1234567
uv oh —²mVUTU&UMLTNO³n
ü wš ˆ+F ‚}®N 2–• 2“ ýN §–F 6{F Rh#¸
ü µê·ê¹·´ë¹#-¶N îïw SFT^ Ä•aN 6“e !lŒr ;ˆ¡ U ¢h#¸
ü -.-N 0ˆ d6¬h >g‘B O0w ¬•' Uˆ 2“ø µê·ê¹·´ë¹#-¶^ Å/aNSϸ>g‘B O0w ¬•' Uˆ
2“F µê·ê¹·´ë¹#-¶^ ë*+˜ >g‘BN wšRh#¸
ü µê·ê¹·´ë¹#'>·ê¶N îïw üþ SFT D6^ š*%h#¸
ü µê·ê¹·´ë¹#'>·ê¶^ ë*“ >g‘B O0)• wšRh#¸
ü wšR SFTN xÁ¡ U Gh#
-`- —y)U
XY
Z[
= <
#$%&' -$-&
>= <>
]]n¹º»
= <
#$%&' -$-&
>= <>
=
#$%&'
>=
]_n¹º» ]en¹º»
i&j
klm T
klm n
€[˜
•H‚q
$#( îïø O¯n
:9
"#$ %&% '()*+, &-./0 1234567
uv ´µ —²mOLXM$O&MLTNO³n
ü ,å ˆ+• .¯Þ >g‘B^ š¶% ØË• >g‘B)L %4M SFT^ ]l%h#¸
ü SFTw ,å 23 2–• -´¹#é+êç¹ç'+ê#4´µ·>#µç·´ë %n6e ‚Óh#¸
ü -´¹#é+êç¹ç'+ê#4´µ·>#µç·´ë %n6• .¯Þ >g‘B^ š¶% >g‘BL âZ ¢N SFTw ö0 `Üw 23J 9
UÃ 0J `Üw 23J 9Uw Å1e 2%h#¸
ü ö0 `Ü• Þrßw ,å ˆ+L w4 ,åF òÀR 23J^ 2%h#¸
ü ö0 `Üw 23J)• •ù³é+êç¹»¸rg•©} «0} ,åF òÀ36 "™L ö0 `ÜLN £xR 52• [+ Gh#
ü 0J `Üw 23J)• •^¯³4´µ·>»¸rg•©} «0} ,åF ®6 9 23J^F ¢qÝr £xR 52• [^ +‹ 23
J)F ¢h#
XY ÜÝD Žd T,U5 ’9n%‘0 8ƒ5
•ƒP ü ðñòi „Ö| «cP¸ Ú£lmn
= < > ? ! 8 9
f< f> f? f? f< f> f<
g< g< g< g< g> g> g?
•€ •
OPI
i&j
klm T
klm n
? 8 9
f? f> f<
g> g> g<
•€ H‚
OPI
i&j
klm T
klm n
$#( îïø O¯n
::
"#$ %&% '()*+, &-./0 1234567
uv ´µ —²mOLXM$O&MLTNO³n
ü •^¯ Å1³4´µ·>¸µç·´ë»•• ^¯ `Üw 52• 9U^ ,å þ= >g‘BL âZ¢N SFTw 4 23J U³^¯ `Ü
52• 9U 5¸ù `Ü 52• 9U»r Ø6 Å1e 2%h#¸
ü '• ù7 `ÜL 79w 23J+ ¢} ^¯ `ÜL 23J+ 79 ¢h˜ ^¯ Å1• "#ÒFh#
ü îïw ,å• -´¹#é+êç¹ç'+ê#4´µ·>#µç·´ë6L ‚© U}Rh#¸
ü '• -´¹#é+êç¹ç'+ê#4´µ·>#µç·´ë %n6e "#Òr ;ˆ¡ &NL ^¯ Å1F "#Ò+ ë*+, ,åF U}Rh#¸
ü -´¹#é+êç¹ç'+ê#4´µ·>#µç·´ë6e "#²Ã ªF D1 ;ˆa˜ %Z ,åe ¡ " —• SFT+ 8*)Ýr ,å §ø+
Dh#¸
ü -´¹#é+êç¹ç'+ê#4´µ·>#µç·´ë^ "#(ø ªF 31 ;ˆa˜ ,åF ^ ¿d 0*Ø6 "™L 9„4M 52• [w ü„
SFT' Ä•¡ U ¢h#¸
ü a•' ,åF ¿d JŠaN '( ÞrßL «:e 8 U ¢h#
…Aÿ%†ò 2•5 ðñò7 ‡ƒl Z[
= < > ? ! 8 9
f< f> f? f? f< f> f<
g< g< g< g< g> g> g?
OPI
i&j
klm T
klm n
†ò 2•
…A 2• €[˜ •H‚q
$#( îïø O¯n
:Q
"#$ %&% '()*+, &-./0 1234567
ˆ¶·mˆSK¶³SOK·UMTNO$Pn
ü ±õñ• l^ O¯nø ŒrC O¯nF L UD+ R =Ž^ 2%h#¸
ü xš 9U+ !G îïe +ˆ45¿#¸
ü F îïLN l^ O¯n (9Ã ŒrC O¯nF (9+ ûv¡ ÅFh#¸
ü l^ O¯nL "«T 7w s.uF ¢h} +ˆ¡ "ϸŒrC O¯nL t6Q+ òÀ®c˜ "«T 7X• s.uF ûv4K
%h#¸
ü l^ O¯nø ŒrC O¯nF t6QR =ŽLMN l^ ýN ŒrC O¯nF ÕÙaN ÞrßL -j+ JŠa^©z SF
T^ Í9a1 E§¡ U ¢h#
…:2O +© Z[R åIr Z[5 ´`µ, wAl Š*7 ˆlmn
XY
?
>
+© Z[
<
=
˜I< ‰]
XY
?
>
åIr Z[
<
=
˜I< ‰^
…:2
o…ÌŠ:<Ì1Š2¯Ô¹"1ưv
$#( îïø O¯n
:;
"#$ %&% '()*+, &-./0 1234567
ˆ¶·mˆSK¶³SOK·UMTNO$Pn
ü ±õñ• l^ O¯nø ŒrC O¯nF L UD+ R =Ž^ 2%h#¸
ü ±õñF©N §*+ ØŸ FÄN ŒrC O¯nF l^ O¯nqr«T SFT^ xšaN SL 2“F ;l6 "™Fh#¸
ü .rÇM+ vˆ O¯nL SFT^ ¬-aN 3ü• l^ O¯ne f4 ]l%h#¸
ü F" l^ O¯nL Tr_ 23J+ |+®* s.uF ¦+a˜ ŒrC O¯nF ÕÙN ÞrßN l^ O¯nw SFT^
xš%h#¸
ü l^ O¯nL SFT+ ¦vR F¨ ŒrC O¯nF xšaN 2“< "™L l^ O¯nø ŒrC O¯n “L s.u <F
+ JŠ%h#¸
ü F• <F^ îTIa6 Õ4 l^ O¯n• µêã+´éç#+çìÏ·´-ê#-çñ#-¶6'(w d6^ +•} ŒrC O¯nF SF
T^ xšaN• ÐG%h#¸
ü '• ŒrC O¯nF µêã+´éç#+çìÏ·´-ê#-çñ#-¶65h ^ = 2“ tÍ SFT^ +È+• •Nh˜ 4R ŒrC O¯
nL ™š+ Š= Åqr >Pa} ±õñghLM š¶%h#
åIr Z[, kLl ˜I<¸ +© Z[5 T,U7 ¢£lmn
XY
+© Z[
˜I< ‰]
`IaC
XY
åIr Z[
˜I< ‰^
`IaC
$#( îïø O¯n
Q=
"#$ %&% '()*+, &-./0 1234567
ˆ¶·mˆSK¶³SOK·UMTNO$Pn
ü ±õñr ~G l^ O¯nø ŒrC O¯n• O¯nL ûvaN SFT+ L t0a6 "™L ŒrC O¯n• l^ O¯n
qr Tr Ìe° ¿ãe +‹h#
ü 0« SFT Ä‚F JŠa^©z MÅi^ £Pa• •} •„¦qr îïe E§a} Hh˜ ±õñF ZE ŒrC O¯ne
l^r Ìeaz• ;ˆ¡ U ¢h#
ü º¹é+êç¹#µêç4êµ#ê+êé·´ë¹#ê¹ç'+ê %ne èç+¶êr ;ˆ¡ &N ±õñF ZE ŒrC O¯ne l^ O¯nqr Ìea
• •Nh#¸
ü F &NLN l^ O¯nF ûvaN Þrß+ h2 23° "X• 6hh#¸
ü FÅ• îïe E§aN MÅi+ £P?e 2%h#¸
ü -j+ JŠ% Þrß+ h2 ‚}° "X•N 4R îï• E§¡ U Gh#¸
ü þ„ SFTw Ä‚• JŠa• •Nh#
0Ì1¹¯ÆÌn½¯Æ¼¯½n¯¹¯1#"ºÌn¯ÌÆD¹¯, ÇÆ¹°¯“ •·D¸ +©I
J3 åIr Z[, ‹HŒI +© Z[, ¡¸ ˜I<‘ mƒ
ç+^ '¶P Ömvmn
XY
?
>
+© Z[
<
=
˜I< ‰]
XY
>
åIr Z[
<
=
˜I< ‰^
…:2
$#( îïø O¯n
Q<
"#$ %&% '()*+, &-./0 1234567
ˆ¶·mˆSK¶³SOK·UMTNO$Pn
ü º¹é+êç¹#µêç4êµ#ê+êé·´ë¹#ê¹ç'+êe ·µºêr ;ˆaN &NLN ±õñF ZE ŒrC O¯nϸ@ t6Q+ ®• ••
ŒrC O¯nz l^r Ìe° U ¢h#¸
ü l^ O¯nF ûvaN ÞrßLM -j+ JŠa} t6Q®• •• ŒrC O¯nF l^r Ìe®˜ l^ O¯nqr«T
t6Q+ ®• •• 0« SFTN Ä‚° U ¢h#¸
ü 0« SFT+ Ä‚®N þ„ îïe E§aN MÅiw £P• JŠa• •Nh#
0Ì1¹¯ÆÌn½¯Æ¼¯½n¯¹¯1#"ºÌn¯ÌÆD¹¯, #½0¯“ •·D¸ …:2, ž= åIr Z[
4 +©I J3^ š ¡mn%01‘ ¨•l ˜I< ‰]5 ´`µ d5 ðñò¸ æç²mn
$#( îïø O¯n
Q>
"#$ %&% '()*+, &-./0 1234567
'(' (456
ü .rÇMN -.-L SFT^ ¬-aN A P9Fh#
ü -.- ùúiTN 7þ F=w Þrßr F7*È ¢*M 0« ÞrßL FÊ+ Š6^©z SFTw Ä‚e 'e U ¢h#
$#! -.- .rÇM
Q?
"#$ %&% '()*+, &-./0 1234567
$OIP •y
çéæ¶B"
ü çéæ¶^ "qr ;ˆaN Å• .rÇM+ l^ O¯nqr SFT^ 9:¥e " l^ O¯nqr SFT+ ¬-®gN• Ð
Ga• •NhN 2Fh#¸
ü l^ O¯n• SFT+ ¬-R F¨L SFT+ C ZD s.uL ¬-®gN• lïaNSϸçéæ¶+ "qr ;ˆ®* ¢h˜
.rÇMN l^ O¯nL SFT+ ¬-®gN• ž«L þ% EF 6e q• •Nh#¸
ü g›6 "™L .rÇM+ SFT^ 5• F¨L F SFT+ C ZD s.uL ¬-®gN• ÐG¡ U Gh#
Æ1Ű•]“ •· `IaC5 wŽÿ%+© Z[D T,U‘
GȬP ‚©ª4 ˆ•HI •jlmn
ü `IaCD¸ T,U5 /M, çz{? ' ȃ47 š ¡4@ ½¯#½"¯°%¾?
ìF 𠡏Tÿ%Æ1Ű‘ ]A ' `IaC¸ /M? :& `& •0¬qi? ‘
F:| mi T,U7 /M:Ö '(D T,U /M, çzl •·7 ‘ š ‹mn%
ü ŽªC ½¯#½"¯°‘ _,ŠHI ìF¬- ¡©ª4 ȃ47 :P ‚Ö '(D ½¯#½"
¯°%¾ÕO è5’:mn
ü Æ1Ű7 ]HI ìF{? •·ÿ%`IaCÊ ˜I< •,5 pqrs ´ú« ˜I<
5 ,- “HI “{ T,U‘ æç¬©ª4 `IaC¸ +© Z[HIBU AB
Õ? ”P ‚Ö '(D PéGHI mi T,UI Еmn%
ü HaÖ '(D T,U5 /M é4¸ Æ1Ű7 ^%⸠ƹ¹I {? •·Ðm –— ˜
™mn%T,U‘ AB æç, ¨•:©ª4 /M é4‘ ³êl •·D¸ , ¾Õ
? •u:ë šmn
XY
+© Z[
˜I< ‰]
`IaC
XY
åIr Z[
˜I< ‰^
$#! -.- .rÇM
Q!
"#$ %&% '()*+, &-./0 1234567
$OIP •y
çéæ¶B(
ü çéæ¶^ (r ;ˆ¡ &N .rÇMN 5• SFT+ l^ O¯nL' ˆ=¦qr ¦v®gN• ÐG%h#¸
ü '• l^ O¯nL ˆ=¦qr ¦v®• •‘h˜ l^ O¯nL ¦v° "X• v2z¡ U ¢h#¸
ü gúØ l^ O¯nL ¦v®g,e 5-a^©z SFTN Ä‚° U ¢h#¸
ü GHa˜ xš 9U^ !F=qr _`¡ &N l^ O¯nL ¦v+ òÀ®* ¢*z ŒrC O¯nLN ZC SFT+ t6
Q®• •e U ¢NSϸŒrC O¯nF SFT^ xša6 C9L l^ O¯nF ¢N ÞrßL -j+ JŠa˜ t6Q®•
à% 0« SFT+ Ä‚° U ¢6 "™Fh#
Æ1Ű•^“ •· `IaC5 wŽÿ%+© Z[D T,U‘
•0¬qHë ˆ•HI •jlmn
ü Æ1Ű7 ^I ìF:ë +© Z[D T,U‘ GÈ^ '¶P Ömv › AB Õ?
”Ö '(D Æ1Ű7 ]HI ìF:¸ "D t{ /M é4‘ œ+mn
XY
+© Z[
˜I< ‰]
`IaC
XY
åIr Z[
˜I< ‰^
$#! -.- .rÇM
Q8
"#$ %&% '()*+, &-./0 1234567
$OIP •y
çéæ¶Bç++¸ýN çéæ¶B€(
ü çéæ¶^ ç++¸ýN €(r ;ˆ¡ &N .rÇMN 5• SFT+ l^ O¯nø ŒrC O¯nL L ˆ=¦qr ¦v®gN
• ÐG%h#¸
ü l^ O¯nI' Zî© ŒrC O¯nX• SFT+ ¦v®gN• ÐGa6 "™L "ýN (¸%n5hz „z+ Vlh#¸
ü gJLz ¸Áa} ŒrC O¯nL SFT+ ˆ= ¦v®gN• 6hl6 "™L 0« ÞrßL -j+ JŠa^©z .rÇ
MN Í9a1 SFT^ 9:a} ¬-¡ U ¢,e 5-¡ U ¢h#
ü Æ1Ű7 ƹ¹I ìF •· XY jkI ìF ‘‰l Ñ"Ìn"̰<Ì1n½¯Ô¹"1ư ¾
ÕD Žª T,U5 EFˆ, ~ª§mn%
ü ƹ¹%¾ÕO €• +© Z[R åIr Z[5 GÈ7 ˆ:¸ "O ž5| …:2
D ÒÓ² Z[!? ˆ:¸ ",Ö '(,mn%
ü Ñ"Ìn"̰<Ì1n½¯Ô¹"1ư ¾O `IaC‘ +© Z[R åIr Z[D T,
U‘ GȬq¸P –“:Ö kl 8( …:2%HI5 Z[ ™š,mn%
ü ž7 !ë Ñ"Ìn"̰<Ì1n½¯Ô¹"1ư5 ¾Õ, ^,ªë …:2%³ 8( ^™ ,Š5
Z[D T,U‘ GȬqi? –“:¸ ",mn%
ü , •· Æ1Ű7 ^I {? 'Ê wAl wŽ? :¸Tÿ%Ÿ :ë …:2%³ ‘0 V
i GÈ‘ @9¬¸ Z[O +© Z[,Ö '(,mn
Æ1Ű•ƹ¹“ •· `IaC5 wŽ
XY
+© Z[
˜I< ‰]
`IaC
XY
åIr Z[
˜I< ‰^
$#! -.- .rÇM
Q9
"#$ %&% '()*+, &-./0 1234567
$OIP •y
çéæ¶Bç++¸ýN çéæ¶B€(
ü Ñ"Ìn"̰<Ì1n½¯Ô¹"1ư5 ¾Õ? _I ìF{? 'BU Æ1Ű7 ƹ¹I ìF:¸ 5
’‘ ¡mn%
ü , •· …:25 _™ ,Š5 Z[D T,U‘ FŠ GȬqi? –“lm¸ ˆ,mn%
ü …:25 _™ ,Š5 Z[D GȬqi? –“lm¸ ˆO G-4 +© Z[R ^™
5 åIr Z[D T,U‘ FŠGHI GȬqi? Ð0lmn
Æ1Ű•ƹ¹ÿ%Ñ"Ìn"̰<Ì1n½¯Ô¹"1ư•^“ •· `IaC5 w
Žn%Æ1Ű7 ^I {? 'Ê wA:mn
XY
+© Z[
˜I< ‰]
`IaC
XY
åIr Z[
˜I< ‰^
…:2
$#! -.- .rÇM
Q:
"#$ %&% '()*+, &-./0 1234567
$OIP •y
ü -´¹#´¹¶>¹é#µêã+´éç¶^ ;ˆ¡ "N xš 9Uz kl }c4K %h#¸
ü GHa˜ _`aN -.-w Þrß 9U+ -´¹#´¹¶>¹é#µêã+´éç¶w %n65h 3• &NLN .rÇMN ^N SFT^
9:¡ U G6 "™Fh#¸
ü xš 9U^ 7qr ;ˆa} -´¹#´¹¶>¹é#µêã+´éç¶^ 7qr ;ˆaN &N^ ¿r ) U ¢h#¸
ü Þrß 7þ £ (þL FÊ+ JŠaž t3a• àaN =£F Š6˜ .rÇMN SFT^ 4R îïL ^N 9:¡ U Gh#
ü GHa˜ ü?%w xš®*K aN O¯n 9U+ 7GS ŒrC O¯nF ÕÙ¡ Þrßw 9U+ «Ka6 "™Fh#¸
ü F &NLN »ë·L¹ëºìâñêã+´éç¶Lñéêã·´ë¹ ýN »ë·L¹ëºìâñêã+´éç¶Aè·êµAããê¹4Lñéêã·´ë¹F JŠaž
^N îïqr SFo^ 9:¡ U Gh#
ü -´¹#´¹¶>¹é#µêã+´éç¶ %ne ;ˆ¡ " |+r dw4K ¡ –• Mþr Þrß 9Uà t0% t¿r ;ˆa˜ Í Rh
N ÅFh#¸
ü Þrß 7þr ùúiT^ _`a˜M -´¹#´¹¶>¹é¶#µêã+´éç¶ %ne 7qr ;ˆaN &N^ ¿r ) U ¢h#¸
ü F• =£LM -.- ùúiTw |9 üg2FJà ª• =£F JŠa˜ ÷rßN •I h_ ošF Š6NSϸÞrß+ (
9©z £P®˜ .rÇMN SFT^ |+¡ U Gh#¸
ü gúÝr îï% -´¹#´¹¶>¹é#µêã+´éç¶ %n6• Þrß 9U ³'qr ;ˆ4M _`4K %h#
$#! -.- .rÇM
QQ
"#$ %&% '()*+, &-./0 1234567
$OIP •y
ü =§@&LMN 0=¦qr Þrß^ 7þ F=qr ~* ùúiT^ _`aNSϸF –e }caž .rÇM+ SFT^ +-
͈¦qr 5ªc˜ îïw xš 9UN 7ϸ-´¹#´¹¶>¹é#µêã+´éç¶^ !r ;ˆa} .rÇMN çéæ¶^ ç++r ;ˆaN
Åe |N%h#
Æ1Ű•ƹ¹ÿ%½¯Ô¹"1Æ#"ºÌnÇÆ1#º½•dÿ%Ñ"Ìn"̰<Ì1n½¯Ô¹"1ư•d“ •· ˜I< ³
^ø‘ |0«ë ©¸ XYD T,U7 С š ‹mn
XY
+© Z[
˜I< ‰]
`IaC
XY
åIr Z[
˜I< ‰^
…:2
XY
åIr Z[
˜I< ‰_
$#! -.- .rÇM
Q;
"#$ %&% '()*+, &-./0 1234567
¸¹º (456
ü Ö×ÎFð žú Z sze U}a^©z t0% ‡ø^ ØoªN Åe 2%h#¸
ü Fú% w³LM Ö×Î .rÇMN t0% SFT^ žú Z 9:a^©z -.- ùúiTL P % Z' ¬-?e w³%h#
ü 68 .rÇMw t3 ¼½• ¦*z %Z 9o³ç·¸+êç¶·¸ë¹éê¸4ê+´(êµ>»e •Š%h#¸
ü ¦*z %Z 9oFð .rÇM+ ùúiTL SFT^ 9:až ¬-¡ " ¦*z % Z F= SFT^ ¦v¡ U ¢} SF
T+ Ä‚®• •,e 2%h#¸
ü h'ϸL Z F= ¦v¡ +ÑÎF ¢qÝr SFTw £xF JŠ¡ U ¢h#
ü .rÇM+ 5ªN SFTw £x ¦v^ '6 Õ4 "#((#"¸F¨ |9«TN .rÇMLM ê¹ç'+ê#´4ê-ãë·ê¹éê%ne
E§až ˆÐ” %Z 9o³êñçé·+>¸ë¹éê¸4ê+´(êµ>»e •Š%h#¸
ü ê¹ç'+ê#´4ê-ãë·ê¹éê%nw 686• èç+¶êF, ˆÐ” %Z 9oe Õ4MN ·µºêr %n6e ;ˆ4M Ö×Î .r
ÇMr t3az• ')˜ Rh#¸
ü Ö×Î .rÇMN 68 .rÇMà ol SFT^ Þrßr 9o¡ " .rÇM )±ò³)µë4ºé굸º¹´íºê¸±ò»Ã 2Oi ë
|^ kl 9o%h#¸
ü gú˜ ÞrßN .rÇMw )±òÃ 2Oi ë|^ ÐGaž t0% 52•w ¦v ÿ!F s^©z P % Z' SFT^ ¦
vkqr¢ .rÇMw SFTN ˆÐ” %Z ÞrßL ¦v®z• t3%h#
$#! -.- .rÇM
;=
"#$ %&% '()*+, &-./0 1234567
¸¹º (456
`IaCÊ ˜I< •,5 pqrs 01I T,U¸ l ± ,Š /~^ š ¡mn ¢“ˆ `IaCI wŽ •· pqrs 01‘ ¨•:©ª4 ˜I<D wAl
•ƒP¸ GÈ:P ‚¸mn%¢“ˆ `IaC‘ /M:¸ T,UD .…£Ê ƒ¤)
¥.‘ ¡¸Tÿ%˜I<¸ .…£Ê ƒ¤) ¥.I ³¢? ¦s:Ö '(,mn
jÿ%¢“ˆ `IaC¸ wAl •DCi F–§ l± /~? Ð0lmn%;ÖC ¨:¸ wAl •,© .…£5 •bªÖ7 ˆlmn%im ¢“ˆ `IaCI w
Ž:¸ `IaC 1=+•,D ,-‘ ¨•:; ù9¬| 1=+•,? ȃŽ:ë .…£‘ ~ª§mn
`IaC Z[
«^ ˜I<
°¯Ì¼ov
`IaC Z[
«^ ˜I<
Æ1Ű
`IaC Z[
«^ «^ ˜I<
°¯Ì¼ov
`IaC Z[
«^ ˜I<
Æ1Ű
«^
`IaC Z[
«^o°¯¬•]v ˜I<
°¯Ì¼ov
`IaC Z[
«^o°¯¬•]v ˜I<
Æ1Ű
`IaC Z[
«^o°¯¬•]v ˜I<
°¯Ì¼ov
`IaC Z[
«^o°¯¬•]v ˜I<
Æ1Ű
$#! -.- .rÇM
;<
"#$ %&% '()*+, &-./0 1234567
'(' 89: – »x a…† 89:
ü -.-N ]l–e Sl6 Õ4 O¯nø ÉÊË 9U^ ScM _`¡ U ¢h#¸
ü O¯ne žú 9r _`aN &N SFT^ D]la6 Õ4M O¯n 9UÃ ÉÊË 9U^ t0a1 P|N ÅF +- Ö
• ¼×Fh#¸
ü îïw O¯n• (9 F=qr F7*È ¢q, (9w O¯n• (9 ÉÊË+ ¡R®* SFT^ ]l¡ U ¢h#¸
ü O¯n 9U+ ¹9©˜ t0 ÉÊË ghqr ~G ÉÊË i2J^ üþ ¹9 _`¡ U ¢h#¸
ü gúÝr ¹9w i2J^ +‹ (9w .r>i^ _`a½Ø (9w i2J^ +‹ .r>M^ ¹9 _`aN ¼×z ¢h#
d™5 `I•CI wŽ:¸ b-c HI yÿ%^™ `I•)Ê d™ )ðòI wŽ:¸ b-c HI
ü b-c7 -[ )ðòI ®u:¸ ¯°O sý X ‘PI «±mn
ü ² ±³¸ b-c )ðò¸ ^™i ç+:| T,U7 V+7 ØM:¸ r
s )ðò7 ;y ™ ç+:¸ ¯´“ -[ rs )ðò /µ,mn%
ü X ±³¸ b-c “)8)DC Ôº¹¹ov%•Cò7 Â3:¸ )ðò7 ;y
™ ¶rC •u:¸ b-c -[ )ðò /µ,m.
XY
Z[ ]
Z[ ^
Z[ _
b-c )ðò ]
`I•)
b-c )ðò ^
`I•)
b-c )ðò _
`I•)
b-c HI y
b-c )ðò ]
`I•)
b-c HI ·
b-c )ðò ^
b-c )ðò _
$#7 -.- ÉÊË
;>
"#$ %&% '()*+, &-./0 1234567
'(' 89: »x ¼j a…† ,½
ü Þrßr«T 9oq• 23J)e Dr ]l%h˜ (9w ÉÊË i2Jr q• SFT)e ^Q ‡=R „zr ]l¡ U
¢h#¸
ü R¯ i2J^ E§a˜ œ6 hÓ 23J)w SFT ]l^ t2L ‚}¡ U ¢6 "™L ]l 2“e u¬” 80 U ¢h#
n¢L(HI V+7 @9:¸ ƒôo¸^vÐm }~V+I @9:¸ ƒôo¸_v, © Gý uvmn
ƒô
ðñò
y
·
C
¸^
Ǻ½%n¢L(HI V+:¸ •·
ƒô
ðñò
y
·
C
¸_
}~V+:¸ •·
$#7 -.- ÉÊË
;?
"#$ %&% '()*+, &-./0 1234567
'(' 89: »x a…† ,½
ü aØw O¯n• t0 ÉÊË £ üþ (þX• ¡RRh#¸
ü gl} aØw ÉÊËN žú O¯nL ¡R° U ¢h#¸
ü F• vße +- ö SlN ¼×• (9w jklmFnL ÁÞa}¿ aN îïw O¯n 9U'( ÉÊË i2J 9U^ S
cM _`aN ÅFh#¸
ü ÉÊË i2J^ ScM _`a˜ œ i2JL œ O¯nF ¡R®,ϸO¯nw 23J)e D]l¡ U ¢h#
Z[ ™ši¹ b-c )ðò7 J2:¸ 1=+•,
;ÖC ª5{, gO Lº:|& :¸ XY5 Z[ ™ši¹i b-c )ðò7 J2:¸ ",mn%
b-c )ðò‘ ™šÐm fžPë M Z[ ™š‘ ©¸ ‹HŒI Z[D M¬P »l b-c )ðò¸ T,U7 V+7 :P ‚ý ²mn
XY
Z[ ]
Z[ ^
Z[ _
1=+•,
b-c )ðò
b-c )ðò
b-c )ðò
$#7 -.- ÉÊË
;!
"#$ %&% '()*+, &-./0 1234567
89: ¾
ü aØw O¯n• t0 ÉÊË £ üþ (þX• ¡RRh#¸
ü ÉÊË ô³TA•»• îïw ü„ s.u³T²•€L»ò€²°°õL<»ø ÉÊË s.u³ä;ññL»<€²°°õL<»¸“w <Fh#¸
ü .rÇMN 9„4M Tr_ SFT^ O¯nL ¬-a} ÉÊËN ¿„F ]l¡ U ¢N '( SFT^ +È“h#¸
ü ÉÊË ô• ÉÊË+ ˆ= t3aN• ž«^ ÐG¡ U ¢6 "™L ÉÊË jklmFne _`%h˜ ÌU¦qr îTI
4K aN •®Fh#
b-c ¼O ‘0 8Þ ´`µR b-c ´`µ ô5 ß,,mn%
½‡¾Š¿À£Š‡ÁÁ:¿¸vO eÿ%CÂ22¿À¸Š‡ÁÁ:¿¸O _ÿ%½y¾O _,mn
Z[ ] ^ _ d e
`IaC
b-c
$#7 -.- ÉÊË
;8
"#$ %&% '()*+, &-./0 1234567
89: ¾
b-c ¼O b-c HIR XYÿ%Z[ÃI •ˆ²mn%^™5 XY
D d™5 Z[, ¡| ^™5 b-c HI, XY? Lº:; T,
U7 ‘à‘ë b-c ¼O Ä d™‘ ²mn
Z[ d™I Lˆ² XYD b-c‘ M¬ë b-c ¼O Ä d™‘
²mn%;ÖC €• Z[5 b-c ¼O _I wA:mn
`IaC‘ Ðû¸ T,Ug, b-c5 T,U V+WÐm smë b-c ¼
O ›-Zmn%nøI `IaC‘ Ðû¸ T,U g, b-c5 T,U V+W
Ðm GHë b-c ¼O w-!| 8ÅÕO ]HI PQ, ‹i? ˆlmn
`IaC5 T,U /MW, b-c5 T,U V+WÐm fHë
b-c ¼O Æé{C ›-Zm
`IaC5 T,U /MWÐm b-c5 T,U V+W, fHë
b-c ¼O ]HI Ç-§m
Z[ ‰] ] ^ _ d
`IaC
b-c
Z[ ‰^ ] ^ _
Z[ ‰_ ] ^ _ d e È É
Z[ ] ^ _ d e
`IaC
od ½¯1º½¼°†°¯1ºÌ¼v
È É
b-c
o^ ½¯1º½¼°†°¯1ºÌ¼v
Z[ ] ^ _ d e
`IaC
od ½¯1º½¼°†°¯1ºÌ¼v
b-c
o^ ½¯1º½¼°†°¯1ºÌ¼v
$#7 -.- ÉÊË
;9
"#$ %&% '()*+, &-./0 1234567
89: ¾
(# -.- <&*^ E§až ÉÊË ô ÂU
æçèæç€éë¹¶º-êµ€ìµëºã¶#¶â <&*^ E§a˜ ÉÊË ôe ·k% vˆ ÉÊË ghw =Ž^ ÐG¡ U ¢h#
$ bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 
--group my-group --describe
!# ÉÊË -ê·µ´é¶³»¸5MJ^ E§až ÉÊË ô ÂU
7# ¶« îTI $e E§až ÉÊË ô ÂU
|rNN IDJGLM 9Jaž s´?ir Ð9% ÉÊË ô yD $r ñLõ<¸A)±^ f4 ÉÊË gh%r ÉÊË ôe
ÐG¡ U ¢h#
$#7 -.- ÉÊË
;:
"#$ %&% '()*+, &-./0 1234567
a(¿ '('
ü i.I -.-N -.-^ i.I .2šCDLM §ø¦qr E§¡ U ¢z• ')*‹ ©FÞúlh#
ü 6û -.- ù©FMB ©FÞúl^ àúaž 'n i.I -.- ©FÞúlN -.- ù©FMBLM E§aN žú +•
ƒïe ³l šÐ%h#
$#$ i.I -.-
;Q
"#$ %&% '()*+, &-./0 1234567
§À '(' ÁÂÃ
$#$ i.I -.-
spring:
kafka:
producer:
bootstrap-servers: my-kafka:9092
acks: all
ü i.I -.-LM .rÇM^ E§¡ &NLN ÌU %nF Gh#
ü '• %ne ;ˆa• •q˜ 'ëë·¶·µç〶êµ(êµ¶N +ëéç+âë¶·ä²"²!ϸæê>€¶êµ´ç+´BêµÃ (ç+ºê€¶êµ´ç+´BêµN
õ·µ´¹ìõêµ´ç+´Bêµr ¿t;ˆ®* ‚}Rh#
;;
"#$ %&% '()*+, &-./0 1234567
a(¿ '(' (456
$#$ i.I -.-
@SpringBootApplication
public class SpringProducerApplication implements CommandLineRunner {
private static String TOPIC_NAME = "test";
@Autowired
private KafkaTemplate<Integer, String> template;
public static void main(String[] args) {
SpringApplication application = new SpringApplication(SpringProducerApplication.class);
application.run(args);
}
@Override
public void run(String... args) {
for (int i = 0; i < 10; i++) {
template.send(TOPIC_NAME, "test" + i);
}
System.exit(0);
}
}
<
Vçèæç<ê-ã+ç·êe WAº·ëÉ´µê4r dFqZM E§%h# Aãã+éç·´ë¹#>ç-+L ÌM% %n6• ¿tqr dFRh#
>
?
<
> ¶ê¹4³» 5MJ^ E§až îï F*ø 52• 6e 1* 9:%h#
? .rÇMr SFT 9:F òÀ®˜ óÀ%h#
<==
"#$ %&% '()*+, &-./0 1234567
§À Ÿa– ÁÂÃ
$#$ i.I -.-
ü 68 lic ÉöFcN 68 lic ÉöFc Xîl^ f4 ŠÎR lic ÉöFc^ E§%h#
ü 68 lic ÉöFc^ E§¡ "N çãã+´éç·´ë¹#>ç-+L ÉÊËÃ lic %ne 1} E§¡ U ¢h#
)!+%49P
O(7O(P
&,4)"3.+P
#,,0)0+(!N).+6.+)P'3<NO(7O(PQRQS
<=<
"#$ %&% '()*+, &-./0 1234567
a(¿ '(' 89:
$#$ i.I -.-
68¦G lic ÌMFh# îïø gh ZF†
^ •ˆ%h#
<
bA!+%49K,,0G!!$%&(0%,4
!"#$%&'&$())'A!+%492,4)"3.+G!!$%&(0%,4'5
!"#$%&')0(0%&'6,%-'3(%4>A0+%49TU'(+9)?'5
A!+%49G!!$%&(0%,4'(!!$%&(0%,4':'4.V'A!+%49G!!$%&(0%,4>A!+%492,4)"3.+G!!$%&(0%,4=&$())?@
(!!$%&(0%,4=+"4>(+9)?@
a
bY(7O(8%)0.4.+>0,!%&)':'J0.)0JX' 9+,"!D-':'J0.)0N9+,"!NRRJ?
!"#$%&'6,%-'+.&,+-8%)0.4.+>2,4)"3.+L.&,+-^A0+%49XA0+%49_'+.&,+-?'5
$,99.+=%47,>+.&,+-=0,A0+%49>??@
a
bY(7O(8%)0.4.+>0,!%&)':'J0.)0JX 9+,"!D-':'J0.)0N9+,"!NRfJ?
!"#$%&'6,%-')%49$.B,!%&8%)0.4.+>A0+%49'3.))(9.M($".?'5
$,99.+=%47,>3.))(9.M($".?@
a
bY(7O(8%)0.4.+>0,!%&)':'J0.)0JX 9+,"!D-':'J0.)0N9+,"!NRSJX'!+,!.+0%.)':'5
J3(c=!,$$=%40.+6($=3)PgRRRRJX
J("0,=,77).0=+.).0P.(+$%.)0J
a?
!"#$%&'6,%-')%49$.B,!%&/%01*+,!.+0%.)8%)0.4.+>A0+%49'3.))(9.M($".?'5
$,99.+=%47,>3.))(9.M($".?@
a
bY(7O(8%)0.4.+>0,!%&)':'J0.)0JX 9+,"!D-':'J0.)0N9+,"!NR`JX &,4&"++.4&<':'J`J?
!"#$%&'6,%-'&,4&"++.40B,!%&8%)0.4.+>A0+%49'3.))(9.M($".?'5
$,99.+=%47,>3.))(9.M($".?@
a
bY(7O(8%)0.4.+>0,!%&*(+0%0%,4)':
5
bB,!%&*(+0%0%,4>0,!%&':'J0.)0RfJX'!(+0%0%,4)':'5JRJX'JfJa?X
bB,!%&*(+0%0%,4>0,!%&':'J0.)0RSJX'!(+0%0%,4C77).0)':'b*(+0%0%,4C77).0>!(+0%0%,4':'JRJX'%4%0%($C77).0':'J`J??
aX
9+,"!D-':'J0.)0N9+,"!NRhJ?
!"#$%&'6,%-'$%)0.4A!.&%7%&*(+0%0%,4>2,4)"3.+L.&,+-^A0+%49X'A0+%49_'+.&,+-?'5
$,99.+=%47,>+.&,+-=0,A0+%49>??@
a
a
<
>
?
!
8
52• 6e O©³Tr qN licFh#
>
9% licL -.- ÉÊË %n6e «ža}
Hh˜ ãµëãêµ·´ê¶ %ne E§a˜ Rh#
?
!9 F=w -.- ÉÊË i2J^ ‚}a} H
h˜ éë¹éºµµê¹é>¸%ne E§a˜ Rh#
¿^ )*Ï O¯nF ("9G îïe ÁÞ¡ "
éë¹éºµµê¹é>^ ("qr ;ˆ¡ U ¢h# F
›1 a˜ ("9 O¯nL ("9w ÉÊË i2J
+ œœ ¡R®* D]l–F S*Óh#
!
vˆ îïw vˆ O¯n' ÁÞa} Hh˜
·ëã´é)çµ·´·´ë¹¶ O©³T^ E§%h#
8
<=>
"#$ %&% '()*+, &-./0 1234567
bA!+%49K,,0G!!$%&(0%,4
!"#$%&'&$())'A!+%492,4)"3.+G!!$%&(0%,4'5
!"#$%&')0(0%&'8,99.+'$,99.+':'8,99.+;(&0,+<=9.08,99.+>A!+%492,4)"3.+G!!$%&(0%,4=&$())?@
!"#$%&')0(0%&'6,%-'3(%4>A0+%49TU'(+9)?'5
A!+%49G!!$%&(0%,4'(!!$%&(0%,4':'4.V'A!+%49G!!$%&(0%,4>A!+%492,4)"3.+G!!$%&(0%,4=&$())?@
(!!$%&(0%,4=+"4>(+9)?@
a
bY(7O(8%)0.4.+>0,!%&)':'J0.)0JX 9+,"!D-':'J0.)0N9+,"!NRfJ?
!"#$%&'6,%-'#(0&18%)0.4.+>2,4)"3.+L.&,+-)^A0+%49X'A0+%49_'+.&,+-)?'5
+.&,+-)=7,+I(&1>+.&,+-'N_'$,99.+=%47,>+.&,+-=0,A0+%49>???@
a
bY(7O(8%)0.4.+>0,!%&)':'J0.)0JX 9+,"!D-':'J0.)0N9+,"!NRSJ?
!"#$%&'6,%-'#(0&18%)0.4.+>8%)0^A0+%49_'$%)0?'5
$%)0=7,+I(&1>+.&,+-M($".'N_'$,99.+=%47,>+.&,+-M($".??@
a
bY(7O(8%)0.4.+>0,!%&)':'J0.)0JX 9+,"!D-':'J0.)0N9+,"!NR`JX &,4&"++.4&<':'J`J?
!"#$%&'6,%-'&,4&"++.40K(0&18%)0.4.+>2,4)"3.+L.&,+-)^A0+%49X'A0+%49_'+.&,+-)?'5
+.&,+-)=7,+I(&1>+.&,+-'N_'$,99.+=%47,>+.&,+-=0,A0+%49>???@
a
a
ÄH Ÿa–
$#$ i.I -.-
ÉÊË 23Jw ~,e O©³Tr qNh
<
<
>
?
52• 6)e T´¶· ¿ÀÁÂr qZM ]l%h#
>
!9 F=w ÉÊË i2Jr YÙ lic^ _`
¡ &NLN éë¹éºµµê¹é>¸%ne kl ÌM
až E§a˜ Rh#
?
!"
/ 0- 1 2345+ 6789 :;< =$>?@
A 23B 0-" CDE FG H+4IJK

아파치 카프카_애플리케이션 프로그래밍 with 자바_202204.pdf

  • 1.
  • 2.
    ! " (# )*+, !#-.- /01 23456 7# -.- 68 9: ;< $# -.- => 9: ;<
  • 3.
  • 4.
    ! "#$ %&% '()*+,&-./0 1234567 '(' )* +, -./0 ü ?@ ABCD EFBGHIDJGKLMN OPQR SFT UV W XY Z[]^ _`aN SL b *cde fgh# ü ?i jklmFnLM op jklmFnqr st uv Z[]w xyz^ {|c} ~• €• ‚ƒ „… 2i† ')6r ‡ˆ €• -.- ‰Š ‹Œ6 _`• Ž)• •‘h’ ‹2“F •”U• xy4•} jklmFnw 9U+ –– —Z•˜M ™š+ Š›h’ ()*+ ,- ./*+ ,- 01 234 (#( -.-w ‰Š
  • 5.
    8 "#$ %&% '()*+,&-./0 1234567 '('1 23 ü -.-N œ jklmFn•l s‡až SFT^ ]la• •} % ŸL Z ]l¡ U ¢z• £¤V£Q ¥h# -.-+ ¦§R F¨w OF.©G Z[] 5647 8(9:; <=>? @9 AB C.D 01D4 EFGHI J2 KL /MHI NO PQ R SO T,U V+W (#( -.-w ‰Š
  • 6.
    9 "#$ %&% '()*+,&-./0 1234567 (4567 89: ü -.- ª«L SFT+ ¬-®N O¯nw t3• °±°²³°´µ¶·¸±¹¸°´µ¶·¸²º·» ¼½w ¾ ¿ÀÁÂà ÄE ü ¾L SFT^ 5ªN ÅF Æ.rÇMÆ F} SFT^ +È+N ÅF ÆÉÊËÆ Fh XY Z[ ] Z[ ^ Z[ _ `IaC b-c ] ^ _ d e (#( -.-w ‰Š
  • 7.
    : "#$ %&% '()*+,&-./0 1234567 ; '('< =+> ?+(@AB4 CDE<F ü SFT UV W ¦v^ 9Ìa} ͈Îe |+a,Ï Äsa˜Mz Ð- +Ña1 ¿tQ% Åe ÆSFT OF.©GÒF©} «Óh# ü SFT OF.©Ge ͈¦F} Ð-Î Ô1 _`a6 Õ% Ö• ¼× £ aØ+ ZOÙ -.-^ Ú§aN ÅFh# !" #$% ü fO g5 T,U7 hi jkI V+lmn opqrs tuv ü Z[ jkI wA xG5 T,U7 ;y Z[D z{:| T,U 7 }~ V+ &'( ü T,U7 •€+D •0:P ‚| ZA ƒ)„D •0lmn ü …†‡%ˆ‰3Š? k{ ‹,P Œƒ 2•? •€+D ŽI •ˆ:; •ulmn )*( ü ‘’G“ ”•DC EFGHI –0 ‘‰:mn ü —y)U5 ˜I< ™š7 ›œ )•A žŸ š ¡mn +,-( ü T,U5 ¢£7 ¤{ |‘uˆ5 ¥¦? ‘§mn ü 01‘ ¨•:©ª4 «cP ˜I<D •0¬- ¡mn (#! ÛSFT OF.©GLM -.-w Ü¡
  • 8.
  • 9.
    ; "#$ %&% '()*+,&-./0 1234567 '(' GH !#( ‚ݧ -.- Þrß ;Ù Zà ID^ á}až ;Ù45¿ â··ã¶äååæçèæç#çãçéâê#ëµìåíº´éæ¶·çµ·
  • 10.
    <= "#$ %&% '()*+,&-./0 1234567 I$JI$K&LMNOPQPR ü îïFð -.-LM SFT^ ÁXaN +- 68¦G 9:Fh# ü ñòóôõLM E§aN öF÷ø ÄEah# ü -.- ùúiTL îï• žú 9 ûv¡ U ¢h# ü îïLN O¯nF ûvaNS O¯nw 9UN ü? (9«T 23%h# ® îïe ŠÎaN !+• ¼× -.- ÉÊË ýN .rÇM+ -.- ÞrßL ŠÎ®• •• îïL þ4 SFT^ ÿ!¡ " ß#J ©G $r <2¦qr îïe ŠÎaN Å < > !#! -.- ß#J ©G $
  • 11.
    << "#$ %&% '()*+,&-./0 1234567 I$JI$K&LMNOPQPR $ bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --topic hello.kafka > ? < €€éµêç·ê¸%nqr îïe ŠÎaN <&*©N Åe <2 ü ,- ./ 0123 > €€'ëë·¶·µç〶êµ(êµL Þrß)w ±)à ãëµ·^ ¦Nh# ? €€·ëã´éLN îï F*e 3Î%h# < !#! -.- ß#J ©G $
  • 12.
    <> "#$ %&% '()*+,&-./0 1234567 I$JI$K&LMNOPQPR $ bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1 --config retention.ms=172800000 --topic hello.kafka.2 < > ? < €€ãçµ·´·´ë¹¶N O¯n 9U^ •ˆ%h# ü ,- ./ 0456789&3 > €€µêã+´éç·´ë¹€èçé·ëµLN O¯ne xš¡ 9U^ ¦Nh# ³(• xša• •,# !N (9w xš8 E§» ? €€éë¹è´ì¶N |+¦G ;ˆ# µê·ê¹·´ë¹#-¶N îïw SFT^ Ä•aN 6“ ³(.!/"""""N !0» !#! -.- ß#J ©G $
  • 13.
    <? "#$ %&% '()*+,&-./0 1234567 I$JI$K&LMNOPQPR $ bin/kafka-topics.sh --bootstrap-server localhost:9092 –list ü ,- #:; <= !#! -.- ß#J ©G $
  • 14.
    <! "#$ %&% '()*+,&-./0 1234567 I$JI$K&LMNOPQPR $ bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic hello.kafka.2 ü ,- >? <= !#! -.- ß#J ©G $
  • 15.
    <8 "#$ %&% '()*+,&-./0 1234567 I$JI$K&LMNOPQPR $ bin/kafka-topics.sh --bootstrap-server localhost:9092 --topic hello.kafka --alter --partitions 4 $ bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type topics --entity-name hello.kafka --alter --add-config retention.ms=86400000 ü ,- 9& @A !#! -.- ß#J ©G $
  • 16.
    <9 "#$ %&% '()*+,&-./0 1234567 I$JI$KOLSPLTUKM%LVWOU%QPR $ bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic hello.kafka >hello >kafka >0 >1 >2 >3 ü îïL 1N SFTN Ò23J³µêéëµ4»Ò©} «0, 52• [à 52• 6qr F7*È ¢h# ü 52• [N ¿8w ¹º++r 68 ;ˆ®* Þrßr 9:Rh# ü 12 BC !#! -.- ß#J ©G $
  • 17.
    <: "#$ %&% '()*+,&-./0 1234567 I$JI$KOLSPLTUKM%LVWOU%QPR ü æçèæç€éë¹¶ë+ê€ãµë4ºéêµ#¶âr 9:®N 23J 6• ;<°€/e 6=qr ó>·êr ?@®} ó>·êAµµç>õêµ´ç+´Bêµr CDQRh# ü õ·µ´¹ìF ZE oFqrN CDQaž 9:¡ U Gh# ü hÓ oFqr 9:a} Hh˜ -.- .rÇM jklmFne CI 9J4K %h# @ABCDBCEFGHIGJKELMGNOFKM@I4 #P, = #P, < #P, > #P, <= !"! #$% @ @ !"# !"# !"# !"# !#! -.- ß#J ©G $
  • 18.
    <Q "#$ %&% '()*+,&-./0 1234567 I$JI$KOLSPLTUKM%LVWOU%QPR ü DEF BC 045678DEF G3 $ bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic hello.kafka --property "parse.key=true" --property "key.separator=:” >key1:no1 >key2:no2 >key3:no3 > < < ãçµ¶ê#æê>^ ·µºêr L˜ 23J^ 9:¡ " 52• [^ |+¡ U ¢h# > 52• [à 52• 6e ÁXaN ÁX¿^ ÌM%h# !#! -.- ß#J ©G $
  • 19.
    <; "#$ %&% '()*+,&-./0 1234567 I$JI$KOLSPLTUKM%LVWOU%QPR ü 9:®N 23J 6• ;<°€/e 6=qr ó>·êr ?@Rh# ü 52• [+ ¹º++G &NLN .rÇM+ O¯nqr 9:¡ " 23J YÙ PÕr ©_JrQqr 9:%h#¸ ü 52• [+ ûvaN &NLN [w 426e 3Îaž ûvaN O¯n £ % 9L ¡RRh#¸ ü Fr G4 52• [+ t0% &NLN t0% O¯nqr 9:Rh# !#! -.- ß#J ©G $
  • 20.
    >= "#$ %&% '()*+,&-./0 1234567 I$JI$KOLSPLTUKM%LVWOU%QPR ® O¯n 9U+ S*ؘ Tr .rÇU®N 23J)• *V O¯nqr WXY F9L 52• [+ O¯n "ZL )*[h˜ O¯ne S ]LN O¯n "Zqr “hN 5-F Gh#¸'0 O¯n e |+a^©z F9L E§a_ 52• [w 0`Îe 5-a} Hh˜ ßia O¯bc^ ')*M _`4K %h# !#! -.- ß#J ©G $
  • 21.
    >< "#$ %&% '()*+,&-./0 1234567 I$JI$KOLSPLTUKOLSPWXU%QPR $ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hello.kafka --from-beginning ü €€'ëë·¶·µç〶êµ(êµL -.- ùúiT ˆ5 ü €€·ëã´éL îï F* ü €€èµë-€'êì´¹¹´¹ì¸%ne d˜ îïL ¬-R +- ], SFT«T e• !#! -.- ß#J ©G $
  • 22.
    >> "#$ %&% '()*+,&-./0 1234567 I$JI$KOLSPLTUKOLSPWXU%QPR $ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hello.kafka --property print.key=true --property key.separator="-" --group hello-group --from-beginning key1-no1 null-4 null-5 null-0 null-hello null-kafka key2-no2 key3-no3 ü SFTw 52• [à 52• 6e ÐGa} Hh˜ €€ãµëãêµ·>¸%ne E§a˜ Rh# < 52• [^ ÐGa6 Õ4 ãµ´¹·#æê>^ ·µºêr ;ˆ¥h# > 52• [ 6e ÁXa6 Õ4 æê>#¶êãçµç·ëµ^ ;ˆ¥h# ? €€ìµëºã¸%ne f4 ÉÊË ghe ŠÎ¥h#¸F ÉÊË ghe f4 +È“ îïw 52•N +È“ 52•L þ4 ß ie %h#¸ßi ˆ5N jjéë¹¶º-êµjëèè¶ê·¶ F*w ª« îïL ¬-Rh# < > ? !#! -.- ß#J ©G $
  • 23.
    >? "#$ %&% '()*+,&-./0 1234567 I$JI$KOLSPLTUKOLSPWXU%QPR ü 52• [^ 1• •• SFTN ¹º++ø 52• 6F kl 5F}Ï 52• [^ 1• SFTN 52• [à 6F kl 5Gh# ü æçèæç€éë¹¶ë+ê€ãµë4ºéêµ#¶âr 9:¥_ SFTw mM+ uv e•®N mMà h0h# ü FN O¯n 9: "™L Š6N u=Fh# ü æçèæç€éë¹¶ë+ê€éë¹¶º-êµ#¶â^ f4 îïw 52•^ +È+1 ®˜ îïw n O¯nqr«T t0% £ÿzr S FT^ +È“h# ü Fr G4 îïL 1• SFTà îïLM +È“ SFTw mM+ o©•1 ®N ÅFh# @ABCDBCEFGHIGJKEFGHIORKM@I4 #P, = #P, < #P, > #P, <= !"! #$% @ @ !"# !"# !"# !"# !#! -.- ß#J ©G $
  • 24.
    >! "#$ %&% '()*+,&-./0 1234567 I$JI$KOLSPWXU%KY%LWMPQPR ü ŠÎR ÉÊË ghw liBN æçèæç€éë¹¶º-êµ€ìµëºã¶#¶â <&*r ÐG¡ U ¢h# $ bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list ü €€+´¶·¶N ÉÊË ghw liB^ ÐGaN %nFh# $ bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group hello-group --describe !#! -.- ß#J ©G $
  • 25.
    >8 "#$ %&% '()*+,&-./0 1234567 I$JI$KZU%NJN$[TUKM%LVWOU%QPR7OLSPWXU%QPR ü æçèæç€(êµ´è´ç'+êr 23aN !9w iDpB^ E§a˜ õ·µ´¹ì oF 52• 6e 3J GF d}qe U ¢h# $ bin/kafka-verifiable-producer.sh --bootstrap-server localhost:9092 --max-messages 10 --topic verify-test ü 9:% SFTN æçèæç€(êµ´è´ç'+ê€éë¹¶º-êµ#¶âr ÐG¡ U ¢h# $ bin/kafka-verifiable-consumer.sh --bootstrap-server localhost:9092 --topic verify-test --group-id test-group !#! -.- ß#J ©G $
  • 26.
    >9 "#$ %&% '()*+,&-./0 1234567 I$JI$KVUTU&UK%UOL%VPQPR ü îïw SFT^ •r " E§ ü îïw SFT £ +- sàR SFT³+- {• t¿w s.u»«T vˆ 2–w s.uX• wš¡ U ¢h# ü -.-LMN îïw O¯nL ¬-R vˆ SFT' wš¡ UN GhN –e <x4K %h# vi delete-topic.json {"partitions": [{"topic": "hello.kafka", "partition": 0, "offset": 50}], "version": 1} $ bin/kafka-delete-records.sh --bootstrap-server localhost:9092 --offset-json-file delete-topic.json #¯°# XY5 ]± Z[D •0² T,U ³ ]BU d] ´`µ T,U¶P P·¸ •· !#! -.- ß#J ©G $
  • 27.
    $%$ 12 3456 #$%& #
  • 28.
    >Q "#$ %&% '()*+,&-./0 1234567 '(' ]4^・_`a>・b.c ü -.- ÞrßN -.- ù©FMBà SFT^ d}q6 Õ% E§aN dy ü SFT^ Xz ¬-až -j+ JŠa^©z Í9a1 E§¡ U ¢z• zÃ{h# ü M| (þrz 68 ‚}F ®•' 7þ F=w Þrß M|^ (9w ùúiTr ~*M _`%h# ü -.- ùúiTr ~G Þrß)• .rÇM+ 5• SFT^ Í9a1 ¬-a} xšaN Ü¡e %h# STU &'( )*+ V-W = V-W < V-W > !"! ,-./ 7#( -.- Þrß・ùúiT・d[€
  • 29.
    >; "#$ %&% '()*+,&-./0 1234567 '(' ]4^ K =+> de7 ,f ü .rÇMr«T SFT^ 9oqq˜ O¯nL SFT^ ¬-a} ÉÊË+ SFT^ ÿ!a˜ ¬-R SFT^ 9o%h# ü .rÇMr«T 9oR SFTN O0 2i†L ¬-Rh# $ ls /tmp/kafka-logs drwxr-xr-x 6 macbookpro wheel 192 5 13 20:16 hello.kafka-0 drwxr-xr-x 6 macbookpro wheel 192 5 13 20:17 hello.kafka.2-0 drwxr-xr-x 6 macbookpro wheel 192 5 13 20:17 hello.kafka.2-1 drwxr-xr-x 6 macbookpro wheel 192 5 13 20:17 hello.kafka.2-2 $ ls /tmp/kafka-logs/hello.kafka-0 macbookpro /tmp/kafka-logs ls hello.kafka-0 00000000000000000000.index 00000000000000000000.timeindex 00000000000000000000.log leader-epoch-checkpoint ¹º»n¼"½ ¾D F5l ¿ÀX+D T,U7 •0lmn%XY ,ÁR Z[ ±Â5 ÃÄHI :k ¿ÀX+7 •ˆ $¯¹¹ºnÅÆÇÅÆ XY5 ]± Z[D 6È:¸ T,U7 –“ š ¡mn ü ¹º»É%•ƒPÊ •ËT,U7 •0 ü "̼¯ÍÉ%•ƒP5 ´`µ? “ÎÏl FÐ ü #"ѯ"̼¯ÍÉ%•ƒPD ÒÓ² #"ѯ°#ÆÑÔÕ? Ö×HI “ÎÏl FБ ØÙ ¡mn ü #"ѯ°#ÆÑÔÉ%˜I<‘ GÈl T,U7 Ú£:Û« ÜÝ:¸T •ulmn < > < > 7#( -.- Þrß・ùúiT・d[€
  • 30.
    ?= "#$ %&% '()*+,&-./0 1234567 '(' ]4^ K =+> de7 ,f ü -.-N 5 lØ SFT•FiL ¬-a• •q, ‚r ƒ25 l^ Áuaž E§a•z •Nh# O02i†L ¬-a˜ „z FÊ+ JŠa• •eXY -.-NH…F• ƒ2K^ E§až †iD Fe• „z^ Ôž F ™š^ 4‡¥h …F• ƒ2N ²õLM O0 Fe•w Îч=e Õ4 ')* ˆ• 5 l `ÜFh# 7#( -.- Þrß・ùúiT・d[€
  • 31.
    ?< "#$ %&% '()*+,&-./0 1234567 '(' ]4^ K =+> gh7 ij ü SFT xš³µêã+´éç·´ë¹»N -.-^ -j ‰§ 2i†³èçº+· ·ë+êµç¹éê ¶>¶·ê-»qr t3az• aN Št•Fh# ü xšw FÄN ùúiTr ~G Þrß £ 0«L -j+ JŠa^©z SFT^ Ä‚a• •} Í9a1 E§a6 ÕkFh# ü SFT xšN O¯n PÕr F7*‹h# îïw O¯nw xš 9U+ 7G &N +© Z[5 ´`µ? –“:; &Þ5 ´`µR ß,‘ «¸ •· +© Z[HIBU T,U7 ‘àám #$% 0 12 #P, < X)YZ #$% 3 12 #P, < X[-Z #$% 4 12 #P, < X[-Z ü +©É `IaC ⸠b-cÊ ãä ¤Þ:¸ Z[ ü åIrÉ ¢£ T,U7 ‘P| ¡¸ Z[ 7#( -.- Þrß・ùúiT・d[€
  • 32.
    ?> "#$ %&% '()*+,&-./0 1234567 '(' ]4^ K =+> gh7 ij ü Þrß+ h_®˜ Þrßw l^ O¯n• E§¡ U G6 "™L ŒrC O¯n £ aØ+ l^ O¯nF Rh# ü SFT+ Ä‚®• •} ÉÊËØ .rÇM+ SFT^ d}qe U ¢h# ]-^ )Y #P,+ _` Þrß "L -j+ JŠ% &N #$% 0 12 #P, < #$% 3 12 #P, < X)YZ #$% 4 12 #P, < X[-Z XabcdZ e' ü T,U‘ AB æç¬-4 è*:| V+ é4‘ ³ê:më ¢£ ™š7 ^⸠_I ìF ü íî FÐÊ ï, æç, A-«ë E¬¸ •· ¢£ ™š7 dHI ìF 7#( -.- Þrß・ùúiT・d[€
  • 33.
    ?? "#$ %&% '()*+,&-./0 1234567 '(' ]4^ – 8kl`mOLS&%LTTU%n ü ùúiTw hU Þrß £ % þ+ ÉB•úw Ü¡e %h#¸ ü hÓ Þrß)w =Ž^ yDa} Þrß+ ùúiTLM /•N &N 4R ÞrßL ûvaN l^ O¯ne vXY%h#¸ ü '• ÉB•ú Ü¡e aN ÞrßL -j+ Š6˜ hÓ Þrß+ ÉB•ú Ü¡e %h# 7#( -.- Þrß・ùúiT・d[€
  • 34.
    ?! "#$ %&% '()*+,&-./0 1234567 '(' ]4^ – =+> oh ü -.-N ÉÊË+ SFT^ +È+^©z îïw SFTN w𮕠•Nh#¸ ü ý%ϸÉÊËØ .rÇM+ SFT wš^ ÿ!¡ Uz Gh#¸ ü sC Þrß'F SFT^ wš¡ U ¢h#¸ ü SFT wšN O0 PÕr F7*•NS F PÕ^ •rg >g‘B³+ë츶êì-ê¹·»•©} «Óh# ü ÞrßL +ëì#¶êì-ê¹·#'>·ê¶ ýN +ëì#¶êì-ê¹·#-¶ %nL 6F ;ˆ®˜ >g‘B O0F ’“h# ü >g‘B O0F ’”1 ®N 686• (•ó§–Fh# 7#( -.- Þrß・ùúiT・d[€
  • 35.
    ?8 "#$ %&% '()*+,&-./0 1234567 '(' ]4^ – 89: p(q de ü ÉÊË gh• îïF vˆ O¯nqr«T SFT^ +È+M ]la} F O¯nw *V 23JX• +È[N• ÐGa6 Õ 4 s.ue ßi%h#¸ ü ßi% s.u• jjéë¹¶º-êµjëèè¶ê·¶ îïL ¬-%h# 7#( -.- Þrß・ùúiT・d[€
  • 36.
    ?9 "#$ %&% '()*+,&-./0 1234567 '(' ]4^ – rst+>mOLL%VNS$&L%n ü ùúiTw hU Þrß £ % þN 3†AFTw Ü¡e U}%h#¸ ü 3†AFTN ÉÊË ghw =Ž^ yDa} O¯ne ÉÊËà —˜®z• XYaN Ü¡e %h#¸ ü ÉÊË+ ÉÊË ghLM /•˜ —˜®• •• O¯ne ˆ= t3aN ÉÊËr ¡Raž ™šGF SFT+ ]l®z• z Ã{h#¸ ü F›1 O¯ne ÉÊËr v¡RaN øˆe •lœ•i³µê'ç+ç¹é껕©} «Óh# 7#( -.- Þrß・ùúiT・d[€
  • 37.
    ?: "#$ %&% '()*+,&-./0 1234567 b.c ü d[€N -.-w 5oSFT^ `laN SL E§Rh# $ bin/zookeeper-shell.sh localhost:2181 Connecting to localhost:2181 Welcome to ZooKeeper! ls / [admin, brokers, cluster, config, consumers, controller, controller_epoch, isr_change_notification, latest_pro ducer_id_block, log_dir_event_notification, zookeeper] get /brokers/ids/0 {"listener_security_protocol_map":{"PLAINTEXT":"PLAINTEXT"},"endpoints":["PLAINTEXT://localhost:9092"],"jmx_po rt":-1,"port":9092,"host":"localhost","version":4,"timestamp":"1620904358029"} get /controller {"version":1,"brokerid":0,"timestamp":"1620904358147"} ls /brokers/topics [hello.kafka, hello.kafka.2] d[€L I„ < > < > ? ! 8 ž¹ë4ê)e ÐG ? -.- ÞrßL þ% ˆ5^ ÐG *V Þrß+ ÉB•úG•L þ% ˆ5^ +ÈŸh# ! 8 -.-L ¬-R îï)e ÐG 7#( -.- Þrß・ùúiT・d[€
  • 38.
    ?Q "#$ %&% '()*+,&-./0 1234567 uvw ?xy ü îï• -.-LM SFT^ ÁXa6 Õ4 E§aN PÕFh#¸ ü îï• (9 F=w O¯ne ?Äa} ¢h#¸ ü O¯nLN .rÇM+ 5• SFT)F )*+ ¬-®NS F SFT^ •23J³µêéëµ4»•©} «Óh# 12 = < f8 f8 g< g> = < > ? f> f> f? f? g< g> g< g> #P, h= #P, h< i&j klm T klm n `IaC ðñò .rÇM+ 9:% 23JN O¯nL ¬-Rh# 7#! îïø O¯n
  • 39.
    ?; "#$ %&% '()*+,&-./0 1234567 uvw ?xy ü O¯n• -.-w D]lw ¡xqr¢ ghqr ~G ÉÊË)F 23J^ Dr ]l¡ U ¢z• —˜Rh#¸ ü ÉÊËw ]l–F %ˆR =£LM —• 23J^ Dr ]laN +- Ö• ¼×• ÉÊËw 9U^ Sc im0 Z¤aN ÅFh#¸ ü ÉÊË 9U^ S¥ø t2L O¯n 9U^ Sl˜ ]l–F ¦+aN §ø^ ¨ U ¢h# O¯n 9Uà ÉÊË 9U^ ScM ]l–e Sh 12 #P, = 567 0 12 #P, = 567 0 #P, < 567 3 b-c ^™ }~ V+W b-c _™ }~ V+W 7#! îïø O¯n
  • 40.
    != "#$ %&% '()*+,&-./0 1234567 uv +z h{ |} îï F*e ŠÎ¡ " š• ©• h,ø ªh# ü Q ™¿« îï F*• •Ša• •Nh# ü îï F*• ¬-® aس#» ýN ¬-® ¯³##»r ŠÎ° U Gh# ü îï F*w ±FN !$²¿ ³'qr ŠÎ®*K %h# ü îï F*• `* þ?™¿Ã t¿ "«T ² gl} ¬-®³#»Ï M^8³j»Ï aF´³€» µqr ŠÎ¡ U ¢h# F¶w ™¿ «F ·kR îï F*• ŠÎ ¸+ah# ü -.- ª« rC `l ¹¦qr E§®N !9 îï³jjéë¹¶º-êµjëèè¶ê·¶Ï¸jj·µç¹¶çé·´ë¹j¶·ç·ê»ø t0% F*qr ŠÎ ¸+Ñah# ü -.- ª«¦qr E§aN rC "™L îï F*L ¬-®³#»Ã M^8³j»+ t2L )*+˜ Í Rh# ŠÎ• ¡ U ¢• ' E§ 2 FÊ+ JŠ¡ U ¢6 "™L ¬-®³#»Ã M^8³j»+ )*“ îï F*e E§a˜ ºAñ»±»• 52•+ J Š%h# ü F³ ŠÎR îï F*w ¬-®³#»^ M^8³j»r 8¼½Ø M^8³j»^ ¬-®³#»r 8¾ &N „… îï F*ø t0ah ˜ ŠÎ¡ U Gh# ¿^ )*Ï ·ë#ã´é F*w îïF ŠÎ®* ¢h˜ ·ëjã´é F*w îïe ŠÎ¡ U Gh# 7#! îïø O¯n
  • 41.
    !< "#$ %&% '()*+,&-./0 1234567 1~ •€ uv +z •‚ ƒ„ îï 3<w †kÀø ¿2 ü Á@&•#Á€<•#ÁjklmFn€<•#Á52•€oF• ¿2»¸ãµ4#-çµæê·´¹ì€·êç-#¶-¶€ã+ç·èëµ-#Ã¶ë¹ ü Á.rÄB€<•#ÁMÅi€<•#Á@&•#ÁFÆB€<•¸ ¿2»¸éë--êµéê#ãç>-ê¹·#ãµ4#¹ë·´è´éç·´ë¹ ü Á@&•#ÁMÅi€<•#ÁDZñA€ZÈ•#Á52•€oF•¸¿2»¸ 4ê(#ê-ç´+€¶ê¹4êµ#ôµç€(!7$#ê-ç´+€(ë€éº¶·ë- ü Á-.-€ùúiT€<•#Á@&•#ÁMÅi€<•#Á52•€oF•¸ ¿2»¸çɶ€æçèæç#+´(ê#-çµæê·´¹ì€ã+ç·èëµ-#Ã¶ë¹ -.-N îï F* ?&e •Ša• •Nh 7#! îïø O¯n
  • 42.
    !> "#$ %&% '()*+,&-./0 1234567 …r† ü 23JN ošiÊ.ϸ52• [ϸ52• 6ϸs.uqr Áή* ¢h#¸ ü 23JN Uˆ¡ U G} rg lËn 6“ ýN §–L ‚©M' wšRh# ošiÊ. ü ˜I< Ö× æó) ƒô, ìF s.u 52• [ 52• 6 ü ]%,Š5 õ& ü ,/D /M² ðñò5 ´`µö^%ÕHI •ˆ²mn ü •ƒP Õ? ÷CøI V+:Û« •ƒP Õ5 ùú7 «ËûÖ k{ •u ü •ƒP ü5 {ƒÕ? XøI Z[? PF:ý ²mn%þÿ%wAl • ƒP üªë wA Z[D !-‘¸ ",m ü •ƒP ü7 •u:P ‚¸më ðñò¸ Ö# ìF Z[$%D Žª Z[D zK²m ü ç&GHI V+ T,U‘ !- ¡m ü •ƒP üÊ •ƒP ÕO ã~9¬- ˜I<I /M¬Ö '(D wAl )*I •ã~97 š+{, lmn 7#7 23J
  • 43.
    !? "#$ %&% '()*+,&-./0 1234567 (456 ‡#ˆ ü -.-LM SFT 23–• .rÇMFh# ü -.-L Ìÿ% SFT^ ÌMa} Þrßw vˆ îïw O¯nL 9:%h# ü .rÇMN O¯ne +•} ¢N -.- Þrßà CI f„%h# 7#$ -.- ù©FMB
  • 44.
    !! "#$ %&% '()*+,&-./0 1234567 (456 ‡#ˆ public class SimpleProducer { private final static Logger logger = LoggerFactory.getLogger(SimpleProducer.class); private final static String TOPIC_NAME = "test"; private final static String BOOTSTRAP_SERVERS = "my-kafka:9092"; public static void main(String[] args) { Properties configs = new Properties(); configs.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS); configs.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); configs.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); KafkaProducer<String, String> producer = new KafkaProducer<>(configs); String messageValue = "testMessage"; ProducerRecord<String, String> record = new ProducerRecord<>(TOPIC_NAME, messageValue); producer.send(record); logger.info("{}", record); producer.flush(); producer.close(); } } < > < `IaC‘ /M:|& :¸ XY > -`- —y)U C.5 $º°#Ê …. ? ? •ƒP üÿ •ƒP Õ? ã~9:Ö kl ã~9 —/) ! ! •ƒP Õ ! -`- ˜I<I T,U7 ÐûÖ k{ .½º¼01¯½2¯1º½¼7 •ˆ 8 •ˆl .½º¼01¯½2¯1º½¼7 /M:Ö k{ °¯Ì¼7 Â3 °¯Ì¼ov¸ þ4G“ /M, ž5ª KL )*I h-C ˜I<D /Mlmn 9 ǹ0°$ov7 ¤{ `IaC ûB .6D ¡7 ðñò KL7 ˜I<I /Mlmn 8 9 : : Ô½º¼01¯½ “)8)5 +()!? E/:ý ù9lmn 7#$ -.- ù©FMB
  • 45.
    !8 "#$ %&% '()*+,&-./0 1234567 op #P, qrst& .½º¼01¯½2¯1º½¼ klm T klm n .ƽ#"#"ºÌ¯½ °¯Ì¼ov u$ = u$ < 12 8 u$ = u$ < 12 9 8::;<;=>?@A :¯Ì¼¯½ -`- —y)U "$BC DEFGHI (456 ‰Š ‹Œ ü îïø 52• 6'e ;ˆaÍh# ü ¶ê¹4³» 52•+ Èe®˜ *V O¯nqr 9:° ÅG• ˆ4‹h# ü SFT^ 9:a6 9L *¾Î2FTL SFT^ |€r ÏZL} J:%h# $%& '()* +, -./ 0123 456 78 '(9:; #,2# <=> ?@ '()=/ #, ABCDEFGHIJDKLMNOGJDJDFCPGQ 01 0 RS* T U VW 7#$ -.- ù©FMB
  • 46.
    !9 "#$ %&% '()*+,&-./0 1234567 (456 bŠ •y ü 'ëë·¶·µçã#¶êµ(êµ¶ä .rÇM+ SFT^ 9:¡ þ= -.- ùúiTL „% Þrßw ÈiB F*ä·B ü æê>#¶êµ´ç+´Bêµä¸23Jw 52• [^ CDQaN ùài^ •ˆ ü (ç+ºê#¶êµ´ç+´Bêµä 23Jw 52• 6e CDQaN ùài^ •ˆ ü çéæ¶ä¸.rÇM+ 9:% SFT+ Þrß)L ˆ=¦qr ¬-®gN• 9: ÎÐ ž«^ ÐG ü 'ºèèêµ#-ê-ëµ>ä¸Þrßr 9:¡ SFT^ YÙr q6 Õ4 ;ˆ¡ |€ 5 lÑ# 686 77ÒÒ$$7!³7!ôó» ü µê·µ´ê¶ä¸.rÇM+ Þrßr«T Lú^ q} Ó ] v9:e 2zaN ÔU^ •ˆ#¸686 !($./7Õ$. ü 'ç·éâ#¶´Bêä¸YÙr 9:¡ 23J üþ §–# 686 (Õ7/$ ü +´¹ìêµ#-¶ä YÙ^ 9:a6 9X• 6hlN ü? 2“# 686• " ü ãçµ·´·´ë¹êµ#é+ç¶¶ä¸23J^ O¯nL 9:¡ " ¦§aN O¯bc ùài ü ê¹ç'+ê#´4ê-ãë·ê¹éêä¸Ö×Î .rÇMr t3¡• ž«^ ;ˆ# 686• èç+¶ê ü ·µç¹¶çé·´ë¹ç+#´4ä¸.rÇM+ 23J^ 9:¡ " 23J^ BØÙn PÕr ~e• ž«^ ;ˆ ÌU %n ÌÚ %n 7#$ -.- ù©FMB
  • 47.
    !: "#$ %&% '()*+,&-./0 1234567 Ž•• .‘ <’ =+>‘ ,f“€ (456 public class ProducerWithKeyValue { private final static Logger logger = LoggerFactory.getLogger(ProducerWithKeyValue.class); private final static String TOPIC_NAME = "test"; private final static String BOOTSTRAP_SERVERS = "my-kafka:9092"; public static void main(String[] args) { Properties configs = new Properties(); configs.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS); configs.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); configs.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); KafkaProducer<String, String> producer = new KafkaProducer<>(configs); ProducerRecord<String, String> record = new ProducerRecord<>(TOPIC_NAME, "Pangyo", "23"); producer.send(record); ProducerRecord<String, String> record = new ProducerRecord<>(TOPIC_NAME, "Busan", "21"); producer.send(record); producer.flush(); producer.close(); } } 7#$ -.- ù©FMB
  • 48.
    !Q "#$ %&% '()*+,&-./0 1234567 Ž•• .‘ <’ =+>‘ ,f“€ (456 12 = < f< f< g< g> = < > ? f> f> f> f> g< g> g? g! #P, h= #P, h< wAl •ƒP ü¸ wAl Z[D PF¬- GȲm > f< g? ? f! g< ! f! g> 8 f! g? 9 f< g! 7#$ -.- ù©FMB
  • 49.
    !; "#$ %&% '()*+,&-./0 1234567 ^a” ?x•–‘ <•€ (456 !"#$%&'&$())'*+,-"&.+/%012")0,3*(+0%0%,4.+'5 !+%6(0.'7%4($')0(0%&'8,99.+'$,99.+':'8,99.+;(&0,+<=9.08,99.+>*+,-"&.+/%012")0,3*(+0%0%,4.+=&$())?@ !+%6(0.'7%4($')0(0%&'A0+%49'BC*D2EFGHI':'J0.)0J@ !+%6(0.'7%4($')0(0%&'A0+%49'KCCBABLG*EAILMILA':'J3<NO(7O(PQRQSJ@ !"#$%&')0(0%&'6,%-'3(%4>A0+%49TU'(+9)?'5 *+,!.+0%.)'&,47%9)':'4.V'*+,!.+0%.)>?@ &,47%9)=!"0>*+,-"&.+2,47%9=KCCBABLG*EAILMILAE2CF;DWX'KCCBABLG*EAILMILA?@ &,47%9)=!"0>*+,-"&.+2,47%9=YIZEAILDG8D[ILE28GAAE2CF;DWX'A0+%49A.+%($%.+=&$())=9.0F(3.>??@ &,47%9)=!"0>*+,-"&.+2,47%9=MG8]IEAILDG8D[ILE28GAAE2CF;DWX'A0+%49A.+%($%.+=&$())=9.0F(3.>??@ &,47%9)=!"0>*+,-"&.+2,47%9=*GLBDBDCFILE28GAAE2CF;DWX'2")0,3*(+0%0%,4.+=&$())?@ Y(7O(*+,-"&.+^A0+%49X'A0+%49_'!+,-"&.+':'4.V'Y(7O(*+,-"&.+^_>&,47%9)?@ *+,-"&.+L.&,+-^A0+%49X'A0+%49_'+.&,+-':'4.V'*+,-"&.+L.&,+-^_>BC*D2EFGHIX'J*(49<,JX'JS`J?@ !+,-"&.+=).4->+.&,+-?@ !+,-"&.+=7$")1>?@ !+,-"&.+=&$,).>?@ a a < <); Z[$% PF < 7#$ -.- ù©FMB
  • 50.
    8= "#$ %&% '()*+,&-./0 1234567 ^a” ?x•–‘ <•€ (456 public class CustomPartitioner implements Partitioner { @Override public int partition(String topic, Object key, byte[] keyBytes, Object value, byte[] valueBytes, Cluster cluster) { if (keyBytes == null) { throw new InvalidRecordException("Need message key"); } if (((String)key).equals("Pangyo")) return 0; List<PartitionInfo> partitions = cluster.partitionsForTopic(topic); int numPartitions = partitions.size(); return Utils.toPositive(Utils.murmur2(keyBytes)) % numPartitions; } @Override public void configure(Map<String, ?> configs) {} @Override public void close() {} } < > < •ƒP ü‘ .ÌÆ»<ºA •· Z[ ]±HI PF > .ÆÌ»<º‘ ž= •ƒP ü5 ðñò¸ {ƒÕ? PF:; ¥F Z[D >?¬4@ ìF 7#$ -.- ù©FMB
  • 51.
    8< "#$ %&% '()*+,&-./0 1234567 ]4^ —˜ ,f ™š‘ ›A“€ (456 public class ProducerWithAsyncCallback { private final static String TOPIC_NAME = "test"; private final static String BOOTSTRAP_SERVERS = "my-kafka:9092"; public static void main(String[] args) { Properties configs = new Properties(); configs.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS); configs.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); configs.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); KafkaProducer<String, String> producer = new KafkaProducer<>(configs); ProducerRecord<String, String> record = new ProducerRecord<>(TOPIC_NAME, "Pangyo", "23"); producer.send(record, new ProducerCallback()); producer.flush(); producer.close(); } } !"#$%&'&$())'*+,-"&.+2($$#(&O'%3!$.3.40)'2($$#(&O'5 !+%6(0.'7%4($')0(0%&'8,99.+'$,99.+':'8,99.+;(&0,+<=9.08,99.+>*+,-"&.+2($$#(&O=&$())?@ bC6.++%-. !"#$%&'6,%-',42,3!$.0%,4>L.&,+-H.0(-(0('+.&,+-H.0(-(0(X'Ic&.!0%,4'.?'5 %7'>.'d:'4"$$? $,99.+=.++,+>.=9.0H.))(9.>?X'.?@ .$). $,99.+=%47,>+.&,+-H.0(-(0(=0,A0+%49>??@ a a < ˜I<5 AB, ´ë .½º¼01¯½Cƹ¹DÆ1Å Â3 < 7#$ -.- ù©FMB
  • 52.
    8> "#$ %&% '()*+,&-./0 1234567 ]4^ —˜ ,f ™š‘ ›A“€ (456 Åt6r ‡ø^ qN &N /Ó „zr ]l¡ U ¢•' 9:aN SFTwmM+ £ÿ% &N E§a˜ ÍRh# ü Åt6r ‡ø^ 6hlN tÍ h,qr 5Û SFTw 9:F ÎÐa} ÜM 5• SFTw ‡ø+ ‚ƒ¡ &N v9:qr G4 SFT mM+ Ü9° U ¢6 "™Fh# ü gúÝr SFTw mM+ £ÿah˜ t6r 9: ‡ø^ qZK %h# 7#$ -.- ù©FMB
  • 53.
    8? "#$ %&% '()*+,&-./0 1234567 89: ‡#ˆ public class SimpleConsumer { private final static Logger logger = LoggerFactory.getLogger(SimpleConsumer.class); private final static String TOPIC_NAME = "test"; private final static String BOOTSTRAP_SERVERS = "my-kafka:9092"; private final static String GROUP_ID = "test-group"; public static void main(String[] args) { Properties configs = new Properties(); configs.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS); configs.put(ConsumerConfig.GROUP_ID_CONFIG, GROUP_ID); configs.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName()); configs.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName()); KafkaConsumer<String, String> consumer = new KafkaConsumer<>(configs); consumer.subscribe(Arrays.asList(TOPIC_NAME)); while (true) { ConsumerRecords<String, String> records = consumer.poll(Duration.ofSeconds(1)); for (ConsumerRecord<String, String> record : records) { logger.info("record:{}", record); } } } } < > ? ! 8 9 < XY ,Á? :#½"Ì»HI PF > XY5 T,U7 ‘àE -`- —y)U5 ….ÿ%Ôº½#7 FG ? b-c HI ,Á? JKlmn b-c HI? ¤{ b-c5 xG? Lz ! `IaC‘ ã~9:; /Ml T,U7 •ã~9:Ö kl —/)7 PF 8 b-cDý XY? M:Ö k{ °0D°1½"D¯ov •Cò7 •u 9 b-c¸ Ôº¹¹ov •Cò7 Â3:; T,U7 ‘àÊC V+lmn 7#$ -.- ù©FMB
  • 54.
    8! "#$ %&% '()*+,&-./0 1234567 89: ‰Š ‹Œ îïw O¯nqr«T SFT^ +È+6 Õ4 ÉÊË^ _`aN ¼×• D1 !+•+ ¢h# ü (9 F=w ÉÊËr F7*‹ ÉÊË ghe _`aN Å ü îïw vˆ O¯n' ÁÞaN ÉÊË^ _`aN Å 7#$ -.- ù©FMB
  • 55.
    88 "#$ %&% '()*+,&-./0 1234567 89: ‰Š ‹Œ #P, = #P, < #P, > 12 vwx = 567 JK b-c ^™I ,N-§ b-c HI, d™5 Z[D M ü ÉÊË ghqr ~G ÉÊË)• îïw (9 F= O¯n)L ¡R®* SFT^ +ÈW U ¢h# 7#$ -.- ù©FMB
  • 56.
    89 "#$ %&% '()*+,&-./0 1234567 89: ‰Š ‹Œ b-c _™ÿ b-c d™“ •· ü ÉÊË ghqr ~G ÉÊË+ îïe ÁÞ4M SFT^ +ÈW "Ï (9w O¯n• üþ (9w ÉÊËL ¡R +Ñah# ü (9 ÉÊËN žú 9w O¯nL ¡R° U ¢h# ü Fú% vßqr ÉÊË ghw ÉÊË 9UN +È+}¿ aN îïw O¯n 9U5h ª½Ø 3ZK %h# #P, = #P, < #P, > 12 vwx = 567 JK vwx < #P, = #P, < #P, > 12 vwx = 567 JK vwx < vwx > 7#$ -.- ù©FMB
  • 57.
    8: "#$ %&% '()*+,&-./0 1234567 89: ‰Š ‹Œ b-c ^™‘ O| ¡¸ €P ü ¿^ )*Ï 79w O¯ne +‹ îïe §ø¦qr ]la6 Õ4MN 79 Faw ÉÊËr F7*‹ ÉÊË ghqr _` 4K %h# ü '• 79w ÉÊËr F7*‹ ÉÊË ghqr 79w O¯ne +‹ îïLM SFT^ +È+6 Õ4 ¡Ra˜ (9w ÉÊ ËN O¯ne ¡Rq• àa} Äá =Žr â1 Rh# #P, = #P, < #P, > 12 vwx = 567 JK vwx < vwx > vwx ? 7#$ -.- ù©FMB
  • 58.
    8Q "#$ %&% '()*+,&-./0 1234567 89: œ•1 žŸ wÖ IãHI Qž‘¸ D,/q 1=+•, b-c HIHI GÈ Iã? z+:; J2 ü ÉÊË gh• hÓ ÉÊË ghø ãl®N vße +•} ¢h# ü ¿^ )*Ï _` M|w dÿ l?iG ä);ϸ5 l ˆ5^ UVaN SFT OF.©Ge Áå%h} +ˆ ü ‚2“ l?i^ 2“mqr ÐGa6 Õ4M SFT^ æ©içMÙL ¬-a} Fà t2L þ§– ¦v^ Õ4 aèL ¦v ¡ ÅFh# )ys z{ |}s~•$ €e •‚ €e +() šR D,/q |}s~ •$ •‚ )ys z{ &-ƒ• +() šR D,/q #P, = #P, < #P, > XY vwx = Sª)TCL b-c HI vwx = vwx < vwx > :U GÈ b-c HI |}s~ •$ •‚ X?Y=/ YZ [ 2]^ _`^ ab2> cd YZ^ e^fT U VW ghi jk=/ lm=/n _`o p5qr stu vwv xyz{ vwv xy 7#$ -.- ù©FMB
  • 59.
    8; "#$ %&% '()*+,&-./0 1234567 89: œ•1 e ü ÉÊË ghw ÉÊËL -j+ JŠa˜ *é1 °XY¸ ü ÉÊË ghqr F7*‹ ÉÊË) £ 0« ÉÊËL -j+ JŠa˜Ï¸-j+ JŠ% ÉÊËL ¡RR O¯n• -j+ JŠ a• •• ÉÊËL ?ÄêF ë*“h#¸ ü Fú% øˆe •lœ•U³µê+ç+ç¹é´¹ì»•F©} «Óh# b-c 01 ¨• ƒ +VWÏ ¨• +VWÏO sý X ‘P ŠYDC A-Zmn ^nb-c‘ [‘¬¸ ŠY _nb-c‘ £¬¸ ŠY #P, = #P, < #P, > 12 vwx = 567 JK vwx < vwx > #P, = #P, < #P, > 12 vwx = 567 JK vwx < vwx > 7#$ -.- ù©FMB
  • 60.
    9= "#$ %&% '()*+,&-./0 1234567 89: Ÿ¡¢i ü lœ•U• ħa•' ¿d 0*ØMN Í Rh#¸ ü lœ•UF JŠ¡ " O¯nw ?Äêe ÉÊËr v¡RaN øˆLM 4R ÉÊË ghw ÉÊË)F îïw SFT^ ìe U G6 "™Fh#¸ ü gh ˆ¿³ìµëºã¸éëëµ4´¹ç·ëµ»N lœ•Ue Jt2[N Ü¡e aNS ÉÊË ghw ÉÊË+ |+®1 wš° " í •%h#¸ ü -.- Þrß £ % þ+ gh ˆ¿w Ü¡e U}%h# ü ÉÊËN -.-w Þrßr«T SFT^ *†X• +È[N• ßie f4 6•%h# ³Þrß îïä jjéë¹¶º-êµjëèè¶ê·¶» b-c¸ V+ @9l ðñò5 ´`µ? <]lm vwx = 567 JK 3 4 L M N OPI 12 #$% LGJJXZ FGRR23XZ 7#$ -.- ù©FMB
  • 61.
    9< "#$ %&% '()*+,&-./0 1234567 p(q ^£ ü s.u ßi• ÉÊË jklmFnLM <2¦Ï¸Å<2¦qr U}¡ U ¢h#¸ ü Ö# ¾O Ôº¹¹ov%•Cò‘ š+^ ' AF ô_`m ´`µ? <]lmn ü ,aý AF ô_`m &wHI <]¬¸ "? tbƒG c´`µ <]c,ª | Bdmn% ü , ¾O Æ0#ºn1ºÑÑ"#n"Ì#¯½eƹnѰD ìF² Õ ,Š, Pf? ' H ƒg¶P hO ðñò7 ´`µ? <]lmn% ü :Pi Ôº¹¹ov%•Cò Â3 ,j +VWÏ â¸ b-c k£ ù9 ƒ b- c‘ V+:¸ T,U‘ ³¢ ⸠æç^ 𠡏 ‘‰ˆ, ¡¸ lml LÃ7 ‘P| ¡mn ü bƒG ´`µ? <]:œë Ôº¹¹ov%•Cò Â3 ,jD 1ºÑÑ"#:<Ì1ov%• Cò7 Â3:ë ²mn% ü 1ºÑÑ"#:<Ì1ov%•Cò¸ Ôº¹¹ov%•Cò7 ¤{ n”² ðñò5 ‘0 `P o ´`µ? Ö×HI <]? š+lmn% ü 1ºÑÑ"#:<Ì1ov%•Cò¸ ˜I<D <] êp? :| <], FŠGHI V +¬q¸P AB:Ö¶P Öm+¸T ,¸ b-c5 V+WD 23? rsmn% ü T,U V+ ƒôD t{ <] êp t ABD ƒô, ´/ uvmë wA ƒô M T,U V+W, w-!Ö '(,mn% ü ,7 {x:Ö k{ 1ºÑÑ"#y°<Ì1ov%•Cò7 •u:; <] êp? /M: | AB, ´Ö /¶P T,U V+7 š+ š ¡mn% ü :Pi twÖ <]O <] êp, çz{? •· |È V+ ³“ T,U5 ÷ C7 Ð0:P ‚H} T,U5 ³¢ V+‘ ¨• š ¡mn Å<2¦ s.u ßi <2¦ s.u ßi 7#$ -.- ù©FMB
  • 62.
    9> "#$ %&% '()*+,&-./0 1234567 89: ¤š ¥| ü ÉÊËN ãë++³»¸5MJ^ f4 23J)e =@q•' ãë++³»¸5MJ^ ÈeaN 2–L ùúiTLM SFT^ +ÈsN Å• Zîh#¸ ü ÉÊË jklmFne ‚}a1 ®˜ ª«LM °ê·éâ굸Giïi+ ŠÎ®* ãë++³»¸5MJ^ Èea6 9L ³l 23J )e ª« ¾r +ÈŸh#¸ ü F¨L E§¿+ <2¦qr ãë++³»¸5MJ^ Èea˜ ÉÊËN ª« ¾L ¢N 23J)e =@qZ ]l^ U}%h# b-c ûB Là „K3F4KM FGRLJK3KN„K3F4KI …GHIORKM†KFGMNI LGJJXZ 567 DEFGHI -`- —y)U 7#$ -.- ù©FMB
  • 63.
    9? "#$ %&% '()*+,&-./0 1234567 89: bŠ •y ü 'ëë·¶·µçã#¶êµ(êµ¶ä .rÇM+ SFT^ 9:¡ þ= -.- ùúiTL „% Þrßw ÈiB F*ä·B ü æê>#4ê¶êµ´ç+´Bêµä¸23Jw 52• [^ ÜCDQaN ùài^ •ˆ ü (ç+ºê#4ê¶êµ´ç+´Bêµä 23Jw 52• 6e ÜCDQaN ùài^ •ˆ ü ìµëºã#´4ä¸ÉÊË gh ZF†^ •ˆ%h#¸ ü 纷ë#ëèè¶ê·#µê¶ê·ä¸ÉÊË ghF vˆ O¯ne ìe " ¬-R ÉÊË s.uF GN &N *V s.u«T ìe• ÌÚaN %nFh#¸F³ ÉÊË s.uF ¢h˜ F %n6• ð2Rh#¸³+綷궷ϸêçµ+´ê¶·Ï¸¹ë¹ê»¸ ü 纷ë#éë--´·#´¹·êµ(ç+#-¶ä¸¿t ßi0 &N s.u ßi “ãe •ˆ%h#¸686• Ò"""³ÒŒ»Fh# ü -çñ#ãë++#µêéëµ4¶ä¸ãë++³»¸5MJ^ f4 =@®N 23J 9U^ •ˆ%h#¸686• Ò""Fh# ü ¶ê¶¶´ë¹#·´-ê뺷#-¶ä¸ÉÊË+ Þrßà s‡F ™6N üþ 2“Fh#¸686• (""""³("Œ»Fh# ü âêçµ·'êç·#´¹·êµ(ç+#-¶ä¸aBÅB^ 9:aN 2“ “ãFh#¸686• 7"""³7Œ»Fh# ü -çñ#ãë++#´¹·êµ(ç+#-¶ä¸ãë++³»¸5MJ^ ÈeaN “ãw üþ 2“e •ˆ%h#¸686• 7"""""³ÒX»Fh# ü ´¶ë+ç·´ë¹#+ê(ê+ä¸BØÙn .rÇM+ 23J^ BØÙn PÕr 5Û &N E§%h#¸686• µêç4jº¹éë--´·ê4 ÌU %n ÌÚ %n 7#$ -.- ù©FMB
  • 64.
    9! "#$ %&% '()*+,&-./0 1234567 89: ¦§ p(q ^£ !"#$%&'&$())'2,4)"3.+/%01A<4&2,33%0'5 !+%6(0.'7%4($')0(0%&'8,99.+'$,99.+':'8,99.+;(&0,+<=9.08,99.+>2,4)"3.+/%01A<4&2,33%0=&$())?@ !+%6(0.'7%4($')0(0%&'A0+%49'BC*D2EFGHI':'J0.)0J@ !+%6(0.'7%4($')0(0%&'A0+%49'KCCBABLG*EAILMILA':'J3<NO(7O(PQRQSJ@ !+%6(0.'7%4($')0(0%&'A0+%49'WLC]*EDe':'J0.)0N9+,"!J@ !"#$%&')0(0%&'6,%-'3(%4>A0+%49TU'(+9)?'5 *+,!.+0%.)'&,47%9)':'4.V'*+,!.+0%.)>?@ &,47%9)=!"0>2,4)"3.+2,47%9=KCCBABLG*EAILMILAE2CF;DWX'KCCBABLG*EAILMILA?@ &,47%9)=!"0>2,4)"3.+2,47%9=WLC]*EDeE2CF;DWX'WLC]*EDe?@ &,47%9)=!"0>2,4)"3.+2,47%9=YIZEeIAILDG8D[ILE28GAAE2CF;DWX'A0+%49e.).+%($%.+=&$())=9.0F(3.>??@ &,47%9)=!"0>2,4)"3.+2,47%9=MG8]IEeIAILDG8D[ILE28GAAE2CF;DWX'A0+%49e.).+%($%.+=&$())=9.0F(3.>??@ &,47%9)=!"0>2,4)"3.+2,47%9=IFGK8IEG]BCE2CHHDBE2CF;DWX'7($).?@ Y(7O(2,4)"3.+^A0+%49X'A0+%49_'&,4)"3.+':'4.V'Y(7O(2,4)"3.+^_>&,47%9)?@ &,4)"3.+=)"#)&+%#.>G++(<)=()8%)0>BC*D2EFGHI??@ V1%$.'>0+".?'5 2,4)"3.+L.&,+-)^A0+%49X'A0+%49_'+.&,+-)':'&,4)"3.+=!,$$>e"+(0%,4=,7A.&,4-)>f??@ 7,+'>2,4)"3.+L.&,+-^A0+%49X'A0+%49_'+.&,+-'P'+.&,+-)?'5 $,99.+=%47,>J+.&,+-P5aJX'+.&,+-?@ a &,4)"3.+=&,33%0A<4&>?@ a a a ü ãë++³»¸5MJ+ ÈeR F¨L éë--´·õ>¹é³» 5MJ^ Èeaž ßie <2¦qr U}¡ U ¢h# ü Þrßr«T ÉÊË s.u ßiF òÀ®g,e q6X• ÉÊËN SFT^ ^ ]la• •} 6hl6 "™L SFT ]l –F ¦hN vßF ¢h# 7#$ -.- ù©FMB
  • 65.
    98 "#$ %&% '()*+,&-./0 1234567 89: ¨¦§ p(q ^£ public class ConsumerWithASyncCommit { private final static Logger logger = LoggerFactory.getLogger(ConsumerWithASyncCommit.class); private final static String TOPIC_NAME = "test"; private final static String BOOTSTRAP_SERVERS = "my-kafka:9092"; private final static String GROUP_ID = "test-group"; public static void main(String[] args) { Properties configs = new Properties(); configs.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS); configs.put(ConsumerConfig.GROUP_ID_CONFIG, GROUP_ID); configs.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName()); configs.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName()); configs.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, false); KafkaConsumer<String, String> consumer = new KafkaConsumer<>(configs); consumer.subscribe(Arrays.asList(TOPIC_NAME)); while (true) { ConsumerRecords<String, String> records = consumer.poll(Duration.ofSeconds(1)); for (ConsumerRecord<String, String> record : records) { logger.info("record:{}", record); } consumer.commitAsync(new OffsetCommitCallback() { public void onComplete(Map<TopicPartition, OffsetAndMetadata> offsets, Exception e) { if (e != null) System.err.println("Commit failed"); else System.out.println("Commit succeeded"); if (e != null) logger.error("Commit failed for offsets {}", offsets, e); } }); } } } 7#$ -.- ù©FMB
  • 66.
    99 "#$ %&% '()*+,&-./0 1234567 89:1 ©,E ª« ü ˆ=¦qr óÀ®• •• ÉÊËN >n ošZ¤F JŠ¡ "X• ÉÊË ghL â1 Rh#¸ ü Fr G4 ‚šrN óÀ®g•' ^N t3e a• •N ÉÊË+ ûva6 "™L O¯nw SFTN ? ®• àa} ÉÊ Ë ôF S*Ø1 Rh#¸ ü ÉÊË ôF S*ؘ SFT ]l •sF JŠa1 Rh# try { while (true) { ConsumerRecords<String, String> records = consumer.poll(Duration.ofSeconds(1)); for (ConsumerRecord<String, String> record : records) { logger.info("{}", record); } } } catch (WakeupException e) { logger.warn("Wakeup consumer"); } finally { consumer.close(); } static class ShutdownThread extends Thread { public void run() { logger.info("Shutdown hook"); consumer.wakeup(); } } 7#$ -.- ù©FMB
  • 67.
    $%$ 78 3456 #$%& $
  • 68.
    9Q "#$ %&% '()*+,&-./0 1234567 uvw ?xy ‹îï• -.-w 23ø õFh’ ‹-.-^ E§aN Å• îïe ')˜M 23Rh’ ‹îïe wša˜ SFTN wš®} OF.©G• £PRh’ ‹îïL þ4 ö F4a} ;ˆe öaN ÅF -.-^ f% SFT Ú§z^ ÔFN ±Fh’ $#( îïø O¯n
  • 69.
    9; "#$ %&% '()*+,&-./0 1234567 C— ?xy ‹¬ ‹îïw O¯n 9UN -.-w ÎÑø `÷F ¢hÆ îï ŠÎ 2 O¯n 9U }cEø ü SFT ]l– ü 52• [ E§ ž« ü ÞrßϸÉÊË `‡z ‹O¯n• -.-w D]lw ¡xFh’ O¯nw 9U+ —Z•˜ —ZùU• (ä( —ú®N ÉÊËw 9U+ S*Ø6 "™Fh# $#( îïø O¯n
  • 70.
    := "#$ %&% '()*+,&-./0 1234567 C— ?xy ‹¬ SFT ]l „z^ ûlN ¼×• !+•h#¸ (# ÉÊËw ]l–e SlN Å € M|w EÑe ûlN im0 ü € ìé ýþ !# ÉÊË^ |+4M D]l–e SlN Å € SFT ]l–e SlN +- Ђ% ¼×Fh# € .rÇM+ 5ªN SFT+ ŒR (Ï"""23JF} ÉÊË+ ]l¡ U ¢N SFT+ ŒR (""23J©˜ ü?% Ìÿ% O¯n 9UN ("9Fh# `IaC /M T,UW b-c T,U V+W Z[ ™š . ñ QR 567 SH/ TFUH "$BCV WXY SH/WZ [Z 567 ]H ^_`abSH/ TF cdH e^fZg !"! 567h iej k Xl $mn `opq rs tuvh wH_ xy Zzf {|n pY }v ~Zg $#( îïø O¯n
  • 71.
    :< "#$ %&% '()*+,&-./0 1234567 Ž•• . -®• ¯°-± ü 52• [^ E§kø t2L SFT ]l mM^ •ÿK aN &NL þ4 }c4K %h#¸ ü 52• [ E§ ž«N SFT ]l mMà !I% s`F ¢h#¸ ü .rÇM+ 68 O¯bc^ E§aN &N^ +ˆa¿#¸ ü 52• [^ E§a˜ .rÇM+ îïqr SFT^ 5Û " 52• [^ 42 ?@až 52• [^ O¯nL —˜2"h# ü '• O¯n 9U+ o©•˜ F³ —˜R O¯nø 52• [w —˜F #•} 9$ hÓ O¯nL SFT+ ¡RRh# Z[ ™š‘ ~ªPÖ ,/R ,j •ƒP üÊ Z[5 >? ’9n%Z[, _™A ' •ƒP ü °¯º0¹O ]±ÿ%•¯•0¸ ^± Z[ HI M¬qmn%Z[, d™A '¸ °¯º0¹ÿ%•¯•0 X ™5 •ƒP ü €X _± Z[HI M¬qmn -`- —y)U #P, = #P, < XY &-ƒ• !"#$%&'()*+, !"-$-&()*., -`- —y)U #P, = #P, < XY &-ƒ• !"#$%&'()*+, !"-$-&()*., #P, > $#( îïø O¯n
  • 72.
    :> "#$ %&% '()*+,&-./0 1234567 Ž•• . -®• ¯°-± ü 52• [^ E§a} ÉÊËLM 52• ]l mM+ 5-®*K %h˜ üþ% O¯nw ?Q+ JŠa• •N ¼‡qr _ `4K %h#¸ ü 52• [%r ]l mM^ 5-a6 Õ4MN O¯n 9U^ .rÇM+ 9:aN SFTÑ5h ^ &&a1 y} ŠÎaN ÅF Öh# ü ¬•'qr }c4K ¡ –• Þrßà ÉÊËw `‡zFh#¸ ü -.-LM O¯n• œ Þrßw O0 2i†e E§a6 "™L O¯nF S*ØN '( ÞrßLM I)aN O0 9U+ —Z‹h#¸ ü g•S _`yšLMN .r>iR « U ¢N O0 üþ 9U^ š%a} ¢h#¸ ü gúÝr -.- Þrß+ I)aN O0 9U^ ͈¦qr Ä•a6 Õ4MN œ ÞrßR O¯n 9U^ îTI4K %h# $#( îïø O¯n
  • 73.
    :? "#$ %&% '()*+,&-./0 1234567 uv —Ÿ —²mOTU$SWMQMLTNO³n ü îïw SFTN 2“ ýN §–L ‚© wš …*e ¦§¡ U ¢h#¸SFT^ sàtÍ wša• •q˜ ¬-? E§–F • „¦qr S*Ø1 Rh# ü é+ê繺ã#ãë+´é> %ne E§až SFT^ wš¡ U ¢N !+• wš ˆ+e šÐ%h# ü 4ê+ê·ê³wš»ä¸SFTw ò9 wš ü éë-ãçé·³,å»ä¸t0 52• [w +- sàR SFT^ wšaN Å $#( îïø O¯n
  • 74.
    :! "#$ %&% '()*+,&-./0 1234567 uv oh —²mVUTU&UMLTNO³n ü îïe _`a˜ 0=¦qr þ«Xw îïw é+ê繺ã#ãë+´é>^ 4ê+ê·êr ;ˆ%h#¸ ü îïw SFT^ wš¡ "N >g‘B PÕr wš^ ‹}ah#¸ ü >g‘BN îïw SFT^ ¬-aN <2¦G O0 2i† PÕFh#¸ ü >g‘BN O¯n¬h %9r ŠÎ®, >g‘Bw O0 F*• s.u £ +- 3• 6F Rh#¸ ü >g‘BN žú œqr Ø-NS ¶êì-ê¹·#'>·ê¶ %nqr (9w >g‘B D6^ ;ˆ¡ U ¢h#¸ ü ¶êì-ê¹·#'>·ê¶ D65h ßù &N 6ûL ¦va_ >g‘B O0e ’} Tr_ >g‘B^ «*M SFT^ ¬-%h# ü SFT^ ¬-a6 Õ4 E§ £G >g‘B^ .¯Þ >g‘B©} %h# $#( îïø O¯n
  • 75.
    :8 "#$ %&% '()*+,&-./0 1234567 uv oh —²mVUTU&UMLTNO³n ü wš ˆ+F ‚}®N 2–• 2“ ýN §–F 6{F Rh#¸ ü µê·ê¹·´ë¹#-¶N îïw SFT^ Ä•aN 6“e !lŒr ;ˆ¡ U ¢h#¸ ü -.-N 0ˆ d6¬h >g‘B O0w ¬•' Uˆ 2“ø µê·ê¹·´ë¹#-¶^ Å/aNSϸ>g‘B O0w ¬•' Uˆ 2“F µê·ê¹·´ë¹#-¶^ ë*+˜ >g‘BN wšRh#¸ ü µê·ê¹·´ë¹#'>·ê¶N îïw üþ SFT D6^ š*%h#¸ ü µê·ê¹·´ë¹#'>·ê¶^ ë*“ >g‘B O0)• wšRh#¸ ü wšR SFTN xÁ¡ U Gh# -`- —y)U XY Z[ = < #$%&' -$-& >= <> ]]n¹º» = < #$%&' -$-& >= <> = #$%&' >= ]_n¹º» ]en¹º» i&j klm T klm n €[˜ •H‚q $#( îïø O¯n
  • 76.
    :9 "#$ %&% '()*+,&-./0 1234567 uv ´µ —²mOLXM$O&MLTNO³n ü ,å ˆ+• .¯Þ >g‘B^ š¶% ØË• >g‘B)L %4M SFT^ ]l%h#¸ ü SFTw ,å 23 2–• -´¹#é+êç¹ç'+ê#4´µ·>#µç·´ë %n6e ‚Óh#¸ ü -´¹#é+êç¹ç'+ê#4´µ·>#µç·´ë %n6• .¯Þ >g‘B^ š¶% >g‘BL âZ ¢N SFTw ö0 `Üw 23J 9 Uà 0J `Üw 23J 9Uw Å1e 2%h#¸ ü ö0 `Ü• Þrßw ,å ˆ+L w4 ,åF òÀR 23J^ 2%h#¸ ü ö0 `Üw 23J)• •ù³é+êç¹»¸rg•©} «0} ,åF òÀ36 "™L ö0 `ÜLN £xR 52• [+ Gh# ü 0J `Üw 23J)• •^¯³4´µ·>»¸rg•©} «0} ,åF ®6 9 23J^F ¢qÝr £xR 52• [^ +‹ 23 J)F ¢h# XY ÜÝD Žd T,U5 ’9n%‘0 8ƒ5 •ƒP ü ðñòi „Ö| «cP¸ Ú£lmn = < > ? ! 8 9 f< f> f? f? f< f> f< g< g< g< g< g> g> g? •€ • OPI i&j klm T klm n ? 8 9 f? f> f< g> g> g< •€ H‚ OPI i&j klm T klm n $#( îïø O¯n
  • 77.
    :: "#$ %&% '()*+,&-./0 1234567 uv ´µ —²mOLXM$O&MLTNO³n ü •^¯ Å1³4´µ·>¸µç·´ë»•• ^¯ `Üw 52• 9U^ ,å þ= >g‘BL âZ¢N SFTw 4 23J U³^¯ `Ü 52• 9U 5¸ù `Ü 52• 9U»r Ø6 Å1e 2%h#¸ ü '• ù7 `ÜL 79w 23J+ ¢} ^¯ `ÜL 23J+ 79 ¢h˜ ^¯ Å1• "#ÒFh# ü îïw ,å• -´¹#é+êç¹ç'+ê#4´µ·>#µç·´ë6L ‚© U}Rh#¸ ü '• -´¹#é+êç¹ç'+ê#4´µ·>#µç·´ë %n6e "#Òr ;ˆ¡ &NL ^¯ Å1F "#Ò+ ë*+, ,åF U}Rh#¸ ü -´¹#é+êç¹ç'+ê#4´µ·>#µç·´ë6e "#²Ã ªF D1 ;ˆa˜ %Z ,åe ¡ " —• SFT+ 8*)Ýr ,å §ø+ Dh#¸ ü -´¹#é+êç¹ç'+ê#4´µ·>#µç·´ë^ "#(ø ªF 31 ;ˆa˜ ,åF ^ ¿d 0*Ø6 "™L 9„4M 52• [w ü„ SFT' Ä•¡ U ¢h#¸ ü a•' ,åF ¿d JŠaN '( ÞrßL «:e 8 U ¢h# …Aÿ%†ò 2•5 ðñò7 ‡ƒl Z[ = < > ? ! 8 9 f< f> f? f? f< f> f< g< g< g< g< g> g> g? OPI i&j klm T klm n †ò 2• …A 2• €[˜ •H‚q $#( îïø O¯n
  • 78.
    :Q "#$ %&% '()*+,&-./0 1234567 ˆ¶·mˆSK¶³SOK·UMTNO$Pn ü ±õñ• l^ O¯nø ŒrC O¯nF L UD+ R =Ž^ 2%h#¸ ü xš 9U+ !G îïe +ˆ45¿#¸ ü F îïLN l^ O¯n (9à ŒrC O¯nF (9+ ûv¡ ÅFh#¸ ü l^ O¯nL "«T 7w s.uF ¢h} +ˆ¡ "ϸŒrC O¯nL t6Q+ òÀ®c˜ "«T 7X• s.uF ûv4K %h#¸ ü l^ O¯nø ŒrC O¯nF t6QR =ŽLMN l^ ýN ŒrC O¯nF ÕÙaN ÞrßL -j+ JŠa^©z SF T^ Í9a1 E§¡ U ¢h# …:2O +© Z[R åIr Z[5 ´`µ, wAl Š*7 ˆlmn XY ? > +© Z[ < = ˜I< ‰] XY ? > åIr Z[ < = ˜I< ‰^ …:2 o…ÌŠ:<Ì1Š2¯Ô¹"1ưv $#( îïø O¯n
  • 79.
    :; "#$ %&% '()*+,&-./0 1234567 ˆ¶·mˆSK¶³SOK·UMTNO$Pn ü ±õñ• l^ O¯nø ŒrC O¯nF L UD+ R =Ž^ 2%h#¸ ü ±õñF©N §*+ ØŸ FÄN ŒrC O¯nF l^ O¯nqr«T SFT^ xšaN SL 2“F ;l6 "™Fh#¸ ü .rÇM+ vˆ O¯nL SFT^ ¬-aN 3ü• l^ O¯ne f4 ]l%h#¸ ü F" l^ O¯nL Tr_ 23J+ |+®* s.uF ¦+a˜ ŒrC O¯nF ÕÙN ÞrßN l^ O¯nw SFT^ xš%h#¸ ü l^ O¯nL SFT+ ¦vR F¨ ŒrC O¯nF xšaN 2“< "™L l^ O¯nø ŒrC O¯n “L s.u <F + JŠ%h#¸ ü F• <F^ îTIa6 Õ4 l^ O¯n• µêã+´éç#+çìÏ·´-ê#-çñ#-¶6'(w d6^ +•} ŒrC O¯nF SF T^ xšaN• ÐG%h#¸ ü '• ŒrC O¯nF µêã+´éç#+çìÏ·´-ê#-çñ#-¶65h ^ = 2“ tÍ SFT^ +È+• •Nh˜ 4R ŒrC O¯ nL ™š+ Š= Åqr >Pa} ±õñghLM š¶%h# åIr Z[, kLl ˜I<¸ +© Z[5 T,U7 ¢£lmn XY +© Z[ ˜I< ‰] `IaC XY åIr Z[ ˜I< ‰^ `IaC $#( îïø O¯n
  • 80.
    Q= "#$ %&% '()*+,&-./0 1234567 ˆ¶·mˆSK¶³SOK·UMTNO$Pn ü ±õñr ~G l^ O¯nø ŒrC O¯n• O¯nL ûvaN SFT+ L t0a6 "™L ŒrC O¯n• l^ O¯n qr Tr Ìe° ¿ãe +‹h# ü 0« SFT Ä‚F JŠa^©z MÅi^ £Pa• •} •„¦qr îïe E§a} Hh˜ ±õñF ZE ŒrC O¯ne l^r Ìeaz• ;ˆ¡ U ¢h# ü º¹é+êç¹#µêç4êµ#ê+êé·´ë¹#ê¹ç'+ê %ne èç+¶êr ;ˆ¡ &N ±õñF ZE ŒrC O¯ne l^ O¯nqr Ìea • •Nh#¸ ü F &NLN l^ O¯nF ûvaN Þrß+ h2 23° "X• 6hh#¸ ü FÅ• îïe E§aN MÅi+ £P?e 2%h#¸ ü -j+ JŠ% Þrß+ h2 ‚}° "X•N 4R îï• E§¡ U Gh#¸ ü þ„ SFTw Ä‚• JŠa• •Nh# 0Ì1¹¯ÆÌn½¯Æ¼¯½n¯¹¯1#"ºÌn¯ÌÆD¹¯, ÇÆ¹°¯“ •·D¸ +©I J3 åIr Z[, ‹HŒI +© Z[, ¡¸ ˜I<‘ mƒ ç+^ '¶P Ömvmn XY ? > +© Z[ < = ˜I< ‰] XY > åIr Z[ < = ˜I< ‰^ …:2 $#( îïø O¯n
  • 81.
    Q< "#$ %&% '()*+,&-./0 1234567 ˆ¶·mˆSK¶³SOK·UMTNO$Pn ü º¹é+êç¹#µêç4êµ#ê+êé·´ë¹#ê¹ç'+êe ·µºêr ;ˆaN &NLN ±õñF ZE ŒrC O¯nϸ@ t6Q+ ®• •• ŒrC O¯nz l^r Ìe° U ¢h#¸ ü l^ O¯nF ûvaN ÞrßLM -j+ JŠa} t6Q®• •• ŒrC O¯nF l^r Ìe®˜ l^ O¯nqr«T t6Q+ ®• •• 0« SFTN Ä‚° U ¢h#¸ ü 0« SFT+ Ä‚®N þ„ îïe E§aN MÅiw £P• JŠa• •Nh# 0Ì1¹¯ÆÌn½¯Æ¼¯½n¯¹¯1#"ºÌn¯ÌÆD¹¯, #½0¯“ •·D¸ …:2, ž= åIr Z[ 4 +©I J3^ š ¡mn%01‘ ¨•l ˜I< ‰]5 ´`µ d5 ðñò¸ æç²mn $#( îïø O¯n
  • 82.
    Q> "#$ %&% '()*+,&-./0 1234567 '(' (456 ü .rÇMN -.-L SFT^ ¬-aN A P9Fh# ü -.- ùúiTN 7þ F=w Þrßr F7*È ¢*M 0« ÞrßL FÊ+ Š6^©z SFTw Ä‚e 'e U ¢h# $#! -.- .rÇM
  • 83.
    Q? "#$ %&% '()*+,&-./0 1234567 $OIP •y çéæ¶B" ü çéæ¶^ "qr ;ˆaN Å• .rÇM+ l^ O¯nqr SFT^ 9:¥e " l^ O¯nqr SFT+ ¬-®gN• Ð Ga• •NhN 2Fh#¸ ü l^ O¯n• SFT+ ¬-R F¨L SFT+ C ZD s.uL ¬-®gN• lïaNSϸçéæ¶+ "qr ;ˆ®* ¢h˜ .rÇMN l^ O¯nL SFT+ ¬-®gN• ž«L þ% EF 6e q• •Nh#¸ ü g›6 "™L .rÇM+ SFT^ 5• F¨L F SFT+ C ZD s.uL ¬-®gN• ÐG¡ U Gh# Æ1Ű•]“ •· `IaC5 wŽÿ%+© Z[D T,U‘ GȬP ‚©ª4 ˆ•HI •jlmn ü `IaCD¸ T,U5 /M, çz{? ' ȃ47 š ¡4@ ½¯#½"¯°%¾? ìF 𠡏Tÿ%Æ1Ű‘ ]A ' `IaC¸ /M? :& `& •0¬qi? ‘ F:| mi T,U7 /M:Ö '(D T,U /M, çzl •·7 ‘ š ‹mn% ü ŽªC ½¯#½"¯°‘ _,ŠHI ìF¬- ¡©ª4 ȃ47 :P ‚Ö '(D ½¯#½" ¯°%¾ÕO è5’:mn ü Æ1Ű7 ]HI ìF{? •·ÿ%`IaCÊ ˜I< •,5 pqrs ´ú« ˜I< 5 ,- “HI “{ T,U‘ æç¬©ª4 `IaC¸ +© Z[HIBU AB Õ? ”P ‚Ö '(D PéGHI mi T,UI Еmn% ü HaÖ '(D T,U5 /M é4¸ Æ1Ű7 ^%⸠ƹ¹I {? •·Ðm –— ˜ ™mn%T,U‘ AB æç, ¨•:©ª4 /M é4‘ ³êl •·D¸ , ¾Õ ? •u:ë šmn XY +© Z[ ˜I< ‰] `IaC XY åIr Z[ ˜I< ‰^ $#! -.- .rÇM
  • 84.
    Q! "#$ %&% '()*+,&-./0 1234567 $OIP •y çéæ¶B( ü çéæ¶^ (r ;ˆ¡ &N .rÇMN 5• SFT+ l^ O¯nL' ˆ=¦qr ¦v®gN• ÐG%h#¸ ü '• l^ O¯nL ˆ=¦qr ¦v®• •‘h˜ l^ O¯nL ¦v° "X• v2z¡ U ¢h#¸ ü gúØ l^ O¯nL ¦v®g,e 5-a^©z SFTN Ä‚° U ¢h#¸ ü GHa˜ xš 9U^ !F=qr _`¡ &N l^ O¯nL ¦v+ òÀ®* ¢*z ŒrC O¯nLN ZC SFT+ t6 Q®• •e U ¢NSϸŒrC O¯nF SFT^ xša6 C9L l^ O¯nF ¢N ÞrßL -j+ JŠa˜ t6Q®• à% 0« SFT+ Ä‚° U ¢6 "™Fh# Æ1Ű•^“ •· `IaC5 wŽÿ%+© Z[D T,U‘ •0¬qHë ˆ•HI •jlmn ü Æ1Ű7 ^I ìF:ë +© Z[D T,U‘ GÈ^ '¶P Ömv › AB Õ? ”Ö '(D Æ1Ű7 ]HI ìF:¸ "D t{ /M é4‘ œ+mn XY +© Z[ ˜I< ‰] `IaC XY åIr Z[ ˜I< ‰^ $#! -.- .rÇM
  • 85.
    Q8 "#$ %&% '()*+,&-./0 1234567 $OIP •y çéæ¶Bç++¸ýN çéæ¶B€( ü çéæ¶^ ç++¸ýN €(r ;ˆ¡ &N .rÇMN 5• SFT+ l^ O¯nø ŒrC O¯nL L ˆ=¦qr ¦v®gN • ÐG%h#¸ ü l^ O¯nI' Zî© ŒrC O¯nX• SFT+ ¦v®gN• ÐGa6 "™L "ýN (¸%n5hz „z+ Vlh#¸ ü gJLz ¸Áa} ŒrC O¯nL SFT+ ˆ= ¦v®gN• 6hl6 "™L 0« ÞrßL -j+ JŠa^©z .rÇ MN Í9a1 SFT^ 9:a} ¬-¡ U ¢,e 5-¡ U ¢h# ü Æ1Ű7 ƹ¹I ìF •· XY jkI ìF ‘‰l Ñ"Ìn"̰<Ì1n½¯Ô¹"1ư ¾ ÕD Žª T,U5 EFˆ, ~ª§mn% ü ƹ¹%¾ÕO €• +© Z[R åIr Z[5 GÈ7 ˆ:¸ "O ž5| …:2 D ÒÓ² Z[!? ˆ:¸ ",Ö '(,mn% ü Ñ"Ìn"̰<Ì1n½¯Ô¹"1ư ¾O `IaC‘ +© Z[R åIr Z[D T, U‘ GȬq¸P –“:Ö kl 8( …:2%HI5 Z[ ™š,mn% ü ž7 !ë Ñ"Ìn"̰<Ì1n½¯Ô¹"1ư5 ¾Õ, ^,ªë …:2%³ 8( ^™ ,Š5 Z[D T,U‘ GȬqi? –“:¸ ",mn% ü , •· Æ1Ű7 ^I {? 'Ê wAl wŽ? :¸Tÿ%Ÿ :ë …:2%³ ‘0 V i GÈ‘ @9¬¸ Z[O +© Z[,Ö '(,mn Æ1Ű•ƹ¹“ •· `IaC5 wŽ XY +© Z[ ˜I< ‰] `IaC XY åIr Z[ ˜I< ‰^ $#! -.- .rÇM
  • 86.
    Q9 "#$ %&% '()*+,&-./0 1234567 $OIP •y çéæ¶Bç++¸ýN çéæ¶B€( ü Ñ"Ìn"̰<Ì1n½¯Ô¹"1ư5 ¾Õ? _I ìF{? 'BU Æ1Ű7 ƹ¹I ìF:¸ 5 ’‘ ¡mn% ü , •· …:25 _™ ,Š5 Z[D T,U‘ FŠ GȬqi? –“lm¸ ˆ,mn% ü …:25 _™ ,Š5 Z[D GȬqi? –“lm¸ ˆO G-4 +© Z[R ^™ 5 åIr Z[D T,U‘ FŠGHI GȬqi? Ð0lmn Æ1Ű•ƹ¹ÿ%Ñ"Ìn"̰<Ì1n½¯Ô¹"1ư•^“ •· `IaC5 w Žn%Æ1Ű7 ^I {? 'Ê wA:mn XY +© Z[ ˜I< ‰] `IaC XY åIr Z[ ˜I< ‰^ …:2 $#! -.- .rÇM
  • 87.
    Q: "#$ %&% '()*+,&-./0 1234567 $OIP •y ü -´¹#´¹¶>¹é#µêã+´éç¶^ ;ˆ¡ "N xš 9Uz kl }c4K %h#¸ ü GHa˜ _`aN -.-w Þrß 9U+ -´¹#´¹¶>¹é#µêã+´éç¶w %n65h 3• &NLN .rÇMN ^N SFT^ 9:¡ U G6 "™Fh#¸ ü xš 9U^ 7qr ;ˆa} -´¹#´¹¶>¹é#µêã+´éç¶^ 7qr ;ˆaN &N^ ¿r ) U ¢h#¸ ü Þrß 7þ £ (þL FÊ+ JŠaž t3a• àaN =£F Š6˜ .rÇMN SFT^ 4R îïL ^N 9:¡ U Gh# ü GHa˜ ü?%w xš®*K aN O¯n 9U+ 7GS ŒrC O¯nF ÕÙ¡ Þrßw 9U+ «Ka6 "™Fh#¸ ü F &NLN »ë·L¹ëºìâñêã+´éç¶Lñéêã·´ë¹ ýN »ë·L¹ëºìâñêã+´éç¶Aè·êµAããê¹4Lñéêã·´ë¹F JŠaž ^N îïqr SFo^ 9:¡ U Gh# ü -´¹#´¹¶>¹é#µêã+´éç¶ %ne ;ˆ¡ " |+r dw4K ¡ –• Mþr Þrß 9Uà t0% t¿r ;ˆa˜ Í Rh N ÅFh#¸ ü Þrß 7þr ùúiT^ _`a˜M -´¹#´¹¶>¹é¶#µêã+´éç¶ %ne 7qr ;ˆaN &N^ ¿r ) U ¢h#¸ ü F• =£LM -.- ùúiTw |9 üg2FJà ª• =£F JŠa˜ ÷rßN •I h_ ošF Š6NSϸÞrß+ ( 9©z £P®˜ .rÇMN SFT^ |+¡ U Gh#¸ ü gúÝr îï% -´¹#´¹¶>¹é#µêã+´éç¶ %n6• Þrß 9U ³'qr ;ˆ4M _`4K %h# $#! -.- .rÇM
  • 88.
    QQ "#$ %&% '()*+,&-./0 1234567 $OIP •y ü =§@&LMN 0=¦qr Þrß^ 7þ F=qr ~* ùúiT^ _`aNSϸF –e }caž .rÇM+ SFT^ +- ͈¦qr 5ªc˜ îïw xš 9UN 7ϸ-´¹#´¹¶>¹é#µêã+´éç¶^ !r ;ˆa} .rÇMN çéæ¶^ ç++r ;ˆaN Åe |N%h# Æ1Ű•ƹ¹ÿ%½¯Ô¹"1Æ#"ºÌnÇÆ1#º½•dÿ%Ñ"Ìn"̰<Ì1n½¯Ô¹"1ư•d“ •· ˜I< ³ ^ø‘ |0«ë ©¸ XYD T,U7 С š ‹mn XY +© Z[ ˜I< ‰] `IaC XY åIr Z[ ˜I< ‰^ …:2 XY åIr Z[ ˜I< ‰_ $#! -.- .rÇM
  • 89.
    Q; "#$ %&% '()*+,&-./0 1234567 ¸¹º (456 ü Ö×ÎFð žú Z sze U}a^©z t0% ‡ø^ ØoªN Åe 2%h#¸ ü Fú% w³LM Ö×Î .rÇMN t0% SFT^ žú Z 9:a^©z -.- ùúiTL P % Z' ¬-?e w³%h# ü 68 .rÇMw t3 ¼½• ¦*z %Z 9o³ç·¸+êç¶·¸ë¹éê¸4ê+´(êµ>»e •Š%h#¸ ü ¦*z %Z 9oFð .rÇM+ ùúiTL SFT^ 9:až ¬-¡ " ¦*z % Z F= SFT^ ¦v¡ U ¢} SF T+ Ä‚®• •,e 2%h#¸ ü h'ϸL Z F= ¦v¡ +ÑÎF ¢qÝr SFTw £xF JŠ¡ U ¢h# ü .rÇM+ 5ªN SFTw £x ¦v^ '6 Õ4 "#((#"¸F¨ |9«TN .rÇMLM ê¹ç'+ê#´4ê-ãë·ê¹éê%ne E§až ˆÐ” %Z 9o³êñçé·+>¸ë¹éê¸4ê+´(êµ>»e •Š%h#¸ ü ê¹ç'+ê#´4ê-ãë·ê¹éê%nw 686• èç+¶êF, ˆÐ” %Z 9oe Õ4MN ·µºêr %n6e ;ˆ4M Ö×Î .r ÇMr t3az• ')˜ Rh#¸ ü Ö×Î .rÇMN 68 .rÇMà ol SFT^ Þrßr 9o¡ " .rÇM )±ò³)µë4ºé굸º¹´íºê¸±ò»Ã 2Oi ë |^ kl 9o%h#¸ ü gú˜ ÞrßN .rÇMw )±òà 2Oi ë|^ ÐGaž t0% 52•w ¦v ÿ!F s^©z P % Z' SFT^ ¦ vkqr¢ .rÇMw SFTN ˆÐ” %Z ÞrßL ¦v®z• t3%h# $#! -.- .rÇM
  • 90.
    ;= "#$ %&% '()*+,&-./0 1234567 ¸¹º (456 `IaCÊ ˜I< •,5 pqrs 01I T,U¸ l ± ,Š /~^ š ¡mn ¢“ˆ `IaCI wŽ •· pqrs 01‘ ¨•:©ª4 ˜I<D wAl •ƒP¸ GÈ:P ‚¸mn%¢“ˆ `IaC‘ /M:¸ T,UD .…£Ê ƒ¤) ¥.‘ ¡¸Tÿ%˜I<¸ .…£Ê ƒ¤) ¥.I ³¢? ¦s:Ö '(,mn jÿ%¢“ˆ `IaC¸ wAl •DCi F–§ l± /~? Ð0lmn%;ÖC ¨:¸ wAl •,© .…£5 •bªÖ7 ˆlmn%im ¢“ˆ `IaCI w Ž:¸ `IaC 1=+•,D ,-‘ ¨•:; ù9¬| 1=+•,? ȃŽ:ë .…£‘ ~ª§mn `IaC Z[ «^ ˜I< °¯Ì¼ov `IaC Z[ «^ ˜I< Æ1Ű `IaC Z[ «^ «^ ˜I< °¯Ì¼ov `IaC Z[ «^ ˜I< Æ1Ű «^ `IaC Z[ «^o°¯¬•]v ˜I< °¯Ì¼ov `IaC Z[ «^o°¯¬•]v ˜I< Æ1Ű `IaC Z[ «^o°¯¬•]v ˜I< °¯Ì¼ov `IaC Z[ «^o°¯¬•]v ˜I< Æ1Ű $#! -.- .rÇM
  • 91.
    ;< "#$ %&% '()*+,&-./0 1234567 '(' 89: – »x a…† 89: ü -.-N ]l–e Sl6 Õ4 O¯nø ÉÊË 9U^ ScM _`¡ U ¢h#¸ ü O¯ne žú 9r _`aN &N SFT^ D]la6 Õ4M O¯n 9Uà ÉÊË 9U^ t0a1 P|N ÅF +- Ö • ¼×Fh#¸ ü îïw O¯n• (9 F=qr F7*È ¢q, (9w O¯n• (9 ÉÊË+ ¡R®* SFT^ ]l¡ U ¢h#¸ ü O¯n 9U+ ¹9©˜ t0 ÉÊË ghqr ~G ÉÊË i2J^ üþ ¹9 _`¡ U ¢h#¸ ü gúÝr ¹9w i2J^ +‹ (9w .r>i^ _`a½Ø (9w i2J^ +‹ .r>M^ ¹9 _`aN ¼×z ¢h# d™5 `I•CI wŽ:¸ b-c HI yÿ%^™ `I•)Ê d™ )ðòI wŽ:¸ b-c HI ü b-c7 -[ )ðòI ®u:¸ ¯°O sý X ‘PI «±mn ü ² ±³¸ b-c )ðò¸ ^™i ç+:| T,U7 V+7 ØM:¸ r s )ðò7 ;y ™ ç+:¸ ¯´“ -[ rs )ðò /µ,mn% ü X ±³¸ b-c “)8)DC Ôº¹¹ov%•Cò7 Â3:¸ )ðò7 ;y ™ ¶rC •u:¸ b-c -[ )ðò /µ,m. XY Z[ ] Z[ ^ Z[ _ b-c )ðò ] `I•) b-c )ðò ^ `I•) b-c )ðò _ `I•) b-c HI y b-c )ðò ] `I•) b-c HI · b-c )ðò ^ b-c )ðò _ $#7 -.- ÉÊË
  • 92.
    ;> "#$ %&% '()*+,&-./0 1234567 '(' 89: »x ¼j a…† ,½ ü Þrßr«T 9oq• 23J)e Dr ]l%h˜ (9w ÉÊË i2Jr q• SFT)e ^Q ‡=R „zr ]l¡ U ¢h#¸ ü R¯ i2J^ E§a˜ œ6 hÓ 23J)w SFT ]l^ t2L ‚}¡ U ¢6 "™L ]l 2“e u¬” 80 U ¢h# n¢L(HI V+7 @9:¸ ƒôo¸^vÐm }~V+I @9:¸ ƒôo¸_v, © Gý uvmn ƒô ðñò y · C ¸^ Ǻ½%n¢L(HI V+:¸ •· ƒô ðñò y · C ¸_ }~V+:¸ •· $#7 -.- ÉÊË
  • 93.
    ;? "#$ %&% '()*+,&-./0 1234567 '(' 89: »x a…† ,½ ü aØw O¯n• t0 ÉÊË £ üþ (þX• ¡RRh#¸ ü gl} aØw ÉÊËN žú O¯nL ¡R° U ¢h#¸ ü F• vße +- ö SlN ¼×• (9w jklmFnL ÁÞa}¿ aN îïw O¯n 9U'( ÉÊË i2J 9U^ S cM _`aN ÅFh#¸ ü ÉÊË i2J^ ScM _`a˜ œ i2JL œ O¯nF ¡R®,ϸO¯nw 23J)e D]l¡ U ¢h# Z[ ™ši¹ b-c )ðò7 J2:¸ 1=+•, ;ÖC ª5{, gO Lº:|& :¸ XY5 Z[ ™ši¹i b-c )ðò7 J2:¸ ",mn% b-c )ðò‘ ™šÐm fžPë M Z[ ™š‘ ©¸ ‹HŒI Z[D M¬P »l b-c )ðò¸ T,U7 V+7 :P ‚ý ²mn XY Z[ ] Z[ ^ Z[ _ 1=+•, b-c )ðò b-c )ðò b-c )ðò $#7 -.- ÉÊË
  • 94.
    ;! "#$ %&% '()*+,&-./0 1234567 89: ¾ ü aØw O¯n• t0 ÉÊË £ üþ (þX• ¡RRh#¸ ü ÉÊË ô³TA•»• îïw ü„ s.u³T²•€L»ò€²°°õL<»ø ÉÊË s.u³ä;ññL»<€²°°õL<»¸“w <Fh#¸ ü .rÇMN 9„4M Tr_ SFT^ O¯nL ¬-a} ÉÊËN ¿„F ]l¡ U ¢N '( SFT^ +È“h#¸ ü ÉÊË ô• ÉÊË+ ˆ= t3aN• ž«^ ÐG¡ U ¢6 "™L ÉÊË jklmFne _`%h˜ ÌU¦qr îTI 4K aN •®Fh# b-c ¼O ‘0 8Þ ´`µR b-c ´`µ ô5 ß,,mn% ½‡¾Š¿À£Š‡ÁÁ:¿¸vO eÿ%CÂ22¿À¸Š‡ÁÁ:¿¸O _ÿ%½y¾O _,mn Z[ ] ^ _ d e `IaC b-c $#7 -.- ÉÊË
  • 95.
    ;8 "#$ %&% '()*+,&-./0 1234567 89: ¾ b-c ¼O b-c HIR XYÿ%Z[ÃI •ˆ²mn%^™5 XY D d™5 Z[, ¡| ^™5 b-c HI, XY? Lº:; T, U7 ‘à‘ë b-c ¼O Ä d™‘ ²mn Z[ d™I Lˆ² XYD b-c‘ M¬ë b-c ¼O Ä d™‘ ²mn%;ÖC €• Z[5 b-c ¼O _I wA:mn `IaC‘ Ðû¸ T,Ug, b-c5 T,U V+WÐm smë b-c ¼ O ›-Zmn%nøI `IaC‘ Ðû¸ T,U g, b-c5 T,U V+W Ðm GHë b-c ¼O w-!| 8ÅÕO ]HI PQ, ‹i? ˆlmn `IaC5 T,U /MW, b-c5 T,U V+WÐm fHë b-c ¼O Æé{C ›-Zm `IaC5 T,U /MWÐm b-c5 T,U V+W, fHë b-c ¼O ]HI Ç-§m Z[ ‰] ] ^ _ d `IaC b-c Z[ ‰^ ] ^ _ Z[ ‰_ ] ^ _ d e È É Z[ ] ^ _ d e `IaC od ½¯1º½¼°†°¯1ºÌ¼v È É b-c o^ ½¯1º½¼°†°¯1ºÌ¼v Z[ ] ^ _ d e `IaC od ½¯1º½¼°†°¯1ºÌ¼v b-c o^ ½¯1º½¼°†°¯1ºÌ¼v $#7 -.- ÉÊË
  • 96.
    ;9 "#$ %&% '()*+,&-./0 1234567 89: ¾ (# -.- <&*^ E§až ÉÊË ô ÂU æçèæç€éë¹¶º-êµ€ìµëºã¶#¶â <&*^ E§a˜ ÉÊË ôe ·k% vˆ ÉÊË ghw =Ž^ ÐG¡ U ¢h# $ bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group my-group --describe !# ÉÊË -ê·µ´é¶³»¸5MJ^ E§až ÉÊË ô ÂU 7# ¶« îTI $e E§až ÉÊË ô ÂU |rNN IDJGLM 9Jaž s´?ir Ð9% ÉÊË ô yD $r ñLõ<¸A)±^ f4 ÉÊË gh%r ÉÊË ôe ÐG¡ U ¢h# $#7 -.- ÉÊË
  • 97.
    ;: "#$ %&% '()*+,&-./0 1234567 a(¿ '(' ü i.I -.-N -.-^ i.I .2šCDLM §ø¦qr E§¡ U ¢z• ')*‹ ©FÞúlh# ü 6û -.- ù©FMB ©FÞúl^ àúaž 'n i.I -.- ©FÞúlN -.- ù©FMBLM E§aN žú +• ƒïe ³l šÐ%h# $#$ i.I -.-
  • 98.
    ;Q "#$ %&% '()*+,&-./0 1234567 §À '(' ÁÂà $#$ i.I -.- spring: kafka: producer: bootstrap-servers: my-kafka:9092 acks: all ü i.I -.-LM .rÇM^ E§¡ &NLN ÌU %nF Gh# ü '• %ne ;ˆa• •q˜ 'ëë·¶·µç〶êµ(êµ¶N +ëéç+âë¶·ä²"²!ϸæê>€¶êµ´ç+´BêµÃ (ç+ºê€¶êµ´ç+´BêµN õ·µ´¹ìõêµ´ç+´Bêµr ¿t;ˆ®* ‚}Rh#
  • 99.
    ;; "#$ %&% '()*+,&-./0 1234567 a(¿ '(' (456 $#$ i.I -.- @SpringBootApplication public class SpringProducerApplication implements CommandLineRunner { private static String TOPIC_NAME = "test"; @Autowired private KafkaTemplate<Integer, String> template; public static void main(String[] args) { SpringApplication application = new SpringApplication(SpringProducerApplication.class); application.run(args); } @Override public void run(String... args) { for (int i = 0; i < 10; i++) { template.send(TOPIC_NAME, "test" + i); } System.exit(0); } } < Vçèæç<ê-ã+ç·êe WAº·ëÉ´µê4r dFqZM E§%h# Aãã+éç·´ë¹#>ç-+L ÌM% %n6• ¿tqr dFRh# > ? < > ¶ê¹4³» 5MJ^ E§až îï F*ø 52• 6e 1* 9:%h# ? .rÇMr SFT 9:F òÀ®˜ óÀ%h#
  • 100.
    <== "#$ %&% '()*+,&-./0 1234567 §À Ÿa– ÁÂÃ $#$ i.I -.- ü 68 lic ÉöFcN 68 lic ÉöFc Xîl^ f4 ŠÎR lic ÉöFc^ E§%h# ü 68 lic ÉöFc^ E§¡ "N çãã+´éç·´ë¹#>ç-+L ÉÊËÃ lic %ne 1} E§¡ U ¢h# )!+%49P O(7O(P &,4)"3.+P #,,0)0+(!N).+6.+)P'3<NO(7O(PQRQS
  • 101.
    <=< "#$ %&% '()*+,&-./0 1234567 a(¿ '(' 89: $#$ i.I -.- 68¦G lic ÌMFh# îïø gh ZF† ^ •ˆ%h# < bA!+%49K,,0G!!$%&(0%,4 !"#$%&'&$())'A!+%492,4)"3.+G!!$%&(0%,4'5 !"#$%&')0(0%&'6,%-'3(%4>A0+%49TU'(+9)?'5 A!+%49G!!$%&(0%,4'(!!$%&(0%,4':'4.V'A!+%49G!!$%&(0%,4>A!+%492,4)"3.+G!!$%&(0%,4=&$())?@ (!!$%&(0%,4=+"4>(+9)?@ a bY(7O(8%)0.4.+>0,!%&)':'J0.)0JX' 9+,"!D-':'J0.)0N9+,"!NRRJ? !"#$%&'6,%-'+.&,+-8%)0.4.+>2,4)"3.+L.&,+-^A0+%49XA0+%49_'+.&,+-?'5 $,99.+=%47,>+.&,+-=0,A0+%49>??@ a bY(7O(8%)0.4.+>0,!%&)':'J0.)0JX 9+,"!D-':'J0.)0N9+,"!NRfJ? !"#$%&'6,%-')%49$.B,!%&8%)0.4.+>A0+%49'3.))(9.M($".?'5 $,99.+=%47,>3.))(9.M($".?@ a bY(7O(8%)0.4.+>0,!%&)':'J0.)0JX 9+,"!D-':'J0.)0N9+,"!NRSJX'!+,!.+0%.)':'5 J3(c=!,$$=%40.+6($=3)PgRRRRJX J("0,=,77).0=+.).0P.(+$%.)0J a? !"#$%&'6,%-')%49$.B,!%&/%01*+,!.+0%.)8%)0.4.+>A0+%49'3.))(9.M($".?'5 $,99.+=%47,>3.))(9.M($".?@ a bY(7O(8%)0.4.+>0,!%&)':'J0.)0JX 9+,"!D-':'J0.)0N9+,"!NR`JX &,4&"++.4&<':'J`J? !"#$%&'6,%-'&,4&"++.40B,!%&8%)0.4.+>A0+%49'3.))(9.M($".?'5 $,99.+=%47,>3.))(9.M($".?@ a bY(7O(8%)0.4.+>0,!%&*(+0%0%,4)': 5 bB,!%&*(+0%0%,4>0,!%&':'J0.)0RfJX'!(+0%0%,4)':'5JRJX'JfJa?X bB,!%&*(+0%0%,4>0,!%&':'J0.)0RSJX'!(+0%0%,4C77).0)':'b*(+0%0%,4C77).0>!(+0%0%,4':'JRJX'%4%0%($C77).0':'J`J?? aX 9+,"!D-':'J0.)0N9+,"!NRhJ? !"#$%&'6,%-'$%)0.4A!.&%7%&*(+0%0%,4>2,4)"3.+L.&,+-^A0+%49X'A0+%49_'+.&,+-?'5 $,99.+=%47,>+.&,+-=0,A0+%49>??@ a a < > ? ! 8 52• 6e O©³Tr qN licFh# > 9% licL -.- ÉÊË %n6e «ža} Hh˜ ãµëãêµ·´ê¶ %ne E§a˜ Rh# ? !9 F=w -.- ÉÊË i2J^ ‚}a} H h˜ éë¹éºµµê¹é>¸%ne E§a˜ Rh# ¿^ )*Ï O¯nF ("9G îïe ÁÞ¡ " éë¹éºµµê¹é>^ ("qr ;ˆ¡ U ¢h# F ›1 a˜ ("9 O¯nL ("9w ÉÊË i2J + œœ ¡R®* D]l–F S*Óh# ! vˆ îïw vˆ O¯n' ÁÞa} Hh˜ ·ëã´é)çµ·´·´ë¹¶ O©³T^ E§%h# 8
  • 102.
    <=> "#$ %&% '()*+,&-./0 1234567 bA!+%49K,,0G!!$%&(0%,4 !"#$%&'&$())'A!+%492,4)"3.+G!!$%&(0%,4'5 !"#$%&')0(0%&'8,99.+'$,99.+':'8,99.+;(&0,+<=9.08,99.+>A!+%492,4)"3.+G!!$%&(0%,4=&$())?@ !"#$%&')0(0%&'6,%-'3(%4>A0+%49TU'(+9)?'5 A!+%49G!!$%&(0%,4'(!!$%&(0%,4':'4.V'A!+%49G!!$%&(0%,4>A!+%492,4)"3.+G!!$%&(0%,4=&$())?@ (!!$%&(0%,4=+"4>(+9)?@ a bY(7O(8%)0.4.+>0,!%&)':'J0.)0JX 9+,"!D-':'J0.)0N9+,"!NRfJ? !"#$%&'6,%-'#(0&18%)0.4.+>2,4)"3.+L.&,+-)^A0+%49X'A0+%49_'+.&,+-)?'5 +.&,+-)=7,+I(&1>+.&,+-'N_'$,99.+=%47,>+.&,+-=0,A0+%49>???@ a bY(7O(8%)0.4.+>0,!%&)':'J0.)0JX 9+,"!D-':'J0.)0N9+,"!NRSJ? !"#$%&'6,%-'#(0&18%)0.4.+>8%)0^A0+%49_'$%)0?'5 $%)0=7,+I(&1>+.&,+-M($".'N_'$,99.+=%47,>+.&,+-M($".??@ a bY(7O(8%)0.4.+>0,!%&)':'J0.)0JX 9+,"!D-':'J0.)0N9+,"!NR`JX &,4&"++.4&<':'J`J? !"#$%&'6,%-'&,4&"++.40K(0&18%)0.4.+>2,4)"3.+L.&,+-)^A0+%49X'A0+%49_'+.&,+-)?'5 +.&,+-)=7,+I(&1>+.&,+-'N_'$,99.+=%47,>+.&,+-=0,A0+%49>???@ a a ÄH Ÿa– $#$ i.I -.- ÉÊË 23Jw ~,e O©³Tr qNh < < > ? 52• 6)e T´¶· ¿ÀÁÂr qZM ]l%h# > !9 F=w ÉÊË i2Jr YÙ lic^ _` ¡ &NLN éë¹éºµµê¹é>¸%ne kl ÌM až E§a˜ Rh# ?
  • 103.
    !" / 0- 12345+ 6789 :;< =$>?@ A 23B 0-" CDE FG H+4IJK