{"id":28559,"date":"2021-07-28T11:38:34","date_gmt":"2021-07-28T04:38:34","guid":{"rendered":"https:\/\/wiki.tino.org\/staging\/?p=28559"},"modified":"2021-07-28T17:47:29","modified_gmt":"2021-07-28T10:47:29","slug":"kafka-la-gi","status":"publish","type":"post","link":"https:\/\/tino.vn\/blog\/kafka-la-gi\/","title":{"rendered":"Kafka l\u00e0 g\u00ec? 5 c\u00e1ch s\u1eed d\u1ee5ng Kafka ph\u1ed5 bi\u1ebfn"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>N\u1ebfu b\u1ea1n m\u1edbi t\u00ecm hi\u1ec3u v\u1ec1 Kafka b\u1ea1n s\u1ebd th\u1ea5y nhi\u1ec1u \u0111i\u1ec1u kh\u00e1 l\u1ea1, v\u00ec Confluent \u0111\u1ecbnh ngh\u0129a Kafka l\u00e0 m\u1ed9t n\u1ec1n t\u1ea3ng stream, nhi\u1ec1u b\u00e0i vi\u1ebft kh\u00e1c c\u0169ng \u0111i theo \u0111\u1ecbnh h\u01b0\u1edbng n\u00e0y; c\u00f2n nhi\u1ec1u b\u00e0i vi\u1ebft kh\u00e1c l\u1ea1i n\u00f3i v\u1ec1 Kafka l\u00e0 m\u1ed9t message broker. V\u1eady, Tino Group s\u1ebd gi\u00fap b\u1ea1n hi\u1ec3u h\u01a1n v\u1ec1 Kafka l\u00e0 g\u00ec, Apache Kafka l\u00e0 g\u00ec v\u00e0 c\u1ea3 Kafka streaming nh\u00e9!<\/strong><\/p>\n\n\n\n<h2 id=\"Kafka_l\u00e0_g\u00ec?\"><a id=\"post-28559-_5j2ooqdd9blg\"><\/a><strong>Kafka l\u00e0 g\u00ec?<\/strong><\/h2>\n\n\n\n<h3 id=\"Apache_Kafka_l\u00e0_g\u00ec?\"><a id=\"post-28559-_ng7c4g5raj3m\"><\/a><strong>Apache Kafka l\u00e0 g\u00ec?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Apache Kafka <\/strong>l\u00e0 m\u1ed9t<em> h\u1ec7 th\u1ed1ng ph\u00e2n t\u00e1n message<\/em> &#8211; <strong>distributed messaging system<\/strong>, Kafka \u0111\u01b0\u1ee3c ph\u00e1t tri\u1ec3n v\u00e0 duy tr\u00ec b\u1edfi Apache, v\u00ec th\u1ebf Kafka (message broker) c\u00f3 t\u00ean l\u00e0 Apache Kafka.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1412.png\" alt=\"kafka-la-gi\" class=\"wp-image-28561\" width=\"600\" height=\"600\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1412.png 1200w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1412-300x300.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1412-1024x1024.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1412-150x150.png 150w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1412-768x768.png 768w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Gi\u1ed1ng nh\u01b0 nh\u1eefng ch\u01b0\u01a1ng tr\u00ecnh\/ ph\u1ea7n m\u1ec1m message broker kh\u00e1c, Kafka \u0111\u01b0\u1ee3c ph\u00e1t tri\u1ec3n theo m\u00f4 h\u00ecnh public\/subscribe. B\u00ean public d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 producer v\u00e0 b\u00ean nh\u1eadn d\u1eef li\u1ec7u theo c\u00e1c topic s\u1ebd \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 consumer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">B\u1ea1n c\u00f3 th\u1ec3 t\u00ecm hi\u1ec3u th\u00eam v\u1ec1 message broker v\u00e0 c\u00e1c t\u1eeb ti\u1ebfng Anh \u0111\u01b0\u1ee3c gi\u1eef nguy\u00ean trong b\u00e0i vi\u1ebft Kafka <a href=\"https:\/\/tino.vn\/blog\/rabbitMQ-la-gi\" target=\"_blank\" rel=\"noreferrer noopener\">t\u1ea1i \u0111\u00e2y<\/a>.<\/p>\n\n\n\n<h3 id=\"Kafka_stream_l\u00e0_g\u00ec?\"><a id=\"post-28559-_yge7szujcwk9\"><\/a><strong>Kafka stream l\u00e0 g\u00ec?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Kafka stream<\/strong> l\u00e0 m\u1ed9t <em>n\u1ec1n t\u1ea3ng streaming ph\u00e2n t\u00e1n s\u1ef1 ki\u1ec7n<\/em> &#8211; <strong>distributed event streaming platform<\/strong>. \u0110\u01b0\u1ee3c ph\u00e1t tri\u1ec3n d\u1ef1a tr\u00ean n\u1ec1n t\u1ea3ng Apache Kafka distributed messaging system b\u1edfi Linkedin v\u00e0o n\u0103m 2011, sau \u0111\u00f3 tr\u1edf th\u00e0nh d\u1ef1 \u00e1n m\u00e3 ngu\u1ed3n m\u1edf c\u1ee7a Apache. Cho \u0111\u1ebfn th\u1eddi \u0111i\u1ec3m hi\u1ec7n t\u1ea1i, Apache Kafka \u0111\u01b0\u1ee3c ph\u00e2n ph\u1ed1i ch\u00ednh th\u1ee9c v\u00e0 \u0111\u1ea7y \u0111\u1ee7 nh\u1ea5t b\u1edfi Confluent th\u00f4ng qua Confluent Platform.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ec1n t\u1ea3ng Kafka stream \u0111\u01b0\u1ee3c vi\u1ebft b\u1edfi ng\u00f4n ng\u1eef Scala v\u00e0 Java nh\u1eb1m m\u1ee5c \u0111\u00edch cung c\u1ea5p d\u1ecbch v\u1ee5 x\u1eed l\u00fd s\u1ef1 ki\u1ec7n d\u1ef1a tr\u00ean th\u1eddi gian th\u1ef1c v\u1edbi \u0111\u1ed9 tr\u1ec5 th\u1ea5p v\u00e0 th\u00f4ng l\u01b0\u1ee3ng cao. V\u00ec th\u1ebf, Kafka \u0111\u01b0\u1ee3c h\u01a1n <a href=\"https:\/\/kafka.apache.org\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">80% doanh nghi\u1ec7p trong top 100 c\u1ee7a Fortune<\/a> tin d\u00f9ng.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1413.png\" alt=\"kafka-la-gi\" class=\"wp-image-28562\" width=\"627\" height=\"372\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1413.png 774w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1413-300x178.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1413-768x456.png 768w\" sizes=\"(max-width: 627px) 100vw, 627px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">B\u00e0i vi\u1ebft s\u1ebd \u0111i theo h\u01b0\u1edbng Kafka stream \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng th\u00f4ng d\u1ee5ng trong th\u1eddi \u0111i\u1ec3m hi\u1ec7n t\u1ea1i.<\/p>\n\n\n\n<h3 id=\"Kafka_\u0111\u01b0\u1ee3c_s\u1eed_d\u1ee5ng_\u0111\u1ec3_l\u00e0m_g\u00ec?\"><a id=\"post-28559-_q8vl00rx6w51\"><\/a><strong>Kafka \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 l\u00e0m g\u00ec?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Kafka l\u00e0 m\u1ed9t kho d\u1eef li\u1ec7u ph\u00e2n t\u00e1n \u0111\u01b0\u1ee3c t\u1ed1i \u01b0u h\u00f3a \u0111\u1ec3 x\u1eed l\u00fd d\u1eef li\u1ec7u theo th\u1eddi gian th\u1ef1c. N\u1ebfu l\u00e0 m\u1ed9t n\u1ec1n t\u1ea3ng streaming tr\u1ef1c tuy\u1ebfn s\u1ebd c\u1ea7n ph\u1ea3i x\u1eed l\u00fd d\u1eef li\u1ec7u m\u1ed9t c\u00e1ch li\u00ean t\u1ee5c v\u00e0 tu\u1ea7n t\u1ef1 t\u0103ng d\u1ea7n. Sau \u0111\u00e2y s\u1ebd l\u00e0 3 ch\u1ee9c n\u0103ng ch\u00ednh Kafka s\u1ebd cung c\u1ea5p cho ng\u01b0\u1eddi d\u00f9ng:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Publish v\u00e0 subscribe c\u00e1c<strong> stream c\u1ee7a record<\/strong> (lu\u1ed3ng d\u1eef li\u1ec7u).<\/li><li>Kh\u1ea3 n\u0103ng l\u01b0u tr\u1eef c\u00e1c stream of record m\u1ed9t c\u00e1ch hi\u1ec7u theo th\u1ee9 t\u1ef1 c\u00e1c record \u0111\u01b0\u1ee3c t\u1ea1o.<\/li><li>Kh\u1ea3 n\u0103ng x\u1eed l\u00fd stream of record theo th\u1eddi gian th\u1ef1c<\/li><\/ul>\n\n\n\n<h3 id=\"V\u00ec_sao_n\u00ean_s\u1eed_d\u1ee5ng_Kafka?\"><a id=\"post-28559-_ei8vtul8ce18\"><\/a><strong>V\u00ec sao n\u00ean s\u1eed d\u1ee5ng Kafka?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00ec Kafka l\u00e0 m\u1ed9t d\u1ef1 \u00e1n m\u00e3 ngu\u1ed3n m\u1edf \u0111\u01b0\u1ee3c \u0111\u00f3ng g\u00f3i ho\u00e0n ch\u1ec9nh, v\u1edbi hi\u1ec7u n\u0103ng t\u1ed1t, d\u1ec5 d\u00e0ng m\u1edf r\u1ed9ng m\u00e0 kh\u00f4ng c\u1ea7n ph\u1ea3i t\u1ea1m d\u1eebng h\u1ec7 th\u1ed1ng c\u00f9ng v\u1edbi \u0111\u00f3 l\u00e0 kh\u1ea3 n\u0103ng ch\u1ecbu l\u1ed7i cao.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu b\u1ea1n \u0111ang x\u00e2y d\u1ef1ng m\u1ed9t ph\u1ea7n m\u1ec1m, m\u1ed9t trang web hi\u1ec3n th\u1ecb th\u00f4ng tin cho ng\u01b0\u1eddi d\u00f9ng theo th\u1eddi gian th\u1ef1c, Kafka ch\u00ednh l\u00e0 m\u1ed9t l\u1ef1a ch\u1ecdn t\u1ed1i \u01b0u. B\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng Kafka \u0111\u1ec3 nh\u1eadp v\u00e0 l\u01b0u tr\u1eef d\u1eef li\u1ec7u trong qu\u00e1 tr\u00ecnh ph\u00e1t tr\u1ef1c ti\u1ebfp; b\u1ea1n c\u0169ng c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng nh\u01b0 m\u1ed9t ph\u1ea7n m\u1ec1m message broker gi\u00fap 2 \u1ee9ng d\u1ee5ng\/ n\u1ec1n t\u1ea3ng c\u00f3 th\u1ec3 giao ti\u1ebfp v\u1edbi nhau.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nh\u1eefng l\u1ee3i \u00edch khi\u1ebfn b\u1ea1n c\u00e2n nh\u1eafc v\u1ec1 vi\u1ec7c s\u1eed d\u1ee5ng Kafka:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng<\/strong>: m\u00f4 h\u00ecnh ph\u00e2n v\u00f9ng nh\u1eadt k\u00fd c\u1ee7a Kafka cho ph\u00e9p d\u1eef li\u1ec7u c\u1ee7a b\u1ea1n c\u00f3 th\u1ec3 ph\u00e2n ph\u1ed1i tr\u00ean nhi\u1ec1u m\u00e1y ch\u1ee7 v\u00e0 gi\u00fap b\u1ea1n c\u00f3 th\u1ec3 m\u1edf r\u1ed9ng m\u00e1y ch\u1ee7 m\u1edf r\u1ed9ng khi kh\u00f4ng c\u00f2n ph\u00f9 h\u1ee3p.<\/li><li><strong>Nhanh<\/strong>: V\u1edbi c\u00e1ch x\u1eed l\u00fd t\u00e1ch c\u00e1c lu\u1ed3ng d\u1eef li\u1ec7u, v\u00ec th\u1ebf \u0111\u1ed9 tr\u1ec5 r\u1ea5t th\u1ea5p l\u00e0m cho t\u1ed1c \u0111\u1ed9 tr\u1edf n\u00ean nhanh h\u01a1n.<\/li><li><strong>Kh\u1ea3 n\u0103ng ch\u1ecbu l\u1ed7i v\u00e0 \u0111\u1ed9 b\u1ec1n<\/strong>: C\u00e1c g\u00f3i d\u1eef li\u1ec7u c\u1ee7a b\u1ea1n c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c sao ch\u00e9p v\u00e0 ph\u00e2n ph\u1ed1i tr\u00ean nhi\u1ec1u server kh\u00e1c nhau. V\u00ec th\u1ebf, khi c\u00f3 m\u1ed9t s\u1ef1 c\u1ed1 x\u1ea3y ra, d\u1eef li\u1ec7u c\u1ee7a b\u1ea1n \u00edt b\u1ecb l\u1ed7i h\u01a1n v\u00e0 b\u1ec1n h\u01a1n.<\/li><\/ul>\n\n\n\n<h2 id=\"Kafka_ho\u1ea1t_\u0111\u1ed9ng_nh\u01b0_th\u1ebf_n\u00e0o?\"><a id=\"post-28559-_fsfr98o2wnst\"><\/a><strong>Kafka ho\u1ea1t \u0111\u1ed9ng nh\u01b0 th\u1ebf n\u00e0o?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kafka s\u1eed d\u1ee5ng k\u1ebft h\u1ee3p 2 m\u00f4 h\u00ecnh ch\u00ednh l\u00e0 queuing v\u00e0 publish-subscribe nh\u1eb1m cung c\u1ea5p l\u1ee3i \u00edch t\u1ed1t nh\u1ea5t cho ng\u01b0\u1eddi d\u00f9ng.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Queuing <\/strong>cho ph\u00e9p d\u1eef li\u1ec7u c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c x\u1eed l\u00fd ph\u00e2n t\u00e1n tr\u00ean nhi\u1ec1u consumer v\u00e0 t\u1ea1o ra kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng cao.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1414.png\" alt=\"kafka-la-gi\" class=\"wp-image-28563\" width=\"972\" height=\"279\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1414.png 1051w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1414-300x86.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1414-1024x293.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1414-768x220.png 768w\" sizes=\"(max-width: 972px) 100vw, 972px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Publish-subscribe <\/strong>s\u1ebd ti\u1ebfp c\u1eadn c\u00f9ng l\u00fac nhi\u1ec1u subscribe v\u00e0 c\u00e1c message s\u1ebd \u0111\u01b0\u1ee3c g\u1eedi \u0111\u1ebfn nhi\u1ec1u subscribe, kh\u00f4ng th\u1ec3 s\u1eed d\u1ee5ng \u0111\u1ec3 ph\u00e2n t\u00e1n c\u00f4ng vi\u1ec7c cho nhi\u1ec1u worker.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1415.png\" alt=\"kafka-la-gi\" class=\"wp-image-28564\" width=\"966\" height=\"277\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1415.png 1051w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1415-300x86.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1415-1024x293.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1415-768x220.png 768w\" sizes=\"(max-width: 966px) 100vw, 966px\" \/><\/figure><\/div>\n\n\n\n<h3 id=\"C\u00e1c_kh\u00e1i_ni\u1ec7m_c\u1ea7n_n\u1eafm_khi_t\u00ecm_hi\u1ec3u_v\u1ec1_Kafka\"><a id=\"post-28559-_ui396j674v70\"><\/a><strong>C\u00e1c kh\u00e1i ni\u1ec7m c\u1ea7n n\u1eafm khi t\u00ecm hi\u1ec3u v\u1ec1 Kafka<\/strong><\/h3>\n\n\n\n<h4 id=\"Producer\"><a id=\"post-28559-_2pjx08gpvged\"><\/a><strong>Producer<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Tr\u01b0\u1edbc khi x\u1eed l\u00fd, Kafka s\u1ebd th\u1ef1c hi\u1ec7n ph\u00e2n lo\u1ea1i v\u00e0 l\u01b0u tr\u1eef c\u00e1c message d\u1ef1a theo topic c\u1ee7a ch\u00fang. <strong>Producer <\/strong>c\u00f3 nhi\u1ec7m v\u1ee5 publish message v\u00e0o c\u00e1c topic th\u00edch h\u1ee3p. Sau \u0111\u00f3, khi d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c g\u1eedi \u0111\u1ebfn partition c\u1ee7a topic \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef t\u1ea1i Broker.<\/p>\n\n\n\n<h4 id=\"Consumer\"><a id=\"post-28559-_smf06165s8pl\"><\/a><strong>Consumer<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">C\u00e1c consumer s\u1ebd \u0111\u01b0\u1ee3c \u0111\u1ecbnh danh theo t\u1eebng group name, nhi\u1ec1u consumer c\u00f3 th\u1ec3 c\u00f9ng n\u1eb1m trong m\u1ed9t topic.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1416.png\" alt=\"kafka-la-gi\" class=\"wp-image-28565\" width=\"659\" height=\"381\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1416.png 696w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1416-300x174.png 300w\" sizes=\"(max-width: 659px) 100vw, 659px\" \/><\/figure><\/div>\n\n\n\n<h4 id=\"Partition\"><a id=\"post-28559-_rdm68rz9egg\"><\/a><strong>Partition<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Partition l\u00e0 n\u01a1i l\u01b0u tr\u1eef d\u1eef li\u1ec7u cho c\u00e1c topic, m\u1ed7i topic c\u00f3 th\u1ec3 c\u00f3 m\u1ed9t ho\u1eb7c nhi\u1ec1u Partition kh\u00e1c nhau. M\u1ed7i Partition s\u1ebd \u0111\u01b0\u1ee3c g\u00e1n m\u1ed9t ID v\u00e0 l\u01b0u tr\u1eef d\u1eef li\u1ec7u c\u00f3 \u0111\u1ecbnh.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Trong 1 Kafka cluster, m\u1ed9t Partition c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c sao ch\u00e9p th\u00e0nh nhi\u1ec1u b\u1ea3n v\u00e0 c\u00f3 m\u1ed9t b\u1ea3n ch\u00ednh <strong>leader <\/strong>ch\u1ecbu tr\u00e1ch nhi\u1ec7m \u0111\u1ecdc ghi d\u1eef li\u1ec7u; c\u00e1c b\u1ea3n c\u00f2n l\u1ea1i s\u1ebd c\u00f3 t\u00ean l\u00e0 <strong>follower. <\/strong>Khi b\u1ea3n ch\u00ednh b\u1ecb l\u1ed7i,s\u1ebd c\u00f3 m\u1ed9t b\u1ea3n follower l\u00ean thay th\u1ebf th\u00e0nh leader.<\/p>\n\n\n\n<h4 id=\"Broker\"><a id=\"post-28559-_26wqnlwjb690\"><\/a><strong>Broker<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Kafka cluster l\u00e0 m\u1ed9t nh\u00f3m c\u00e1c server v\u00e0 m\u1ed7i nh\u00f3m server n\u00e0y s\u1ebd \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 broker.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1417.png\" alt=\"kafka-la-gi\" class=\"wp-image-28566\" width=\"756\" height=\"315\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1417.png 825w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1417-300x125.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1417-768x320.png 768w\" sizes=\"(max-width: 756px) 100vw, 756px\" \/><\/figure><\/div>\n\n\n\n<h4 id=\"Zookeeper\"><a id=\"post-28559-_kni6h91a3ego\"><\/a><strong>Zookeeper<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Zookeeper l\u00e0 m\u1ed9t ch\u1ee9c n\u0103ng nh\u1eb1m \u0111\u1ec3 qu\u1ea3n l\u00fd v\u00e0 b\u1ed1 tr\u00ed l\u1ea1i c\u00e1c broker.<\/p>\n\n\n\n<h3 id=\"M\u1ed9t_s\u1ed1_Use_Case_Kafka_ti\u00eau_bi\u1ec3u\"><a id=\"post-28559-_jyseum6k2hmu\"><\/a><strong>M\u1ed9t s\u1ed1 Use Case Kafka ti\u00eau bi\u1ec3u<\/strong><\/h3>\n\n\n\n<h4 id=\"S\u1eed_d\u1ee5ng_nh\u01b0_m\u1ed9t_message_broker\"><a id=\"post-28559-_ssl8q56pgulc\"><\/a><strong>S\u1eed d\u1ee5ng nh\u01b0 m\u1ed9t message broker<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">B\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng Kafka \u0111\u1ec3 thay th\u1ebf cho c\u00e1c Message broker nh\u01b0 ActiveMQ ho\u1eb7c RabbitMQ.<\/p>\n\n\n\n<h4 id=\"Website_Activity_Tracking\"><a id=\"post-28559-_h73ovsu3srgq\"><\/a><strong>Website Activity Tracking<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u00e2y l\u00e0 m\u1ed9t c\u00e1ch th\u1ee9c truy\u1ec1n th\u1ed1ng \u0111\u1ec3 s\u1eed d\u1ee5ng Kafka, b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng \u0111\u1ec3 x\u00e2y d\u1ef1ng website v\u00e0 \u0111\u0103ng t\u1ea3i n\u1ed9i dung theo th\u1eddi gian th\u1ef1c. T\u1ea5t c\u1ea3 c\u00e1c d\u1eef li\u1ec7u nh\u01b0: l\u01b0\u1ee3t xem trang, ho\u1ea1t \u0111\u1ed9ng t\u00ecm ki\u1ebfm v\u00e0 b\u1ea5t c\u1ee9 m\u1ed9t ho\u1ea1t \u0111\u1ed9ng n\u00e0o kh\u00e1c tr\u00ean trang c\u1ee7a b\u1ea1n \u0111\u1ec1u s\u1ebd \u0111\u01b0\u1ee3c t\u1ea1o th\u00e0nh c\u00e1c topic. Ho\u1ea1t \u0111\u1ed9ng theo d\u00f5i website n\u00e0y s\u1ebd gi\u00fap b\u1ea1n c\u00f3 th\u1ec3 ph\u00e2n t\u00edch \u0111\u01b0\u1ee3c h\u00e0nh vi ng\u01b0\u1eddi d\u00f9ng tr\u00ean trang v\u00e0 thu h\u00fat nhi\u1ec1u ng\u01b0\u1eddi \u0111\u1ecdc h\u01a1n.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1419.png\" alt=\"kafka-la-gi\" class=\"wp-image-28568\" width=\"652\" height=\"381\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1419.png 602w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1419-300x175.png 300w\" sizes=\"(max-width: 652px) 100vw, 652px\" \/><\/figure><\/div>\n\n\n\n<h4 id=\"\u0110o_l\u01b0\u1eddng\"><a id=\"post-28559-_va33oikiqvea\"><\/a><strong>\u0110o l\u01b0\u1eddng<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">B\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng Kafka \u0111\u1ec3 x\u00e2y d\u1ef1ng d\u1eef li\u1ec7u gi\u00e1m s\u00e1t c\u00e1c ho\u1ea1t \u0111\u1ed9ng. \u0110\u1ed3ng ngh\u0129a v\u1edbi vi\u1ec7c b\u1ea1n \u0111ang t\u1eadp h\u1ee3p s\u1ed1 li\u1ec7u th\u1ed1ng k\u00ea t\u1eeb c\u00e1c ngu\u1ed3n ph\u00e2n t\u00e1n tr\u00ean trang nh\u1eb1m t\u1ea1o ra m\u1ed9t ngu\u1ed3n d\u1eef li\u1ec7u t\u1ed5ng h\u1ee3p.<\/p>\n\n\n\n<h4 id=\"S\u1eed_d\u1ee5ng_\u0111\u1ec3_t\u1ea1o_Log\"><a id=\"post-28559-_v6kw4undzara\"><\/a><strong>S\u1eed d\u1ee5ng \u0111\u1ec3 t\u1ea1o Log<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">T\u1ed5ng h\u1ee3p log hay nh\u1eadt k\u00fd ho\u1ea1t \u0111\u1ed9ng, \u0111\u00e2y l\u00e0 ph\u01b0\u01a1ng ph\u00e1p nhi\u1ec1u ng\u01b0\u1eddi s\u1eed d\u1ee5ng Kafka nh\u1eb1m \u0111\u1ec3 t\u00f3m t\u1eaft c\u00e1c chi ti\u1ebft v\u00e0 cung c\u1ea5p b\u1ea3n ghi r\u00f5 r\u00e0ng v\u1ec1 d\u1eef li\u1ec7u s\u1ef1 ki\u1ec7n nh\u1eb1m \u0111\u1ec3 x\u1eed l\u00fd v\u1ec1 sau.<\/p>\n\n\n\n<h4 id=\"Stream_Processing\"><a id=\"post-28559-_wp2qesmw0q8e\"><\/a><strong>Stream Processing<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u00e2y l\u00e0 c\u00e1ch s\u1eed d\u1ee5ng ph\u1ed5 bi\u1ebfn nh\u1ea5t \u1edf th\u1eddi \u0111i\u1ec3m hi\u1ec7n t\u1ea1i c\u1ee7a Kafka, l\u00e0 m\u1ed9t h\u1ec7 th\u1ed1ng \u0111\u01b0\u1ee3c ph\u00e1t tri\u1ec3n \u0111\u1ec3 th\u00edch h\u1ee3p v\u1edbi vi\u1ec7c x\u1eed l\u00fd d\u1eef li\u1ec7u trong th\u1eddi gian th\u1ef1c. M\u1ed7i khi d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c th\u00eam m\u1edbi v\u00e0o topic s\u1ebd ngay l\u1eadp t\u1ee9c \u0111\u01b0\u1ee3c ghi v\u00e0o h\u1ec7 th\u1ed1ng v\u00e0 truy\u1ec1n \u0111\u1ebfn cho b\u00ean nh\u1eadn d\u1eef li\u1ec7u. V\u1edbi th\u01b0 vi\u1ec7n Kafka Streams \u0111\u01b0\u1ee3c t\u00edch h\u1ee3p t\u1eeb phi\u00ean b\u1ea3n 0.10.0.0 c\u00f3 kh\u1ea3 n\u0103ng x\u1eed l\u00fd stream nh\u1eb9 nh\u01b0ng v\u00f4 c\u00f9ng m\u1ea1nh m\u1ebd.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ngo\u00e0i ra, b\u1ea1n c\u0169ng c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng c\u00e1c c\u00f4ng c\u1ee5 m\u00e3 ngu\u1ed3n m\u1edf kh\u00e1c nh\u01b0: Apache Storm v\u00e0 Apache Samza \u0111\u1ec3 x\u1eed l\u00fd.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1423.png\" alt=\"kafka-la-gi\" class=\"wp-image-28572\" width=\"831\" height=\"277\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1423.png 1200w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1423-300x100.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1423-1024x341.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1423-768x256.png 768w\" sizes=\"(max-width: 831px) 100vw, 831px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">T\u1ed5ng k\u1ebft l\u1ea1i, Tino Group \u0111\u00e3 gi\u00fap b\u1ea1n hi\u1ec3u \u0111\u01b0\u1ee3c v\u1ec1 Kafka l\u00e0 g\u00ec c\u0169ng nh\u01b0 b\u1ea1n c\u0169ng \u0111\u00e3 c\u00f3 th\u1ec3 th\u1ea5y r\u1eb1ng Kafka r\u1ea5t \u0111\u00e1ng \u0111\u1ec3 s\u1eed d\u1ee5ng. Cu\u1ed1i c\u00f9ng, Tino Group ch\u00fac b\u1ea1n g\u1eb7t h\u00e1i \u0111\u01b0\u1ee3c nhi\u1ec1u th\u00e0nh c\u00f4ng trong vi\u1ec7c l\u1eadp tr\u00ecnh!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">B\u00e0i vi\u1ebft c\u00f3 tham kh\u1ea3o t\u1ea1i: <a href=\"https:\/\/kafka.apache.org\/uses\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Kafka Use Cases<\/a>, <a href=\"https:\/\/kafka.apache.org\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">APACHE Kafka<\/a>.<\/p>\n\n\n\n<h2 id=\"Nh\u1eefng_c\u00e2u_h\u1ecfi_th\u01b0\u1eddng_g\u1eb7p_v\u1ec1_Kafka_\"><a id=\"post-28559-_den8glpr1g9\"><\/a><strong>Nh\u1eefng c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 Kafka <\/strong><\/h2>\n\n\n\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"C\u00e1ch_tri\u1ec3n_khai_m\u1ed9t_Kafka_\u0111\u01a1n_gi\u1ea3n_nh\u01b0_th\u1ebf_n\u00e0o?\">C\u00e1ch tri\u1ec3n khai m\u1ed9t Kafka \u0111\u01a1n gi\u1ea3n nh\u01b0 th\u1ebf n\u00e0o?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">\u0110\u1ec3 tri\u1ec3n khai m\u1ed9t Kafka \u0111\u01a1n gi\u1ea3n, tr\u01b0\u1edbc ti\u00ean, b\u1ea1n c\u1ea7n t\u00e0i b\u1ed9 c\u00e0i \u0111\u1eb7t Kafka m\u1edbi nh\u1ea5t v\u1ec1 <a href=\"https:\/\/www.apache.org\/dyn\/closer.cgi?path=\/kafka\/2.8.0\/kafka_2.13-2.8.0.tgz\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">t\u1ea1i \u0111\u00e2y<\/a>. \u0110\u1ec3 qu\u00e1 tr\u00ecnh tri\u1ec3n khai m\u1ed9t c\u00e1ch thu\u1eadn l\u1ee3i h\u01a1n, b\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o video v\u00e0 b\u00e0i vi\u1ebft <a href=\"https:\/\/kafka.apache.org\/quickstart\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Apache Kafka Quickstart<\/a> nh\u00e9!<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"T\u00e0i_li\u1ec7u_t\u00ecm_hi\u1ec3u_s\u00e2u_Kafka_\u1edf_\u0111\u00e2u?\">T\u00e0i li\u1ec7u t\u00ecm hi\u1ec3u s\u00e2u Kafka \u1edf \u0111\u00e2u?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">\u0110\u1ec3 t\u00ecm hi\u1ec3u v\u00e0 khai th\u00e1c Kafka hi\u1ec7u qu\u1ea3 h\u01a1n, b\u1ea1n c\u00f3 th\u1ec3 xem b\u1ed9 t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c c\u1ee7a Kafka <a href=\"https:\/\/kafka.apache.org\/documentation\/\" rel=\"nofollow noopener\" target=\"_blank\">t\u1ea1i \u0111\u00e2y<\/a>, kh\u00f4ng ch\u1ec9 h\u01b0\u1edbng d\u1eabn b\u1ea1n c\u00e1c kh\u00e1i ni\u1ec7m c\u01a1 b\u1ea3n. Kafka s\u1ebd gi\u1edbi thi\u1ec7u cho b\u1ea1n nhi\u1ec1u h\u01a1n v\u1ec1 c\u00e1c API, c\u00e1ch k\u1ebft n\u1ed1i, thi\u1ebft k\u1ebf, c\u00e1ch v\u1eadn h\u00e0nh v\u00e0 b\u1ea3o m\u1eadt Kafka r\u1ea5t \u0111\u01a1n gi\u1ea3n d\u1ec5 hi\u1ec3u. \u0110i\u1ec1u ki\u1ec7n \u0111\u1ec3 h\u1ecdc t\u1ed1i \u01b0u nh\u1ea5t l\u00e0 b\u1ea1n ph\u1ea3i bi\u1ebft ti\u1ebfng Anh.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"RabbitMQ_l\u00e0_g\u00ec?\">RabbitMQ l\u00e0 g\u00ec?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">RabbitMQ l\u00e0 m\u1ed9t ch\u01b0\u01a1ng tr\u00ecnh message broker m\u00e3 ngu\u1ed3n m\u1edf gi\u1ed1ng v\u1edbi Kafka. Tuy nhi\u00ean, kh\u00e1c v\u1edbi Kafka, m\u1ed7i message c\u1ee7a RabbitMQ ch\u1ec9 \u0111i \u0111\u1ebfn duy nh\u1ea5t m\u1ed9t consumer.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"Apache_Software_Foundation_l\u00e0_g\u00ec?\">Apache Software Foundation l\u00e0 g\u00ec?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">Apache Software Foundation l\u00e0 m\u1ed9t t\u1ed5 ch\u1ee9c ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m m\u00e3 ngu\u1ed3n m\u1edf v\u00e0 phi l\u1ee3i nhu\u1eadn l\u1edbn nh\u1ea5t th\u1ebf gi\u1edbi v\u1edbi h\u01a1n 350 d\u1ef1 \u00e1n m\u00e3 ngu\u1ed3n m\u1edf. N\u1ebfu b\u1ea1n th\u00edch th\u00fa v\u1edbi Apache Software Foundation, b\u1ea1n c\u00f3 th\u1ec3 t\u00ecm hi\u1ec3u th\u00eam v\u1ec1 t\u1ed5 ch\u1ee9c n\u00e0y <a href=\"https:\/\/www.apache.org\/#the-worlds-largest-open-source-foundation\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">t\u1ea1i \u0111\u00e2y<\/a>.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\n<script type=\"application\/ld+json\">\n\t{\n\t\t\"@context\": \"https:\/\/schema.org\",\n\t\t\"@type\": \"FAQPage\",\n\t\t\"mainEntity\": [\n\t\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"C\u00e1ch tri\u1ec3n khai m\u1ed9t Kafka \u0111\u01a1n gi\u1ea3n nh\u01b0 th\u1ebf n\u00e0o?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>\u0110\u1ec3 tri\u1ec3n khai m\u1ed9t Kafka \u0111\u01a1n gi\u1ea3n, tr\u01b0\u1edbc ti\u00ean, b\u1ea1n c\u1ea7n t\u00e0i b\u1ed9 c\u00e0i \u0111\u1eb7t Kafka m\u1edbi nh\u1ea5t v\u1ec1 <a>t\u1ea1i \u0111\u00e2y<\/a>. \u0110\u1ec3 qu\u00e1 tr\u00ecnh tri\u1ec3n khai m\u1ed9t c\u00e1ch thu\u1eadn l\u1ee3i h\u01a1n, b\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o video v\u00e0 b\u00e0i vi\u1ebft <a>Apache Kafka Quickstart<\/a> nh\u00e9!<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"T\u00e0i li\u1ec7u t\u00ecm hi\u1ec3u s\u00e2u Kafka \u1edf \u0111\u00e2u?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>\u0110\u1ec3 t\u00ecm hi\u1ec3u v\u00e0 khai th\u00e1c Kafka hi\u1ec7u qu\u1ea3 h\u01a1n, b\u1ea1n c\u00f3 th\u1ec3 xem b\u1ed9 t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c c\u1ee7a Kafka <a>t\u1ea1i \u0111\u00e2y<\/a>, kh\u00f4ng ch\u1ec9 h\u01b0\u1edbng d\u1eabn b\u1ea1n c\u00e1c kh\u00e1i ni\u1ec7m c\u01a1 b\u1ea3n. Kafka s\u1ebd gi\u1edbi thi\u1ec7u cho b\u1ea1n nhi\u1ec1u h\u01a1n v\u1ec1 c\u00e1c API, c\u00e1ch k\u1ebft n\u1ed1i, thi\u1ebft k\u1ebf, c\u00e1ch v\u1eadn h\u00e0nh v\u00e0 b\u1ea3o m\u1eadt Kafka r\u1ea5t \u0111\u01a1n gi\u1ea3n d\u1ec5 hi\u1ec3u. \u0110i\u1ec1u ki\u1ec7n \u0111\u1ec3 h\u1ecdc t\u1ed1i \u01b0u nh\u1ea5t l\u00e0 b\u1ea1n ph\u1ea3i bi\u1ebft ti\u1ebfng Anh.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"RabbitMQ l\u00e0 g\u00ec?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>RabbitMQ l\u00e0 m\u1ed9t ch\u01b0\u01a1ng tr\u00ecnh message broker m\u00e3 ngu\u1ed3n m\u1edf gi\u1ed1ng v\u1edbi Kafka. Tuy nhi\u00ean, kh\u00e1c v\u1edbi Kafka, m\u1ed7i message c\u1ee7a RabbitMQ ch\u1ec9 \u0111i \u0111\u1ebfn duy nh\u1ea5t m\u1ed9t consumer.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"Apache Software Foundation l\u00e0 g\u00ec?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Apache Software Foundation l\u00e0 m\u1ed9t t\u1ed5 ch\u1ee9c ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m m\u00e3 ngu\u1ed3n m\u1edf v\u00e0 phi l\u1ee3i nhu\u1eadn l\u1edbn nh\u1ea5t th\u1ebf gi\u1edbi v\u1edbi h\u01a1n 350 d\u1ef1 \u00e1n m\u00e3 ngu\u1ed3n m\u1edf. N\u1ebfu b\u1ea1n th\u00edch th\u00fa v\u1edbi Apache Software Foundation, b\u1ea1n c\u00f3 th\u1ec3 t\u00ecm hi\u1ec3u th\u00eam v\u1ec1 t\u1ed5 ch\u1ee9c n\u00e0y <a>t\u1ea1i \u0111\u00e2y<\/a>.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t]\n\t}\n<\/script>\n\n\n","protected":false},"excerpt":{"rendered":"<p>N\u1ebfu b\u1ea1n m\u1edbi t\u00ecm hi\u1ec3u v\u1ec1 Kafka b\u1ea1n s\u1ebd th\u1ea5y nhi\u1ec1u \u0111i\u1ec1u kh\u00e1 l\u1ea1, v\u00ec Confluent \u0111\u1ecbnh ngh\u0129a Kafka l\u00e0 m\u1ed9t n\u1ec1n t\u1ea3ng stream, nhi\u1ec1u b\u00e0i vi\u1ebft kh\u00e1c c\u0169ng \u0111i theo \u0111\u1ecbnh h\u01b0\u1edbng n\u00e0y; c\u00f2n nhi\u1ec1u b\u00e0i vi\u1ebft kh\u00e1c l\u1ea1i n\u00f3i v\u1ec1 Kafka l\u00e0 m\u1ed9t message broker. V\u1eady, Tino Group s\u1ebd gi\u00fap b\u1ea1n hi\u1ec3u h\u01a1n [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":28573,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5404],"tags":[6187],"class_list":["post-28559","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-webmasters","tag-ho-tro-developer"],"_links":{"self":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/28559","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/comments?post=28559"}],"version-history":[{"count":0,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/28559\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media\/28573"}],"wp:attachment":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media?parent=28559"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/categories?post=28559"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/tags?post=28559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}