{"id":2676,"date":"2021-08-06T19:36:56","date_gmt":"2021-08-06T12:36:56","guid":{"rendered":"https:\/\/tino.org\/?p=2676"},"modified":"2021-08-06T19:36:56","modified_gmt":"2021-08-06T12:36:56","slug":"kafka-la-gi-2","status":"publish","type":"post","link":"https:\/\/tino.vn\/blog\/kafka-la-gi-2\/","title":{"rendered":"Kafka l\u00e0 g\u00ec? 3 \u1ee9ng d\u1ee5ng n\u1ed5i b\u1eadt c\u1ee7a Apache Kafka"},"content":{"rendered":"\n<p><strong>Kafka l\u00e0 m\u1ed9t trong nh\u1eefng \u201ctr\u1ee5 c\u1ed9t\u201d ch\u00ednh c\u1ee7a<a href=\"https:\/\/tino.vn\/blog\/iot-platform-la-gi\/\" target=\"_blank\" data-type=\"URL\" data-id=\"https:\/\/tino.vn\/blog\/iot-platform-la-gi\/\" rel=\"noreferrer noopener\"> n\u1ec1n t\u1ea3ng d\u1eef li\u1ec7u IoT<\/a>, ph\u1ea7n m\u1ec1m n\u00e0y \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf nh\u1eb1m kh\u1ed1i l\u01b0\u1ee3ng l\u1edbn d\u1eef li\u1ec7u trong th\u1eddi gian th\u1ef1c m\u1ed9t c\u00e1ch ch\u00ednh x\u00e1c, nhanh ch\u00f3ng v\u00e0 hi\u1ec7u qu\u1ea3. V\u1eady Kafka c\u00f3 nh\u1eefng l\u1ee3i \u00edch g\u00ec? Ph\u1ea7n m\u1ec1m n\u00e0y \u0111\u01b0\u1ee3c \u1ee9ng d\u1ee5ng nh\u01b0 th\u1ebf n\u00e0o? C\u00f9ng t\u00ecm hi\u1ec3u qua b\u00e0i vi\u1ebft d\u01b0\u1edbi \u0111\u00e2y nh\u00e9!<\/strong> <\/p>\n\n\n\n<h2 id=\"Kafka_l\u00e0_g\u00ec?\"><a id=\"post-2676-_9h7s9id98w9w\"><\/a><strong>Kafka l\u00e0 g\u00ec?<\/strong><\/h2>\n\n\n\n<h3 id=\"\u0110\u1ecbnh_ngh\u0129a_v\u1ec1_Apache_Kafka\"><a id=\"post-2676-_gqt6pb8hhhch\"><\/a><strong>\u0110\u1ecbnh ngh\u0129a v\u1ec1 Apache Kafka<\/strong><\/h3>\n\n\n\n<p>   Kafka c\u00f3 t\u00ean g\u1ecdi kh\u00e1c l\u00e0 <strong>Apache Kafka<\/strong> do h\u1ec7 th\u1ed1ng n\u00e0y \u0111\u01b0\u1ee3c ph\u00e1t tri\u1ec3n b\u1edfi t\u1ed5 ch\u1ee9c Apache. \u0110\u00e2y \u0111\u01b0\u1ee3c xem l\u00e0 m\u1ed9t ph\u1ea7n m\u1ec1m s\u1eed d\u1ee5ng m\u00e3 ngu\u1ed3n m\u1edf. Kafka c\u00f3 nhi\u1ec7m v\u1ee5 x\u00e2y d\u1ef1ng m\u1ed9t khu\u00f4n kh\u1ed5 \u0111\u1ec3 \u0111\u1ecdc, l\u01b0u tr\u1eef v\u00e0 ph\u00e2n t\u00edch d\u1eef li\u1ec7u tr\u1ef1c tuy\u1ebfn. <\/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\/2025\/06\/3_word-image-81.jpg\" alt=\"kafka-la-gi\" class=\"wp-image-2679\" width=\"700\" title=\"\"><\/figure><\/div>\n\n\n\n<p>\n  Ph\u1ea7n m\u1ec1m n\u00e0y \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 ho\u1ea1t \u0111\u1ed9ng trong m\u00f4i tr\u01b0\u1eddng \u201cph\u00e2n t\u00e1n\u201d. \u0110i\u1ec1u n\u00e0y c\u00f3 ngh\u0129a l\u00e0 thay v\u00ec ch\u1ea1y tr\u00ean m\u00e1y t\u00ednh c\u1ee7a m\u1ed9t ng\u01b0\u1eddi d\u00f9ng, Kafka s\u1ebd ho\u1ea1t \u0111\u1ed9ng tr\u00ean nhi\u1ec1u m\u00e1y ch\u1ee7. Nh\u1edd \u0111\u00f3, ch\u00fang c\u00f3 th\u1ec3 t\u1eadn d\u1ee5ng s\u1ee9c m\u1ea1nh x\u1eed l\u00fd b\u1ed5 sung v\u00e0 dung l\u01b0\u1ee3ng l\u01b0u tr\u1eef hi\u1ec7u qu\u1ea3.\n<\/p>\n\n\n\n<p>\n  Ban \u0111\u1ea7u, ph\u1ea7n n\u00e0y ph\u00e1t tri\u1ec3n \u1edf Linkedin. T\u1ea1i \u0111\u00e2y, Kafka c\u00f3 ch\u1ee9c n\u0103ng ph\u00e2n t\u00edch m\u1ed1i quan h\u1ec7 gi\u1eefa h\u00e0ng tri\u1ec7u ng\u01b0\u1eddi d\u00f9ng. T\u1eeb \u0111\u00f3, h\u1ec7 th\u1ed1ng s\u1ebd x\u00e2y d\u1ef1ng \u0111\u01b0\u1ee3c m\u1ed9t m\u1ea1ng l\u01b0\u1edbi k\u1ebft n\u1ed1i. \u0110\u1ebfn n\u0103m 2011, Kafka chuy\u1ec3n sang m\u00e3 ngu\u1ed3n m\u1edf v\u00e0 b\u00e0n giao l\u1ea1i cho Apache Foundation &#8211; t\u1ed5 ch\u1ee9c \u0111i\u1ec1u ph\u1ed1i v\u00e0 gi\u00e1m s\u00e1t s\u1ef1 ph\u00e1t tri\u1ec3n c\u1ee7a m\u00e3 ngu\u1ed3n m\u1edf. Kafka \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c \u0111\u01b0\u1eddng \u1ed1ng d\u1eef li\u1ec7u trong th\u1eddi gian th\u1ef1c.\n<\/p>\n\n\n\n<h3 id=\"C\u00e1c_th\u00e0nh_ph\u1ea7n_ch\u00ednh_c\u1ee7a_Kafka\"><a id=\"post-2676-_ot4md5h17qku\"><\/a><strong>C\u00e1c th\u00e0nh ph\u1ea7n ch\u00ednh c\u1ee7a Kafka<\/strong><\/h3>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<ul class=\"wp-block-list\"><li><strong>Producer<\/strong>: \u0110\u00e2y c\u00f3 th\u1ec3 l\u00e0 b\u1ea5t k\u1ef3 \u1ee9ng d\u1ee5ng n\u00e0o c\u00f3 ch\u1ee9c n\u0103ng public message v\u00e0o m\u1ed9t topic\n  <\/li><li><strong>Topic<\/strong>: Topic l\u00e0 m\u1ed9t th\u1ec3 lo\u1ea1i (category) ho\u1eb7c t\u00ean ngu\u1ed3n cung c\u1ea5p d\u1eef li\u1ec7u (feed name). T\u1ea1i \u0111\u00e2y, b\u1ea3n ghi (record) s\u1ebd \u0111\u01b0\u1ee3c publish\n  <\/li><li><strong>Messages<\/strong>: \u0110\u00e2y ch\u1ec9 \u0111\u01a1n gi\u1ea3n l\u00e0 m\u1ed9t m\u1ea3ng byte. Ch\u00fang \u0111\u01b0\u1ee3c nh\u00e0 ph\u00e1t tri\u1ec3n s\u1eed d\u1ee5ng nh\u1eb1m l\u01b0u c\u00e1c object v\u1edbi b\u1ea5t k\u1ef3 format n\u00e0o, th\u01b0\u1eddng s\u1ebd l\u00e0 JSON, Avro, String\n  <\/li><li><strong>Partitions<\/strong>: Nh\u1eefng topic s\u1ebd \u0111\u01b0\u1ee3c chia \u0111\u1ec1u v\u00e0o c\u00e1c \u0111o\u1ea1n kh\u00e1c nhau, nh\u1eefng \u0111o\u1ea1n n\u00e0y \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 partitions\n  <\/li><li><strong>Consumer<\/strong>: Consumer c\u00f3 th\u1ec3 l\u00e0 \u1ee9ng d\u1ee5ng n\u00e0o v\u1edbi ch\u1ee9c n\u0103ng subscribe v\u00e0o m\u1ed9t topic v\u00e0 ti\u00eau thu c\u00e1c tin nh\u1eafn\n  <\/li><li><strong>Broker<\/strong>: M\u1ed9t set c\u00e1c server \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 c\u1ee5m Kafka, m\u1ed7i set n\u00e0y \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 m\u1ed9t broker\n  <\/li><li><strong>Zookeeper<\/strong>: C\u00f3 ch\u1ee9c n\u0103ng qu\u1ea3n l\u00fd v\u00e0 b\u1ed1 tr\u00ed c\u00e1c broker\n  <\/li><\/ul>\n<\/div><\/div>\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\/2025\/06\/2_word-image-82.jpg\" alt=\"kafka-la-gi\" class=\"wp-image-2681\" width=\"700\" title=\"\"><\/figure><\/div>\n\n\n\n<h3 id=\"C\u00e1ch_th\u1ee9c_ho\u1ea1t_\u0111\u1ed9ng_c\u1ee7a_Kafka\"><a id=\"post-2676-_hyztl77tzpy3\"><\/a><strong>C\u00e1ch th\u1ee9c ho\u1ea1t \u0111\u1ed9ng c\u1ee7a Kafka<\/strong><\/h3>\n\n\n\n<p>\n  H\u1ec7 th\u1ed1ng Kafka ho\u1ea1t \u0111\u1ed9ng theo m\u00f4 h\u00ecnh Subscribe\/Public. Ch\u00fang t\u01b0\u01a1ng t\u1ef1 v\u1edbi c\u00e1c h\u1ec7 th\u1ed1ng messages kh\u00e1c. Khi c\u00e1c \u1ee9ng d\u1ee5ng g\u1eedi messages \u0111\u1ebfn n\u00fat Kafka, ch\u00fang s\u1ebd \u0111\u01b0\u1ee3c x\u1eed l\u00fd th\u00f4ng qua c\u00e1c \u1ee9ng d\u1ee5ng (consumer).\n<\/p>\n\n\n\n<p>\n  L\u00fac n\u00e0y, nh\u1eefng messages c\u0169ng \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef t\u1ea1i c\u00e1c topic. Nh\u1edd \u0111\u00f3, consumer s\u1ebd \u0111\u01b0\u1ee3c ph\u00e9p subscribe \u0111\u1ebfn c\u00e1c topic v\u00e0 \u0111\u1ecdc messages. Nh\u1eefng message n\u00e0y c\u00f3 th\u1ec3 l\u00e0 b\u1ea5t k\u1ef3 th\u00f4ng tin n\u00e0o nh\u01b0: h\u00e0nh vi ng\u01b0\u1eddi d\u00f9ng hay gi\u00e1 tr\u1ecb c\u1ea3m bi\u1ebfn. Trong khi \u0111\u00f3, topic s\u1ebd l\u00e0 t\u00ean danh m\u1ee5c m\u00e0 messages \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef r\u1ed3i \u0111\u01b0a v\u00e0o.\n<\/p>\n\n\n\n<p>   Th\u00f4ng th\u01b0\u1eddng, topic trong Kafka c\u00f3 k\u00edch th\u01b0\u1edbc r\u1ea5t l\u1edbn. Do \u0111\u00f3, ng\u01b0\u1eddi d\u00f9ng kh\u00f4ng n\u1ec1n <a href=\"https:\/\/tino.vn\/blog\/so-hoa-tai-lieu-luu-tru\/\" target=\"_blank\" data-type=\"URL\" data-id=\"https:\/\/tino.vn\/blog\/so-hoa-tai-lieu-luu-tru\/\" rel=\"noreferrer noopener\">l\u01b0u tr\u1eef t\u1ea5t c\u1ea3 d\u1eef li\u1ec7u<\/a> c\u1ee7a topic v\u00e0o m\u1ed9t n\u00fat Kafka. T\u1ed1t nh\u1ea5t, b\u1ea1n n\u00ean chia d\u1eef li\u1ec7u n\u00e0y th\u00e0nh nhi\u1ec1u partitions (\u0111o\u1ea1n nh\u1ecf). Nh\u1edd \u0111\u00f3, b\u1ea1n s\u1ebd th\u1ef1c hi\u1ec7n subscribe c\u00f9ng l\u00fac v\u1edbi topic b\u1eb1ng bi\u1ec7n ph\u00e1p ph\u00e2n chia d\u1eef li\u1ec7u c\u00f3 trong m\u1ed9t topic c\u1ee5 th\u1ec3.  <\/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\/2025\/06\/2_word-image-83.jpg\" alt=\"kafka-la-gi\" class=\"wp-image-2683\" width=\"700\" title=\"\"><\/figure><\/div>\n\n\n\n<p>\n  Ph\u1ea7n l\u1edbn c\u00e1c partitions s\u1ebd \u0111\u01b0\u1ee3c \u0111\u1eb7t tr\u00ean m\u1ed9t m\u00e1y ri\u00eang bi\u1ec7t. \u0110\u1ed3ng th\u1eddi, ch\u00fang cho ph\u00e9p nh\u1eefng consumer \u0111\u1ecdc d\u1eef li\u1ec7u t\u1eeb m\u1ed9t topic di\u1ec5n ra c\u00f9ng l\u00fac. B\u00ean c\u1ea1nh \u0111\u00f3, m\u1ed7i partitions \u0111\u1ec1u s\u1edf h\u1eefu nh\u1eefng gi\u00e1 tr\u1ecb b\u1ea3n sao (replicas) ri\u00eang \u0111\u1ec3 t\u0103ng t\u00ednh kh\u1ea3 d\u1ee5ng c\u1ee7a ch\u00fang.\n<\/p>\n\n\n\n<h3 id=\"L\u1ee3i_\u00edch_c\u1ee7a_Kafka\"><a id=\"post-2676-_f9izo94mt6x1\"><\/a><strong>L\u1ee3i \u00edch c\u1ee7a Kafka<\/strong><\/h3>\n\n\n\n<h4 id=\"Duy_tr\u00ec_t\u00ednh_c\u1ea1nh_tranh\"><a id=\"post-2676-_2j7vdfr0o001\"><\/a><strong>Duy tr\u00ec t\u00ednh c\u1ea1nh tranh<\/strong><\/h4>\n\n\n\n<p>\n  Ng\u00e0y nay, ph\u00e2n t\u00edch d\u1eef li\u1ec7u th\u1ef1c gi\u00fap doanh nghi\u1ec7p thu th\u1eadp th\u00f4ng tin v\u00e0 ph\u1ea3n h\u1ed3i nhanh h\u01a1n. Nh\u1edd nh\u1eefng th\u00f4ng tin n\u00e0y, doanh nghi\u1ec7p c\u00f3 th\u1ec3 \u0111\u01b0a ra d\u1ef1 \u0111o\u00e1n v\u1ec1 nh\u1eefng g\u00ec h\u1ecd c\u1ea7n l\u01b0u tr\u1eef, qu\u1ea3ng b\u00e1 ho\u1eb7c nh\u1eadp h\u00e0ng. Kafka gi\u00fap h\u1ecd x\u1eed l\u00fd nhanh c\u00e1c d\u1eef li\u1ec7u th\u1ef1c. V\u1eady n\u00ean, m\u1ecdi quy\u1ebft \u0111\u1ecbnh c\u1ee7a doanh nghi\u1ec7p s\u1ebd mau l\u1eb9 v\u00e0 ch\u00ednh x\u00e1c h\u01a1n. H\u1ecd s\u1ebd kh\u00f4ng b\u1ecb \u0111\u1ed1i th\u1ee7 b\u1ecf l\u1ea1i tr\u00ean \u201c\u0111\u01b0\u1eddng \u0111ua\u201d th\u01b0\u01a1ng tr\u01b0\u1eddng.\n<\/p>\n\n\n\n<h4 id=\"Th\u00fac_\u0111\u1ea9y_t\u1ed1c_\u0111\u1ed9_x\u1eed_l\u00fd_d\u1eef_li\u1ec7u\"><a id=\"post-2676-_hutr4uy6v4xy\"><\/a><strong>Th\u00fac \u0111\u1ea9y t\u1ed1c \u0111\u1ed9 x\u1eed l\u00fd d\u1eef li\u1ec7u<\/strong><\/h4>\n\n\n\n<p>\n  Tr\u01b0\u1edbc kia, d\u1eef li\u1ec7u th\u01b0\u1eddng \u0111\u01b0\u1ee3c x\u1eed l\u00fd v\u00e0 truy\u1ec1n qua theo c\u00e1c m\u1ea1ng \u201cl\u00f4\u201d. \u0110i\u1ec1u n\u00e0y t\u1ea1o ra nh\u1eefng h\u1ea1n ch\u1ebf l\u1edbn trong \u0111\u01b0\u1eddng \u1ed1ng d\u1eef li\u1ec7u theo th\u1eddi gian th\u1ef1c. Kafka c\u00f3 kh\u1ea3 n\u0103ng ph\u00e2n t\u00e1n v\u00e0 qu\u1ea3n l\u00fd d\u1eef li\u1ec7u hi\u1ec7u qu\u1ea3 \u0111\u00e3 kh\u1eafc ph\u1ee5c \u0111\u01b0\u1ee3c t\u00ecnh tr\u1ea1ng n\u00e0y. Nh\u1edd \u0111\u00f3 qu\u00e1 tr\u00ecnh theo d\u00f5i v\u00e0 ph\u1ea3n \u1ee9ng tr\u01b0\u1edbc nh\u1eefng thay \u0111\u1ed5i \u0111\u1ed1i v\u1edbi c\u00e1c t\u1eadp d\u1eef li\u1ec7u ch\u1ec9 di\u1ec5n ra m\u1ed7i gi\u00e2y. \u0110i\u1ec1u n\u00e0y \u0111\u1ed3ng ngh\u0129a v\u1edbi vi\u1ec7c t\u1ed1c \u0111\u1ed9 x\u1eed l\u00fd d\u1eef li\u1ec7u trong th\u1eddi gian th\u1ef1c t\u1ed1n r\u1ea5t \u00edt th\u1eddi gian.\n<\/p>\n\n\n\n<h4 id=\"Theo_d\u00f5i_h\u00e0nh_vi_ng\u01b0\u1eddi_d\u00f9ng\"><a id=\"post-2676-_i0dpo93kgx1y\"><\/a><strong>Theo d\u00f5i h\u00e0nh vi ng\u01b0\u1eddi d\u00f9ng<\/strong><\/h4>\n\n\n\n<p>   Kafka l\u00e0 ph\u1ea7n m\u1ec1m c\u00f3 kh\u1ea3 n\u0103ng<a href=\"https:\/\/tino.vn\/blog\/cach-tiep-can-khach-hang-online\/\" target=\"_blank\" data-type=\"URL\" data-id=\"https:\/\/tino.vn\/blog\/cach-tiep-can-khach-hang-online\/\" rel=\"noreferrer noopener\"> theo d\u00f5i h\u00e0nh vi c\u1ee7a kh\u00e1ch h\u00e0ng<\/a> khi h\u1ecd truy c\u1eadp v\u00e0o c\u00e1c trang web l\u1edbn. Th\u00f4ng qua vi\u1ec7c ph\u00e2n t\u00edch d\u1eef li\u1ec7u lu\u1ed3ng nh\u1ea5p chu\u1ed9t m\u1ed7i phi\u00ean, b\u1ea1n c\u00f3 th\u1ec3 n\u1eafm r\u00f5 h\u00e0nh vi c\u1ee7a ng\u01b0\u1eddi d\u00f9ng. Vi\u1ec7c n\u00e0y gi\u00fap b\u1ea1n bi\u1ebft \u0111\u01b0\u1ee3c nh\u1eefng d\u1ecbch v\u1ee5 v\u00e0 s\u1ea3n ph\u1ea9m m\u00e0 kh\u00e1ch h\u00e0ng quan t\u00e2m. <\/p>\n\n\n\n<p>\n  V\u1edbi t\u00ednh n\u0103ng n\u00e0y, Kafka \u0111\u01b0\u1ee3c \u1ee9ng d\u1ee5ng r\u1ed9ng r\u00e3i t\u1ea1i c\u00e1c h\u1ec7 th\u1ed1ng l\u1edbn c\u1ee7a nh\u1eefng th\u01b0\u01a1ng hi\u1ec7u n\u1ed5i ti\u1ebfng nh\u01b0: Paypal, Spotify, Netflix, Uber,&#8230; Ph\u1ea7n m\u1ec1m n\u00e0y \u0111\u01b0\u1ee3c t\u1eadn d\u1ee5ng \u0111\u1ec3 x\u1eed l\u00fd d\u1eef li\u1ec7u tr\u1ef1c tuy\u1ebfn v\u00e0 theo d\u00f5i h\u00e0nh vi ng\u01b0\u1eddi d\u00f9ng tr\u00ean h\u1ec7 th\u1ed1ng.\n<\/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\/2025\/06\/3_word-image-14.png\" alt=\"kafka-la-gi\" class=\"wp-image-2685\" width=\"700\" title=\"\"><\/figure><\/div>\n\n\n\n<h2 id=\"\u1ee8ng_d\u1ee5ng_c\u1ee7a_Kafka\"><a id=\"post-2676-_wesv5rdc4wov\"><\/a><strong>\u1ee8ng d\u1ee5ng c\u1ee7a Kafka<\/strong><\/h2>\n\n\n\n<h3 id=\"X\u1eed_l\u00fd_lu\u1ed3ng_(Stream_processing)\"><a id=\"post-2676-_gkhl7qgf0lsp\"><\/a><strong>X\u1eed l\u00fd lu\u1ed3ng (Stream processing)<\/strong><\/h3>\n\n\n\n<p>\n  H\u1ec7 th\u1ed1ng Kafka cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng d\u00f9ng ph\u00e2n t\u00edch lu\u1ed3ng d\u1eef li\u1ec7u v\u1edbi t\u1ed1c \u0111\u1ed9 cao. Khi b\u1ea1n mu\u1ed1n theo d\u00f5i v\u00e0 ph\u00e2n t\u00edch h\u00e0nh vi ng\u01b0\u1eddi d\u00f9ng tr\u00ean website, b\u1ea1n c\u1ea7n ghi l\u1ea1i d\u1eef li\u1ec7u d\u01b0\u1edbi d\u1ea1ng th\u00f4 nh\u01b0: s\u1ed1 l\u1ea7n click chu\u1ed9t, t\u1ed5ng \u0111\u01a1n h\u00e0ng\n<\/p>\n\n\n\n<h3 id=\"N\u1ec1n_t\u1ea3ng_IoT_(Internet_Of_Thing_&#8211;_Internet_v\u1ea1n_v\u1eadt)\"><a id=\"post-2676-_yfs1tjqxxzt9\"><\/a><strong>N\u1ec1n t\u1ea3ng IoT (Internet Of Thing &#8211; Internet v\u1ea1n v\u1eadt)<\/strong><\/h3>\n\n\n\n<p>\n  IoT ng\u00e0y c\u00e0ng hi\u1ec7n \u0111\u1ea1i khi ch\u00fang cho ph\u00e9p thi\u1ebft b\u1ecb g\u1eedi d\u1eef li\u1ec7u \u0111\u00e3 thu th\u1eadp v\u00e0 h\u1ec7 th\u1ed1ng m\u00e1y ch\u1ee7. Nh\u1edd \u0111\u00f3, ng\u01b0\u1eddi d\u00f9ng c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng Kafka \u0111\u1ec3 nh\u1eadn \u0111\u01b0\u1ee3c d\u1eef li\u1ec7u thay v\u00ec t\u1ef1 ph\u00e1t tri\u1ec3n API. Nh\u1eefng d\u1eef li\u1ec7u \u0111\u00e3 thu th\u1eadp c\u00f3 th\u1ec3 l\u00e0 big data. Ch\u00fang th\u01b0\u1eddng \u0111\u01b0\u1ee3c g\u1eedi v\u1edbi t\u1ea7n su\u1ea5t c\u1ef1c k\u1ef3 cao, do \u0111\u00f3, b\u1ea1n c\u1ea7n y\u00eau c\u1ea7u x\u1eed l\u00fd v\u00e0 \u0111\u00e1p \u1ee9ng trong th\u1eddi gian th\u1ef1c.\n<\/p>\n\n\n\n<h3 id=\"Chuy\u1ec3n_\u0111\u1ed5i_ng\u00f4n_ng\u1eef_l\u1eadp_tr\u00ecnh\"><a id=\"post-2676-_drcpsnhog83r\"><\/a><strong>Chuy\u1ec3n \u0111\u1ed5i ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh<\/strong><\/h3>\n\n\n\n<p>\n  Kafka l\u00e0 \u1ee9ng d\u1ee5ng h\u1ed7 tr\u1ee3 chuy\u1ec3n \u0111\u1ed5i ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh c\u1ea5p th\u1ea5p sang c\u1ea5p cao. Shared memory &#8211; gi\u1ea3i ph\u00e1p chia s\u1ebb d\u1eef li\u1ec7u kh\u00f4ng gi\u00fap b\u1ea1n t\u00edch h\u1ee3p hai ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh l\u1ea1i v\u1edbi nhau. Do \u0111\u00f3, b\u1ea1n c\u1ea7n \u0111\u01b0a k\u1ebft qu\u1ea3 d\u1eef li\u1ec7u c\u1ee7a ch\u01b0\u01a1ng tr\u00ecnh vi\u1ebft v\u00e0o Kafka. Ti\u1ebfp \u0111\u00f3, b\u1ea1n ch\u1ec9 d\u00f9ng ch\u01b0\u01a1ng tr\u00ecnh mu\u1ed1n chuy\u1ec3n \u0111\u1ed5i \u0111\u1ec3 \u0111\u1ecdc topic v\u00e0 l\u1ea5y d\u1eef li\u1ec7u t\u01b0\u01a1ng \u1ee9ng \u0111\u1ec3 ph\u00e2n t\u00edch v\u00e0 x\u1eed l\u00fd.\n<\/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\/2025\/06\/2_word-image-84.jpg\" alt=\"kafka-la-gi\" class=\"wp-image-2687\" width=\"700\" title=\"\"><\/figure><\/div>\n\n\n\n<p>\n  Kafka t\u1ea1o ra nh\u1eefng gi\u00e1 tr\u1ecb m\u1edbi m\u1ebb v\u00e0 hi\u1ec7u qu\u1ea3 cho qu\u00e1 tr\u00ecnh x\u1eed l\u00fd d\u1eef li\u1ec7u. T\u1eeb nh\u1eefng ki\u1ebfn th\u1ee9c tr\u00ean, Tino Group hy v\u1ecdng b\u1ea1n c\u00f3 th\u1ec3 \u00e1p d\u1ee5ng thu\u1ea7n th\u1ee5c h\u1ec7 th\u1ed1ng Kafka v\u00e0o ch\u01b0\u01a1ng tr\u00ecnh l\u00e0m vi\u1ec7c c\u1ee7a m\u00ecnh.\n<\/p>\n\n\n\n<h2 id=\"Nh\u1eefng_c\u00e2u_h\u1ecfi_th\u01b0\u1eddng_g\u1eb7p_v\u1ec1_Kafka\"><a id=\"post-2676-_k7n0ar9c3qz5\"><\/a><strong>Nh\u1eefng c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 Kafka<\/strong><\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1628237294747\" class=\"rank-math-list-item\">\n<h3 id=\"Th\u1ebf_n\u00e0o_l\u00e0_d\u1eef_li\u1ec7u_tr\u1ef1c_tuy\u1ebfn?\"><strong>Th\u1ebf n\u00e0o l\u00e0 d\u1eef li\u1ec7u tr\u1ef1c tuy\u1ebfn?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>D\u1eef li\u1ec7u tr\u1ef1c tuy\u1ebfn \u0111\u01b0\u1ee3c t\u1ea1o ra b\u1edfi h\u00e0ng ngh\u00ecn ngu\u1ed3n d\u1eef d\u1eef li\u1ec7u m\u1ed9t c\u00e1ch li\u00ean t\u1ee5c. Th\u00f4ng th\u01b0\u1eddng, ch\u00fang s\u1ebd g\u1eedi c\u00e1c b\u1ea3n ghi d\u1eef li\u1ec7u \u0111\u1ed3ng th\u1eddi. N\u1ec1n t\u1ea3ng tr\u1ef1c tuy\u1ebfn lu\u00f4n ph\u1ea3i x\u1eed l\u00fd d\u00f2ng d\u1eef li\u1ec7u li\u00ean t\u1ee5c n\u00e0y. Qu\u00e1 tr\u00ecnh n\u00e0y \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n theo tu\u1ea7n t\u1ef1 v\u00e0 t\u0103ng d\u1ea7n.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1628237305441\" class=\"rank-math-list-item\">\n<h3 id=\"M\u1ed9t_s\u1ed1_ch\u1ee9c_n\u0103ng_ch\u00ednh_c\u1ee7a_Kafka_l\u00e0_g\u00ec?\">M\u1ed9t s\u1ed1 ch\u1ee9c n\u0103ng ch\u00ednh c\u1ee7a Kafka l\u00e0 g\u00ec?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Kafka \u0111\u01b0\u1ee3c t\u1ed1i \u01b0u h\u00f3a \u0111\u1ec3 nh\u1eadp v\u00e0 x\u1eed l\u00fd d\u1eef li\u1ec7u trong th\u1eddi gian th\u1ef1c. H\u1ec7 th\u1ed1ng n\u00e0y mang \u0111\u1ebfn 3 ch\u1ee9c n\u0103ng ch\u00ednh cho ng\u01b0\u1eddi d\u00f9ng l\u00e0:<br \/>&#8211; Ph\u00e2n t\u00edch, x\u1eed l\u00fd c\u00e1c lu\u1ed3ng d\u1eef li\u1ec7u trong th\u1eddi gian th\u1ef1c<br \/>&#8211; Xu\u1ea5t b\u1ea3n v\u00e0 \u0111\u0103ng k\u00fd c\u00e1c lu\u1ed3ng d\u1eef li\u1ec7u<br \/>&#8211; L\u01b0u tr\u1eef c\u00e1c lu\u1ed3ng b\u1ea3n ghi theo th\u1ee9 t\u1ef1 c\u00e1c b\u1ea3n ghi \u0111\u01b0\u1ee3c t\u1ea1o<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1628237324468\" class=\"rank-math-list-item\">\n<h3 id=\"Zookeeper_c\u00f3_vai_tr\u00f2_nh\u01b0_th\u1ebf_n\u00e0o?\"><strong>Zookeeper c\u00f3 vai tr\u00f2 nh\u01b0 th\u1ebf n\u00e0o?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Zookeeper \u0111\u1ea3m nhi\u1ec7m ch\u1ee9c n\u0103ng l\u01b0u tr\u1eef d\u1eef li\u1ec7u ph\u00e2n t\u00e1n d\u1ea1ng gi\u00e1 tr\u1ecb c\u1ed1t l\u00f5i (key-value). Th\u00e0nh ph\u1ea7n n\u00e0y th\u01b0\u1eddng ph\u1ee5c v\u1ee5 cho c\u00e1c t\u00e1c v\u1ee5 \u0111\u1ecdc nhanh nh\u01b0ng ghi ch\u1eadm. H\u1ec7 th\u1ed1ng Kafka s\u1eed d\u1ee5ng Zookeeper nh\u01b0 ph\u01b0\u01a1ng ti\u1ec7n \u0111\u1ec3 b\u1ea7u ch\u1ecdn leader c\u1ee7a Kafka broker v\u00e0 topic partitions. Ngo\u00e0i ra, th\u00e0nh ph\u1ea7n n\u00e0y c\u00f3 kh\u1ea3 n\u0103ng ch\u1ecbu l\u1ed7i cao. V\u00ec v\u1eady, h\u1ec7 th\u1ed1ng Kafka th\u01b0\u1eddng ph\u1ee5 thu\u1ed9c v\u00e0o Zookeeper kh\u00e1 nhi\u1ec1u.<br \/>B\u00ean c\u1ea1nh \u0111\u00f3, Zookeeper c\u00f2n \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 l\u01b0u tr\u1eef c\u00e1c metadata nh\u01b0:<br \/>&#8211; ACL: \u0110\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 gi\u1edbi h\u1ea1n vi\u1ec7c truy c\u1eadp v\u00e0 \u1ee7y quy\u1ec1n<br \/>&#8211; Offset cho c\u00e1c partition c\u1ee7a consumer group<br \/>&#8211; Quota: L\u00e0 s\u1ed1 l\u01b0\u1ee3ng messages t\u1ed1i \u0111a trong m\u1ed7i gi\u00e2y<br \/>&#8211; Partition leader<br \/>Trong \u0111\u00f3, producer v\u00e0 consumer th\u01b0\u1eddng kh\u00f4ng t\u01b0\u01a1ng t\u00e1c tr\u1ef1c ti\u1ebfp v\u1edbi Zookeeper. Thay v\u00e0o \u0111\u00f3, ch\u00fang s\u1ebd truy v\u1ea5n metadata t\u1edbi Kafka broker. Sau \u0111\u00f3, Kafka s\u1ebd ti\u1ebfp t\u1ee5c t\u01b0\u01a1ng t\u00e1c v\u1edbi Zookeeper v\u00e0 g\u1eedi ph\u1ea3n h\u1ed3i metadata v\u1ec1 l\u1ea1i cho ch\u00fang.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1628237390517\" class=\"rank-math-list-item\">\n<h3 id=\"V\u00ec_sao_c\u1ea7n_s\u1eed_d\u1ee5ng_Kafka?\"><strong>V\u00ec sao c\u1ea7n s\u1eed d\u1ee5ng Kafka?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Kafka l\u00e0 m\u1ed9t d\u1ef1 \u00e1n s\u1eed d\u1ee5ng m\u00e3 ngu\u1ed3n m\u1edf. H\u1ec7 th\u1ed1ng n\u00e0y \u0111\u01b0\u1ee3c c\u1ea3i ti\u1ebfn m\u1ea1nh m\u1ebd v\u1edbi c\u00e1c t\u00ednh n\u0103ng: \u0111\u00f3ng g\u00f3i ho\u00e0n ch\u1ec9nh, ch\u1ecbu l\u1ed7i cao, hi\u1ec7u n\u0103ng t\u1ed1t v\u00e0 d\u1ec5 d\u00e0ng m\u1edf r\u1ed9ng m\u00e0 kh\u00f4ng c\u1ea7n d\u1eebng h\u1ec7 th\u1ed1ng.<br \/>Hi\u1ec7n t\u1ea1i, Kafka \u0111ang \u0111\u01b0\u1ee3c thay th\u1ebf cho h\u1ec7 th\u1ed1ng messages truy\u1ec1n th\u1ed1ng b\u1edfi kh\u1ea3 n\u0103ng l\u01b0u tr\u1eef d\u1eef li\u1ec7u l\u1edbn.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<p>\n  M\u1ecdi th\u1eafc m\u1eafc v\u00e0 g\u00f3p \u00fd li\u00ean quan, xin vui l\u00f2ng<a href=\"https:\/\/tino.vn\/blog\/\"> li\u00ean h\u1ec7 ngay Tino Group<\/a> \u0111\u1ec3 \u0111\u01b0\u1ee3c t\u01b0 v\u1ea5n chi ti\u1ebft ho\u1eb7c<a href=\"https:\/\/www.facebook.com\/tino.com.vn\" rel=\"nofollow noopener\" target=\"_blank\"> Fanpage<\/a> \u0111\u1ec3 c\u1eadp nh\u1eadt nh\u1eefng th\u00f4ng tin m\u1edbi nh\u1ea5t nh\u00e9!\n<\/p>\n\n\n\n<p>\n  Tinh g\u1ecdn quy tr\u00ecnh &#8211; ch\u1ea1m \u0111\u1ec9nh doanh thu &#8211; Tino Group t\u1ef1 tin \u0111\u1ed3ng h\u00e0nh c\u00f9ng doanh nghi\u1ec7p Vi\u1ec7t tr\u00ean h\u00e0nh tr\u00ecnh chuy\u1ec3n \u0111\u1ed5i s\u1ed1!\n<\/p>\n\n\n\n<p><strong>C\u00d4NG TY C\u1ed4 PH\u1ea6N T\u1eacP \u0110O\u00c0N TINO<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Tr\u1ee5 s\u1edf ch\u00ednh: L17-11, T\u1ea7ng 17, T\u00f2a nh\u00e0 Vincom Center, S\u1ed1 72 L\u00ea Th\u00e1nh T\u00f4n, Ph\u01b0\u1eddng B\u1ebfn Ngh\u00e9, Qu\u1eadn 1, Th\u00e0nh ph\u1ed1 H\u1ed3 Ch\u00ed Minh<\/li><li>T\u1ed5ng \u0111\u00e0i mi\u1ec5n ph\u00ed: 1800 6734<\/li><li>Email: info@tino.org<\/li><li>Website: <a href=\"https:\/\/tino.vn\/blog\/\">www.tino.org<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Kafka l\u00e0 m\u1ed9t trong nh\u1eefng \u201ctr\u1ee5 c\u1ed9t\u201d ch\u00ednh c\u1ee7a n\u1ec1n t\u1ea3ng d\u1eef li\u1ec7u IoT, ph\u1ea7n m\u1ec1m n\u00e0y \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf nh\u1eb1m kh\u1ed1i l\u01b0\u1ee3ng l\u1edbn d\u1eef li\u1ec7u trong th\u1eddi gian th\u1ef1c m\u1ed9t c\u00e1ch ch\u00ednh x\u00e1c, nhanh ch\u00f3ng v\u00e0 hi\u1ec7u qu\u1ea3. V\u1eady Kafka c\u00f3 nh\u1eefng l\u1ee3i \u00edch g\u00ec? Ph\u1ea7n m\u1ec1m n\u00e0y \u0111\u01b0\u1ee3c \u1ee9ng d\u1ee5ng nh\u01b0 th\u1ebf n\u00e0o? [&hellip;]<\/p>\n","protected":false},"author":24,"featured_media":2677,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7347],"tags":[7348],"class_list":["post-2676","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chuyen-doi-so","tag-chuyen-doi-so-vi"],"_links":{"self":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/2676","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\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/comments?post=2676"}],"version-history":[{"count":0,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/2676\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media?parent=2676"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/categories?post=2676"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/tags?post=2676"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}