Blogs Tech

Những khái niệm, thuật ngữ và giải thích về những thứ mà Kafka có thể làm được

16:08 07/09/2023
Kafka là một nền tảng distributed event streaming cho phép người dùng thu nhận và xử lý các event, message real time. Nó hoàn toàn có thể là xương sống cho ngành bán lẻ nơi mà khách hàng luôn cần thông tin và phản hồi ngay lập tức kể cả trong việc xem hàng, mua hàng hay thanh toán. Nó cũng có thể là phần hậu phương đủ lớn cho việc phân tích, xử lý data với các nền tảng IOT, big data. Vậy thì, để làm được những điều phi thường đó, kafka đã làm như thế nào? Từ đâu mà Kafka được tạo nên? Kafka được vận hành trên ý tưởng về async programing và message driven programing. Ý tưởng về async programing sinh ra nhằm giải quyết bài toán khi có nhiều services trong 1 hệ thống cùng contact lẫn nhau, services A và B cùng gọi tới service C thì cái nào sẽ được giải quyết trước? Cũng như con người, khi 2 người cùng đưa ra yêu cầu tới một nhân viên chăm sóc KH, họ giải quyết cho KH A mất thời gian quá lâu sau đó tới giờ nghỉ trưa thì KH B có thể tới ngày hôm sau mới được chăm sóc, hoặc mất luôn KH B. Để giải quyết bài toán đó có 2 cách. Cách số 1: tăng thêm nhân viên chăm sóc KH. Điều này sẽ dẫn tới phối hợp 1 – 1 và làm cho công ty không scale được khi có thêm KH. Cách số 2 cũng là cách mà async programing based trên: cho phép xử lý song song cả 2 request bởi cùng 1 người. Điều này sẽ tránh được việc blocking request. Cụ thể, async programming là cách tách biệt giữa request và response giữa các services: Service A request tới service B Service C request tới service B Service B nhận 2 request, phản hồi lại với A và C là đã nhận request Service B xử lý request A và C tùy cái nào tới trước sau đó response lại Service A và C trong lúc chờ đợi sẽ tiếp tục gửi request tới service B và cuốn chiếu tracking response trở về. Ý tưởng về asynchronous programming không phải toàn năng, nó sẽ gặp vấn đè nếu server chung (ví dụ như service B) quá tải và ngừng hoạt động. Lúc đó service C hay A sẽ phải retry gửi lại request và càng lúc càng bị đầy request lên. Vấn đề thứ 2, async giải quyết được 1 service nhận nhiều request, nhưng không tính tới tình huống 1 request gửi đi nhiều service khác nhau và track response. Đó là lúc có message driven programing ra đời. Message-driven programing là lập trình điều hướng các message. Khi có nhiều request từ nhiều services có nhu cầu gửi tới nhiều servies khác, sẽ phải có 1 cái gì đó điều phối ở giữa để đảm bảo tất cả các request đều tới đích và nhận được response phù hợp. Client và server sẽ không giao tiếp trực tiếp với nhau nữa, 2 service cũng không thông trực tiếp với nhau mà sẽ qua 1 bên điều phối thứ 3 gọi là message broker. Message broker bản thân như một môi giới trong bất kỳ ngành nghề gì, kết nối người mua - người bán một mặt hàng nào đó với nhau. Cùng 1 lúc 1 môi giới BĐS có thể đưa 10 KH khác nhau match với 10 căn nhà khác nhau thành công. Message broker cũng như vậy, tiếp nhận message từ client, từ services, từ KH, từ mọi nguồn và phân phối nó tới chỗ nó cần tới trong 1 system. Trên thị trường có rất nhiều message broker như RabbitMQ, ActiveMQ thậm chí là Redis, nhưng, Kafka Apache có những unique selling point nếu so sánh với phần đông thị trường. Không chỉ phân phối được message (như mọi loại message queue), Kafka có các lợi thế sau  nếu so sánh với các loại sản phẩm khác: Đảm bảo việc gửi nhận không bị gián đoạn Có cơ chế xử lý lỗi Performance cao High availability Scalability          Dựa trên các ý tưởng trên, Kafka được phát triển ra và khẳng định sức mạnh của mình ở khoản performance mạnh mẽ trong việc điều phối data. Tiếp theo sẽ là cách mà kafka vận hành. Các thuật ngữ trong Kafka Để hiểu cách Kafka vận hành, có 2 loại khái niệm cần phải nắm được. Loại khái niệm đâu tiên chia theo chiều đi của message: message được gửi từ đâu tới đâu. Chiều thứ 2 là kafka có những component nào để vận hành. Khái niệm theo cách thức vận hành: Topic: Là các luồng data chạy trên kafka (bản chất là 1 chuỗi các message chạy liên tục). Các topic được chia thành các partition và các message được lưu thành các offset trên partition (xem mục partition và offset). Một topic sẽ có các đặc điểm sau: Xếp hàng: Khi có event/message mới ghi vào topic, message/event đó sẽ được nối vào cuối log của topic. Bất biến: Message/event được ghi vào sẽ không thể bị chỉnh sửa. Tuần tự: Consumer (tham khảo ở dưới) sẽ đọc log bằng cách đi tìm các offset và đọc các entries ghi theo lượt tuần tự Nhân bản: mỗi topic của kafka luôn là multi-producer và multi-subscriber: tức là cùng 1 lúc 1 topic có thể có nhiều nguồn gửi data vào và nhiều nguồn hứng data trong pipeline Không giống như các hệ thống stream message khác, dữ liệu trên kafka sẽ không bị xóa đi sau khi đã truyền tới đích. Thay vào đó, kafka cho phép setup thời hạn expired data khi data đạt tới độ lớn hoặc một khoảng thời gian nhất định Offset: Message khi chảy vào 1 topic sẽ được lưu vào thành offset của 1 partition. 2 message khi chảy vào có thể ghi thày cùng 1 offset và cùng 1 offset có thể ghi ở nhiều partition khác nhau. Thứ tự của 1 offset chỉ được đảm bảo trong cùng 1 partition Ví dụ: trong cùng partition 1, message có offset = 5 chắc chắn đến sau message có offset = 4. Producer: Là nơi tạo ra data/message/event cho các topics của Kafka (write). Các “producer” sẽ kiểm soát dữ liệu nào sẽ đi vào “partition” nào trong 1 topic. Rule phân bổ là theo round-robin để cân bằng tải hoặc theo rule set stream theo event key Consumer: Là nơi hứng các data/message/event sinh ra topics của Kafka (read). Thông thường, một consumer sẽ phải đọc 1 bản ghi sinh ra 1 cách tuần tự, tuy nhiên, kafka cho phép kiểm soát thứ tự bản ghi theo từng người dùng, dẫn tới việc mỗi consumer hoàn toàn có thể nhảy cóc thứ tự đọc nhằm đảm bảo tính real time của dữ liệu VD: 1 consumer có thể tái sử dụng 1 bản ghi cũ để làm bản ghi mới hoặc có thể nhảy cóc qua các bản ghi đang sinh ra để đọc bản ghi gần nhất và ngay lập tức sử dụng bản ghi đó Một Kafka consumer có thể vào đọc và sử dụng tài nguyên mà không ảnh hưởng tới cluster của các consumer khác.       Kết luận lại: multi-producers sẽ tạo (writre) ra nhiều message/event/data đẩy vào trong topic. Data đó sẽ được lưu thành các offset. Multi-consumer/subscriber vào check offsets để đọc (read), sau đó sẽ xử lý tiếp request. Tiếp đến, kafka có các khái niệm bổ dọc theo tầng hệ thống: Partition: Các partition là các phần nằm bên trong 1 topic cho phép khi có nhiều offset cùng vào topic tại một thời điểm, các offset sẽ được chia cho nhiều partition để phân phối tới consumer. Một partition sẽ độc lập với các partition khác. Số lượng partition cho mỗi topic thì tuỳ theo nhu cầu của ứng dụng do người dùng quy định. Trong mỗi partition sẽ lưu nhiều offset, số lượng offset của mỗi partition có thể là khác nhau, tùy vào rule phân phối đã set vd theo round-robin hoặc event key rule. Broker: Message được lưu tại offset của partition, partition lưu ở trong topic. Các topic sẽ được lưu trên kafka broker Bản thân 1 broker của kafka là 1 server nằm trong cụm cluster của kafka để lưu trữ dữ liệu Thông thường theo mô hình truyền thống, 1 kafka server sẽ tương ứng với 1 cụm cluster dựng trên máy chủ vật lý. Khi server này chết thì toàn bộ dữ liệu sẽ mất cùng với nó luôn. Đây gọi là single-point failure. Cụm cluster Kafka sẽ phân tán các partition của cùng 1 topic ra nhiều broker nhất có thể để đảm bảo khi có 1 con broker chết, sẽ có con khác backup và giải quyết vấn đề không bị gián đoạn hệ thống Tuy nhiên, việc chia broker và partition vẫn chưa giải quyết được hết single point failure do nếu data store trên 2 broker và cả 2 con cùng ngừng hoạt động thì bản chất vẫn là single point. Do đó, Kafka có khái niệm thứ 3: replication. Replication: Là bản sao của topic ở trên 1 broker sang 1 broker khác VD: Có 3 topic và 3 brokers Topic A lưu ở broker 1 và 2 Topic B lưu ở broker 2 và 3 Nếu broker 1 và 2 ngừng hoạt động thì Topic A cũng sẽ ngừng hoạt động Do đó, kafka sẽ có replica topic A sang broker 3 để hệ thống vẫn stream bình thường. Tương tác với topic B rồi C Trên 1 broker sẽ có lưu 1 phần topic này và replica của topic kia để đảm bảo khi có 1 broker hoặc 1 cụm broker ngừng hoạt động thì vẫn sẽ có bản lưu ở 1 chỗ nào đó khác. Kafka vận hành ra sao Bên trên là một số các khái niệm cơ bản khi tìm hiểu về kafka. Tiếp theo, bài viết sẽ giới thiệu cụ thể cách kafka vận hành: Input data from producers Đầu vào của hệ thống nằm ở producer tạo ra (write) message gửi vào các topic trong cụm kafka cluster. Lập trình viên sẽ setup để producer write vào topic nào và dừng lại ở đó. Khi có message vào, producer tự động biết nên write vào broker nào và partition nào. Nếu ghi fail thì sẽ có cơ chế retry thành công Việc “tự động” write được vào partition nào là do cơ chế round-robin của kafka: Có 3 brokers: message đầu tiên sẽ vào broker 1, message thứ 2 vào broker 2, message thứ 3 vào broker 3, message 4 sẽ vào broker 1,… Khi write vào partition, có cơ chế acks (acknowledgment) để báo producer biết message đã gửi thành công. Ack có 3 states: Acks = 0: producer gửi message và không chờ phản hồi (có thể dẫn tới mất data) Acks = 1: producer chờ tới khi nhận được phản hồi nhưng không lưu lại message sau khi write thành công. State này dẫn tới nếu broker đó chết, message sẽ mất theo Acks = 2: producer chờ nhận phản hồi và chắc chắn phản hồi đã được lưu lại trên broker chính và toàn bộ các bản replica (sẽ có ảnh hưởng tới performance do phải chờ response write data thành công) Processing data Kafka implement message bằng cách chỉ định 1 replication bất kỳ làm leader. Cơ chế này là leader partition concept. Tại một thời điểm, mỗi partition có duy nhất 1 replication leader, các replication còn lại là ISR – In sync replica sẽ đồng bộ lại data đã ghi ở leader. Nếu replication leader ngừng hoạt động, hệ thống tự động chỉ định 1 ISR bất kỳ đứng lên làm leader. Việc chỉ định này được thông qua thuật toán của Kafka Zookeeper. Với khái niệm replication như trên, 1 partition sẽ được nhân bản (replicate) lưu trên nhiều broker khác nhau. Vậy thì, khi producer write được data vào topic, data này bản thân được lưu ở đâu, lưu vào bản replica nào, theo rule gì? Kafka Zookeeper là core dùng để quản lý metadata của kafka. Metadata này bao gồm: Toàn bộ các action phát sinh trong hệ thống: CRUD topics, crud brokers, crud partitions, status,…. Brokers nào nằm ở cụm kafka cluster nào Configuration, permissions của các topics Việc kiểm soát các metadata này cho phép zookeeper tính toán để chỉ định các replication leader và ISR cũng như điều phối để các broker hoạt động một cách bình thường. Khi các broker được điều hướng để hoạt động, các messages khi producers write xuống các topics sẽ được đảm bảo được tính tin cậy và bền vững. Các message được write thành các offset xếp theo thứ tự trên partition trong một topic lưu trên 1 broker và được replica sang các ISR khác. Tiếp theo, consumer sẽ vào để “sử dụng” các offset này. Consume messages Các consumer đọc message từ topic theo topic name. Tuy nhiên, như đã mô tả phía trên, 1 broker sẽ có các replica để store topic, vậy nên consumer sẽ đọc theo leader replication. Tiếp đến, nếu quá trình read gặp lỗi,  kafka có cơ chế tự phục hồi để đảm bảo dữ liệu tới nơi toàn vẹn. Việc đọc của consumer sẽ diễn ra tuần tự trong 1 partition, offset nào tới trước sẽ được đọc trước. Một consumer có thể đọc nhiều message trong nhiều partition khác nhau trong 1 topics. Do thứ tự message trong partition không thay đổi thứ tự nên khi read từ nhiều partition sẽ có những tình huống consumer đọc offset = 3 ở partition 1 - trước khi đọc được offset = 1 ở partition 3. Tuy nhiên, kafka cho phép xử lý multi – multi, tức là multiple message được read bởi multiple consumer. Nếu như chỉ có 1 consumer đọc toàn bộ message của toàn bộ các partition thì sẽ xảy ra tình trạng quá tải. Vậy nên, kafka giải bài toán đó thông qua consumer group. 1 consumer group sẽ nhận toàn bộ data của các partition và chia cho các consumer bên trong quản lý. Mỗi consumer trong 1 group sẽ đọc toàn bộ data của một hoặc nhiều partition để đảm bảo messasge ordering. Một consumer có thể read message từ nhiều partition nhưng 1 partition sẽ không thể gửi message cho nhiều consumer trong 1 group. Cơ chế consumer group sinh ra nhằm đảm bảo không có consumer nào bị quá tải khi nhận message từ brokers. Tổng kết lại message được sinh ra từ 1 producer, gửi topic. Topic được vận hành bởi các broker, trên các broker sẽ có replication leader của topic này và các ISR của topic khác. Việc phân phối chỉ định leader do Kafka Zookeeper phân phối. Message từ producer sẽ được ghi thành các offset trên partition trong topic. Consumer group nhận toàn bộ message từ partition và phân phối cho các consumer bên trong để sử dụng. Toàn bộ cơ chế trên chính là việc implement queue và topic trong message broker. Có 2 dạng phân phối message khi nói về message broker là queues (point-tpoint messaging) và topic (broadcast messaging) Queue: là 1 dạng phân phối message quan hệ 1 – 1 (point to point messaging) giữa client và server (hoặc giữa các services). Mỗi message chỉ có 1 đầu vào và 1 điểm tới. Bản thân queueing trong kafka chính là việc message từ 1 topic A (bất kể có bao nhiêu partition) sẽ chỉ được gửi tới 1 consumer group B (bất kể có bao nhiêu consumer) Broastcast messaging: một message được gửi tới nhiều địa chỉ, chỉ khi subscribe địa chỉ thì mới nhận được message đó. Trong kafka, khái niệm này chính là dạng 1 topic gửi message tới nhiều consumer groups. Consumer nào subscribe topic mới read được message đó. Bên trên là toàn bộ các khái niệm cũng như basic cách kafka apache vận hành. Bằng cách cung cấp service Kafka, FPT Smart Cloud đồng thời cung cấp toàn bộ những ưu điểm của kafka apache như sự ổn định, tính bền vững và khả năng scaling cũng như performance mạnh mẽ của nền tảng này. Đăng ký sử dụng thử miễn phí ngay: https://fptcloud.com/lien-he/   Nguyễn Quý Hiếu

Những ứng dụng cùng ưu nhược điểm khi sử dụng Kafka as a Service

14:03 07/09/2023
Trong việc phát triển phần mềm kỹ thuật nói riêng và khi bàn về công nghệ nói chung, cụm từ Kafka thường hay xuất hiện như là một giải pháp truyền dữ liệu real time (thời gian thực). Hiểu một cách đơn giản là khi 1 khách hàng đang mua hàng trên 1 app di động, để họ xem được mặt hàng, gửi đơn hàng tới các bên xử lý một cách nhanh nhất thì luồng dữ liệu đi dưới hệ thống phải được thông suốt càng nhanh càng tốt mà không phải chờ đợi. Nếu chỉ có một khách hàng giao tiếp với một hệ thống thì sẽ không có chuyện gì để bàn. Nhưng khi có cả triệu khách hàng giao tiếp cùng lúc với một hệ thống, số lượng data truyền xuống từ một khách hàng là vô cùng lớn, chưa kể trong 1 hệ thống thường được cấu thành bởi vô vàn các services, các component khác nhau. Bài toán lúc này không nằm ở việc app đầy đủ thông tin hay được trang điểm đẹp đẽ, mà trở thành làm thế nào để cả triệu khách hàng cùng nhận được thông tin một cách nhanh chóng? Vào ngày 11 tháng 1 năm 2011, Kafka Apache ra đời để giải quyết bài toán trên. Vậy Kafka là gì, FPT Smart cloud cung cấp giải pháp gì liên quan tới Kafka Apache? Kafka là gì? Kafka là một nền tảng phân phối sự kiện dữ liệu (message and event) cho phép: Publish và subscribe các luồng sự kiện, message (event stream) Lưu trữ, xử lý và phân phối dữ liệu thời gian thực Để hiểu được việc phân phối dữ liệu, sự kiện (distributed event streaming) thì trước hết cần hiểu 1 sự kiện (event) là 1 bản ghi 1 action trong hệ thống. Ví dụ khi 1 khách hàng vào app thì sẽ sinh ra 1 event như sau: eventKey: “FPT_Cloud_Kafka” eventValue: “Open Application” EventTimestramp: “Aug.25.2023.13:06” Event được định nghĩa bởi: user – action – time. Việc phân phối dữ liệu, sự kiện sẽ bắt đầu từ khi bắt được các event như ví dụ trên từ nhiều nguồn khác nhau như database, app mobiles, cloud services, backend services, software application,… Một nền tảng streaming dữ liệu sẽ bắt được các event theo thứ tự và xử lý các dữ liệu này trước khi đưa vào lưu trữ tập trung một cách real time để có thể sử dụng về sau (có thể là ngay lập tức). Các event này sẽ được đưa vào các stream pipeline - các luồng đi của dữ liệu được dựng lên. Dòng chảy này sẽ có các đặc tính sau: Toàn vẹn dữ liệu: dữ liệu từ lúc tiếp nhận cho tới khi đến đích phải nguyên vẹn Thời gian thực: dữ liệu truyền đi ngay khi event được sinh ra Đúng địa chỉ: dữ liệu sẽ phải được truyền tới đúng đích đã setup. Để làm được điều này Kafka sẽ được dựng trên một cụm cluster trải dài trên nhiều trung tâm dữ liệu (datacenter) và cung cấp các chức năng của nó theo cách phân tán (distributed), khả năng mở rộng và đàn hồi cao (scalable and elastic) cũng như khả năng chịu lỗi tốt và vô cùng bảo mật. Kafka có thể được dựng trên máy chủ vật lý, trên máy trạm ảo, trên các container của K8S hoặc tối ưu nhất là trên các nền tảng cloud. Bản thân việc dựng được một cụm cluster Kafka không phải chuyện đơn giản do người dùng sẽ phải có kiến thức nhất định về hạ tầng và cài đặt vận hành nền tảng. Hiểu được điều này, FPT Smart Cloud cung ứng dịch vụ Kafka as a service cho phép dựng sẵn một cụm cluster kafka mà người dùng không cần có những hiểu biết nêu trên. Ngoài ra, sản phẩm còn có nhiều Ưu và nhược điểm khi sử dụng Ưu/nhược điểm của việc sử dụng Kafka là gì? Lợi ích khi sử dụng Kafka Sử dụng Apache Kafka mang lại nhiều lợi ích cho việc xây dựng và triển khai các hệ thống xử lý dữ liệu thời gian thực và streaming. Dưới đây là một số lợi ích chính khi sử dụng Kafka: Xử lý Dữ liệu Thời gian thực: Kafka được thiết kế để xử lý dữ liệu thời gian thực và streaming, cho phép bạn đáp ứng nhanh chóng đối với sự kiện mới xảy ra. Điều này rất hữu ích cho việc giám sát, phân tích, và ứng phó tức thì với các tình huống thay đổi. Tính Nhất quán và Độ Tin cậy Cao: Kafka giữ cho bạn tính nhất quán dữ liệu thông qua quá trình sao lưu và sao chép thông điệp giữa các broker. Điều này đảm bảo dữ liệu không bị mất mát và luôn sẵn sàng cho các ứng dụng tiêu thụ. Mở Rộng Dễ Dàng: Kafka có khả năng mở rộng dễ dàng bằng cách thêm các broker vào cluster. Điều này cho phép bạn tăng khả năng xử lý dữ liệu mà không cần thay đổi cấu trúc toàn bộ hệ thống. Dữ liệu Đa Dạng: Kafka không chỉ hỗ trợ dữ liệu thông thường mà còn có khả năng xử lý dữ liệu đa dạng như logs, trạng thái ứng dụng, sự kiện liên quan đến giao dịch tài chính, và nhiều loại dữ liệu khác. Khả năng Chia Lượng Lớn: Nhờ việc sử dụng phân vùng (partitioning), Kafka có khả năng xử lý lượng dữ liệu lớn một cách hiệu quả. Điều này làm cho nó phù hợp cho các tình huống cần xử lý hàng tỷ sự kiện mỗi ngày. Tích hợp linh hoạt: Kafka có khả năng tích hợp với nhiều công nghệ và ứng dụng khác. Bạn có thể sử dụng các ngôn ngữ lập trình khác nhau để viết các ứng dụng producer và consumer, và Kafka cũng hỗ trợ các giao thức truyền tải khác nhau. Lưu trữ Dữ liệu Lâu Dài: Ngoài việc xử lý dữ liệu thời gian thực, Kafka cũng có khả năng lưu trữ dữ liệu lâu dài. Điều này cho phép bạn lưu trữ và truy xuất lại dữ liệu sự kiện trong tương lai để phân tích và kiểm tra. Hệ Thống Log: Kafka hoạt động như một hệ thống log, cho phép bạn lưu trữ và tìm kiếm thông tin sự kiện theo thời gian. Điều này rất hữu ích cho việc gỡ lỗi, phân tích dữ liệu và theo dõi hoạt động hệ thống. Nhược điểm của Kafka Phức Tạp trong Cài Đặt Ban Đầu: Cài đặt và cấu hình ban đầu của Kafka có thể phức tạp đối với những người mới bắt đầu sử dụng. Yêu Cầu Hiểu Biết Sâu về Hệ Thống: Để triển khai và quản lý Kafka hiệu quả, cần có kiến thức về hệ thống và mạng. Yêu Cầu Tài Nguyên: Kafka yêu cầu một số lượng tài nguyên tương đối lớn để hoạt động tốt, bao gồm bộ nhớ và khả năng xử lý. Khó Để Hiểu và Sử Dụng Cho Người Mới: Với những người mới sử dụng, Kafka có thể đầy thách thức và yêu cầu thời gian để hiểu rõ về cách làm việc của nó. Không Phải Là Giải Pháp Tất Cả Các Trường Hợp Sử Dụng: Mặc dù Kafka rất mạnh mẽ, nhưng nó không phải là giải pháp phù hợp cho tất cả các tình huống. Có những trường hợp sử dụng khác có thể phù hợp hơn. Khả Năng Quản Lý Dữ Liệu Lâu Dài Hạn: Mặc dù Kafka có thể lưu trữ dữ liệu lâu dài, nhưng việc quản lý và tìm kiếm dữ liệu trong các phiên bản sau này có thể đòi hỏi công việc phức tạp và tài nguyên. Usecases Kafka là một nền tảng streaming dữ liệu thời gian thực. Vì thế, nó đượng ứng dụng một cách rộng rãi trong nhiều ngành nghề và tổ chức. Kafka as a messaging system Trong ngành tài chính, các khoản payment và transactions khi phát sinh sẽ yêu cầu tốc độ xử lý càng nhanh càng tốt. VD: KH có nhu cầu rút tiền, process này diễn ra chỉ trong khoảng 5 – 10s sau khi nhập hết thông tin order VD: trong chứng khoán, giá của các mã chứng khoán thay đổi trong thời gian thực và nó ảnh hưởng trực tiếp tới giá trị giao dịch của cả ngàn KH một lúc Kafka lúc này sẽ được cài đặt và tinh chỉnh để trở thành 1 hệ thống truyền các message qua lại giữa nhiều hệ thống khác nhau VD: dữ liệu giá từ sở giao dịch tới công ty chứng khoán, dữ liệu mã chứng khoán từ trung tâm lưu ký tới công ty chứng khoán và ngân hàng Nếu không có kafka, các message sẽ có độ trễ, dẫn tới việc giao dịch có thể bị mất do lúc đó giá trị giao dịch không còn chính xác. Kafka as activity tracker Trong khối ngành logistic, một bài toán đặt ra là phương tiện chuyên chở đang đi tới đâu, bao lâu nữa tới nơi. Việc di chuyển diễn ra liên tục dẫn tới nhu cầu kiểm soát đước hoạt động này trở nên khó khăn VD: Đặt 1 course taxi, người dùng sẽ muốn biết xe đang tới đâu để có thể căn thời gian chuẩn bị, di chuyển tới điểm đón. Việc căn thời gian, đường đi này cần track được đường có đang tắc ở đâu không, có vướng mắc gì trên đường đi hay không Kafka as data processing Với trending nhà thông minh, việc ứng dụng IOT (internet on things) trở nên phổ biến hơn bao giờ hết. Để vận hành được thì các vật dụng cảm biến (sensor) trong nhà sẽ cần phải thu thập ược dữ liệu, sau đó phân tích xử lý dữ liệu đó trước khi truyền tới hệ thống để có action tiếp theo. VD: Khi người dùng nói: “Bật đèn”, micro hứng trong nhà sẽ phải bắt được câu “bật đèn”, xử lý dữ liệu để dịch ra ngôn ngữ hệ thống: eventKey: “guest” eventValue: “turn on the light” EventTimestramp: “Aug.25.2023.13:06” Sau khi xử lý xong, hệ thống sẽ truyền dữ liệu này tới bộ xử lý IOT. Bộ xử lý IOT sẽ truyền action tương ứng tới hệ thống điện trong nhà để bật đèn. Kafka sẽ cho phép quá trình thu thập và xử lý data xảy ra một cách nhanh nhất trước khi truyền dữ liệu đi. Nếu không có ứng dụng này, người dùng bình thường có thể mất tới vài lần nói thật to may ra mới bật được đèn một cách tự động Trong tương lai, việc phân tích và xử lý data có thể tiến tới tầm cao mới. Ví dụ như camera nhìn thấy sắc mặt của chủ nhà để bật nhạc tùy tâm trạng. Để xử lý được khối dữ liệu khổng lồ này thì sẽ cần một nền tảng đủ mạnh như kafka. Tiến tới xa hơn thì kafka hoàn toàn có thể làm xương sống cho việc xử lý big data của các công ty với khả năng xử lý dữ liệu của mình Ngoài 3 usecase chính về streaming message real time, tracking activity và xử lý data, Kafka còn nhiều ứng dụng khác như connect và storage dữ liệu, stream processing vv. Từ khi ra đời tới nay, Kafka đã giúp thay đổi bộ mặt của nhiều ngành nghề cũng như ảnh hưởng lớn tới việc số hóa dữ liệu, quy trình và sản phẩm. Nhưng để thực sự hiểu và dựng được lên một cụm cluster kafka thì một người dùng sẽ phải quan tâm tới nhiều khía cạnh khác như tài nguyên, vận hành, cài đặt cũng như theo dõi sửa lỗi, nâng cấp. Nắm được nhu cầu đó, FPT Smart Cloud cung cấp giải pháp Kafka as a service, đáp ứng được toàn bộ yêu cầu về mặt bảo mật, scaling, high availability, cài đặt, vận hành cũng như có nhiều tính năng bổ trợ để phân quyền, quản lý kafka dễ dàng. Giải pháp FPT Cloud Kafka as a Service sẽ giúp các Developer có thể tự động hóa hoàn toàn việc quản lý, duy trì và mở rộng các cụm Apache Kafka mà không tốn công sức triển khai, dễ dàng quản lý giúp tối ưu chi phí tài nguyên, nguồn lực. Đăng ký sử dụng thử miễn phí ngay: https://fptcloud.com/lien-he/ Nguyễn Quý Hiếu

FPT Smart Cloud đồng hành cùng Vietnam Open Infrastructure tổ chức Meetup #33

15:21 30/08/2023
Sự kiện VietOpenInfra Meetup lần thứ 33 do cộng đồng Vietnam Open Infrastructure cùng FPT Smart Cloud tổ chức nhằm chia sẻ về các kiến thức, kinh nghiệm thực tế từ chuyên gia qua quá trình sử dụng các nền tảng nguồn mở đã diễn ra vào ngày 12/8 tại Hà Nội. Tại Meetup #33 lần này, FPT Smart Cloud với vai trò là Silver Members của tổ chức OpenInfra thế giới, sẽ đồng hành cùng cộng đồng chia sẻ kiến thức về nền tảng mã nguồn mở tại Việt Nam. Sự kiện dành cho những ai quan tâm đến các chủ đề về công nghệ, tham dự hội thảo bạn sẽ học hỏi thêm nhiều kiến thức, kinh nghiệm và đặc biệt có cơ hội trao đổi trực tiếp cùng chuyên gia. VietOpenInfra Meetup lần thứ 33 được tổ chức vào 13:30 – 17:00 chiều thứ 7 (12/08) tại FPT Smart Cloud, số 10 Phạm Văn Bạch, Cầu Giấy, Hà Nội. Tại sự kiện, anh Nguyễn Khương Duy – Phó Giám đốc Trung tâm Phát triển Dịch vụ hạ tầng Cloud, FPT Smart Cloud sẽ có những chia sẻ thú vị về Kiến trúc Multi-regions, Multi-zones của các Cloud Provider cùng những kinh nghiệm “thực chiến” tại Tập đoàn công nghệ hàng đầu Việt Nam. Hình ảnh: Anh Nguyễn Khương Duy – Phó Giám đốc Trung tâm Phát triển Dịch vụ hạ tầng Cloud, FPT Smart Cloud Chuyên gia đến từ Tập đoàn CyberAgent – anh Trần Công Khanh là người có nhiều kinh nghiệm trong lĩnh vực Cloud Native và OSS (phần mềm mã nguồn mở), sẽ trình bày về chủ đề PipeCD – Milestones and Achievements on the Road to CNCF Admission.  Hình ảnh: Anh Trần Công Khanh - Chuyên gia đến từ Tập đoàn CyberAgent  Diễn giả cuối cùng là anh Trịnh Quốc Việt – Senior Devops đến từ Property Gurus Việt Nam, ngoài ra anh cũng là một người sáng tạo nội dung tại viblo.asia. Đến với buổi chia sẻ, anh sẽ mang đến những kiến thức bổ ích về Resource Optimization in Kubernetes. Hình ảnh: Anh Trịnh Quốc Việt – Senior Devops đến từ Property Gurus Việt Nam FPT Smart Cloud là nhà cung cấp các giải pháp ứng dụng công nghệ hàng đầu khu vực với nền tảng Trí tuệ nhân tạo (AI) toàn diện, dịch vụ Điện toán đám mây (Cloud) và dữ liệu (Data) hàng đầu khu vực. Trong khi đó, Vietnam Open Infrastructure Community là cộng đồng tổ chức chuỗi meetup, các hoạt động kết nối, chia sẻ về nhiều chủ đề liên quan đến Open Infrastructure được công nhận chính thức bởi OpenStack Foundation. OpenInfra Days Vietnam chính thức được tổ chức từ năm 2018 nhằm hưởng ứng sự kiện OpenInfra Days quốc tế được tổ chức bởi cộng đồng các chuyên gia về công nghệ mở tại rất nhiều quốc gia trên thế giới. Trên phương diện quốc tế, Open Infrastructure Foundation - một tổ chức phi Chính phủ thành lập năm 2012 hiện có khoảng hơn 82.000 thành viên từ 187 nước trên thế giới và là tổ chức quy tụ số lượng chuyên gia nguồn mở lớn nhất trên toàn cầu. Sản phẩm nổi tiếng của OpenStack Foundation là OpenStack - một nền tảng nguồn mở được phát triển từ năm 2010 để xây dựng hạ tầng trên công nghệ điện toán đám mây.

FPT Cloud thắng giải Vàng quốc tế về Điện toán đám mây

16:59 29/08/2023
Stevie Awards - được biết đến là "Oscar của giới doanh nghiệp", tôn vinh và công nhận những thành tựu, đóng góp tích cực của các chuyên gia, tổ chức trên toàn thế giới. Giải thưởng Kinh doanh Quốc tế (Stevie Awards International Business Awards) là một trong những giải thưởng về công nghệ danh giá nhất trên thế giới bởi tiêu chí chấm điểm khắt khe, Ban giám khảo gồm nhiều quản lý, chuyên gia đến từ nhiều lĩnh vực khác nhau như: Giám đốc quản lý sản phẩm eBay, Giám đốc khoa học ứng dụng Amazon, Kỹ sư bảo mật Paypal…. Vượt qua hơn 3.700 đề cử đến từ 61 quốc gia, trong đó bao gồm nhiều Tập đoàn lớn, Nền tảng Điện toán đám mây FPT Cloud - Sản phẩm chiến lược của FPT Smart Cloud được vinh danh giải cao nhất tại hạng mục Cloud Platform Giải thưởng kinh doanh quốc tế năm 2023. Cụ thể, FPT Cloud nhận được đánh giá cao từ hơn 300 chuyên gia trên khắp thế giới, chia thành 11 hội đồng, dựa trên nhiều tiêu chí khắt khe về tính năng, công nghệ, hiệu quả và giá trị mang lại cho người dùng và xã hội. FPT Cloud là nền tảng được thiết kế và phát triển bởi FPT Smart Cloud, với kiến trúc tiêu chuẩn quốc tế, ưu tiên thiết kế hệ thống, bảo mật thông tin, tính ổn định và khả năng mở rộng. Nền tảng Cloud thế hệ mới này sở hữu những ưu điểm khác biệt như: tích hợp Al, mô hình bảo mật nhiều lớp, giao diện quản lý đồng nhất… với hơn 80 dịch vụ Điện toán đám mây mạnh mẽ từ dịch vụ Hạ tầng (IaaS) tới Nền tảng (PaaS), Ứng dụng (SaaS) tuân theo các tiêu chí bảo mật hàng đầu như PCIDSS, ISO 27017:27013. Nền tảng FPT Cloud cũng sở hữu nhiều chứng chỉ cùng giải thưởng danh giá khác trong và ngoài nước, khẳng định chất lượng vượt trội của sản phẩm công nghệ Việt, trở thành đối tác tin cậy của hơn 3.000 doanh nghiệp trong đa dạng ngành nghề, lĩnh vực. Bên cạnh Giải Vàng quốc tế, FPT Cloud đã đạt Giải Vàng “Make in Vietnam” hạng mục Sản phẩm số xuất sắc cho Kinh tế số, đây là giải thưởng danh giá do Bộ Thông tin và Truyền thông trao tặng sau hơn 4 tháng xét chọn từ 218 hồ sơ. Giải thưởng ghi nhận những đóng góp nổi bật của các sản phẩm công nghệ số, giúp gia tăng năng lực cạnh tranh cho doanh nghiệp Việt, thúc đẩy chuyển đổi số và phát triển kinh tế số tại Việt Nam. Ông Phan Hồng Tâm – Giám đốc khối Công nghệ Cloud, FPT Smart Cloud khẳng định: " Giải Vàng quốc tế là sự ghi nhận quý giá đối với năng lực công nghệ cùng những nỗ lực không ngừng nghỉ của toàn bộ đội ngũ chúng tôi trong việc phát triển và cung cấp những giải pháp Cloud hàng đầu cho doanh nghiệp. Với giải thưởng này, FPT Cloud sẽ từng bước hiện thực hóa sứ mệnh xác lập vị thế Việt Nam trên ‘bản đồ công nghệ số’ của thế giới”. Thông tin thêm về giải thưởng Stevie Awards: Giải thưởng Kinh doanh Quốc tế (International Business Awards – Stevie Awards) là giải thưởng hàng đầu thế giới nhằm tôn vinh và ghi nhận những thành tựu và đóng góp tích cực của các doanh nghiệp, cá nhân trên toàn cầu đối với lợi ích cộng đồng. Mỗi năm trung bình giải thưởng thu hút sự tham gia của 12.000 đơn vị đến từ 70 quốc gia trên toàn cầu. Trong năm 2021, Stevie Awards đón nhận hơn 3.700 hồ sơ đến từ 63 quốc gia và vùng lãnh thổ; kết quả giải thưởng dựa trên điểm số trung bình của hơn 260 CEO trên toàn thế giới. Đây là một trong những giải thưởng uy tín và danh giá nhất hiện nay bởi mức độ chuyên môn, quy mô tổ chức và thành phần tham gia. Trọng tâm của giải thưởng quốc tế Stevie Awards nhằm hướng tới đổi mới, sáng tạo, cải thiện kinh doanh.

Xây dựng chiến lược Cloud Migration cùng FPT Smart Cloud

15:49 29/08/2023
Ngày 9/8, FPT Smart Cloud tổ chức buổi “Coffee tech talk series” với chủ đề: Cloud Migration Strategies For A Seamless Transition. Workshop đã mang đến cho các doanh nghiệp tham dự những kiến thức, kinh nghiệm trong việc lựa chọn chiến lược chuyển đổi đám mây phù hợp giúp doanh nghiệp xác định được phương án tối ưu dựa trên nhu cầu kinh doanh. Coffee tech talk series với chủ đề Cloud Migration Strategies For A Seamless Transition Cloud Migration là quá trình di chuyển dữ liệu, ứng dụng và quy trình hoạt động từ môi trường truyền thống lên nền tảng đám mây. Đây là một xu hướng quan trọng và tất yếu đối với các doanh nghiệp hiện nay. Việc chuyển đổi lên đám mây mang lại nhiều lợi ích quan trọng, đó là việc giảm chi phí hoạt động, thay vì phải đầu tư vào hạ tầng vật lý và phần cứng, doanh nghiệp có thể sử dụng các dịch vụ đám mây và trả phí theo mô hình dựa trên nhu cầu sử dụng (pay-as-you-go). Ngoài ra, việc chuyển đổi lên đám mây cũng mang lại tốc độ và khả năng mở rộng nhanh chóng, cho phép doanh nghiệp tăng hoặc giảm quy mô tài nguyên theo nhu cầu thực tế. Điều này giúp đáp ứng nhanh chóng các yêu cầu tăng trưởng kinh doanh và đảm bảo hiệu suất cao trong quá trình vận hành.  Linh hoạt cũng là một trong những lợi ích quan trọng của Cloud Migration. Các dịch vụ đám mây cho phép người dùng truy cập từ mọi nơi và bất kỳ thiết bị nào có kết nối internet. Điều này giúp cải thiện hiệu suất làm việc đội nhóm và khả năng làm việc từ xa.  Chiến lược Cloud Migration Phần chia sẻ về Chiến lược “Cloud hóa” của anh Lã Hồng Nguyên, Kiến trúc sư giải pháp, FPT Smart Cloud Trong quá trình chuyển đổi lên đám mây, các doanh nghiệp thường áp dụng một số chiến lược phổ biến như Rehost, Refactor, Re-Architect, Rebuild và Replace. Theo ông Lã Hồng Nguyên - Kiến trúc sư giải pháp thuộc Khối Công nghệ Cloud, FPT Smart Cloud chia sẻ: “Việc nắm rõ các chiến lược chuyển đổi “Cloud hóa” trên sẽ giúp các doanh nghiệp đánh giá đúng thực trạng lựa chọn phương án phù hợp rồi từng bước triển khai lên đám mây một cách có kế hoạch, giảm thiểu những sai sót không đáng có.” Trong buổi hội thảo, ông Ngô Văn Thượng - Kiến trúc sư Cơ sở dữ liệu, FPT Smart Cloud chia sẻ về quy trình dịch chuyển dữ liệu trên Cloud với những công cụ hỗ trợ và kế hoạch như thế nào để phòng tránh những rủi ro khi “Cloud hóa”. Để triển khai dữ liệu “lên mây” thành công, doanh nghiệp cần lưu ý một số nội dung then chốt như: “Đầu tiên cần xác định rõ ràng quy trình gồm các bước cơ bản như thiết kế, lập kế hoạch, chuẩn bị dữ liệu, di chuyển, kiểm tra và xác nhận. Tiếp theo là chọn công cụ phù hợp để hỗ trợ việc dịch chuyển như Replicate Database, Snapshot Database. Cuối cùng là xác định các chi tiết cùng các rủi ro có thể xảy ra và các phương án dự phòng những rủi ro đó.” Phần thảo luận giữa các Khách mời tham dự hội thảo với diễn giả Khi đã triển khai Cloud Migration thì việc quan sát và giám sát quá trình di chuyển các ứng dụng và hệ thống lên môi trường điện toán đám mây là vô cùng quan trọng. Việc triển khai các công cụ, giải pháp quan sát nhằm cung cấp tầm nhìn rõ ràng về quá trình migration lên cloud, giúp xử lý sớm các vấn đề phát sinh. Bao gồm việc giám sát hiệu suất, tình trạng hoạt động, sử dụng tài nguyên, log/trace các hoạt động trên cloud để đảm bảo quá trình di chuyển diễn ra thuận lợi. Phần thảo luận giữa các Khách mời tham dự hội thảo với diễn giả Nhìn chung, hội thảo đã mang đến nhiều giá trị cho doanh nghiệp trong trong thời đại 4.0 ngày nay. Đồng thời, cung cấp nhiều thông tin, giúp doanh nghiệp thu hẹp khoảng cách với khách hàng, giúp doanh nghiệp có thể nghiên cứu thị trường tốt hơn, từ đó tăng tốc phát triển những sản phẩm, dịch vụ phù hợp nhu cầu thị trường. 

KHAI PHÁ TIỀM NĂNG AI VỚI TÍNH NĂNG PHÂN TÍCH DỮ LIỆU THÔNG MINH TRONG EXCEL

13:58 23/08/2023
Năm 2023 đã chứng kiến sự phát triển “thần tốc” của trí tuệ nhân tạo (AI) trên thị trường công nghệ toàn cầu. Thay vì lập trình một hệ thống mã code phức tạp hoặc tìm kiếm sự hỗ trợ từ công cụ thứ ba, trí tuệ nhân tạo hiện cho phép doanh nghiệp xử lý dữ liệu trực tiếp bằng ngôn ngữ tự nhiên của con người. Nắm bắt xu thế này, Microsoft đã khẳng định vị trí ông lớn trong ngành công nghệ khi tích hợp AI chuyên sâu vào bộ giải pháp Microsoft 365. Không dừng lại ở việc phát triển một tính năng mới, Microsoft định hướng trí tuệ nhân tạo cần trở thành công cụ then chốt trong toàn bộ hệ thống vận hành và quản lý doanh nghiệp. Hiểu đơn giản, với những doanh nghiệp cần chuyên môn hoá việc phân tích dữ liệu, tính năng Analyze trong Excel chính là lựa chọn ưu tiên để tạo bước đột phá trong quy trình làm việc. Analyze trong Excel thay thế các quy trình thủ công để tự động phân tích dữ liệu chuyên sâu nhanh chóng, dễ dàng. Khi đó, điều doanh nghiệp cần làm chỉ là thu thập, đánh giá dựa trên thông tin được tổng hợp sẵn dưới dạng biểu đồ, bảng tính. Ngoài ra, tiềm năng kinh doanh sản phẩm, dịch vụ cũng dễ dàng được dự đoán nhờ bảng diễn tả xu hướng phát triển tương lai của Analyze trong Excel. Cùng khám phá cách thức phân tích dữ liệu của tính năng AI trên Excel thông qua một ví dụ về hoạt động tổng hợp, đánh giá hiệu quả kinh doanh sản phẩm. Hướng dẫn kích hoạt AI trong Excel Để sử dụng Analyze trong Excel, người dùng cần khởi động Excel và tệp dữ liệu: Bước 1: Mở ứng dụng Microsoft Excel. Bước 2: Mở tập dữ liệu cần phân tích. Bước 3: Trên thanh Ribbon, nhấp vào thẻ Home, chọn Analyze Data. Bước 4: Người dùng lựa chọn câu hỏi được đề xuất hoặc tuỳ chỉnh câu hỏi riêng phù hợp với mục đích. Bước 5: Khi đó, bảng điều khiển Analyze Data được mở ra để người dùng xem trước một số thông tin được AI phân tích hoặc đặt câu hỏi trực tiếp cho Excel. Đặt câu hỏi & Yêu cầu phân tích dữ liệu cho trước Với tính năng Analyze trong Excel, người dùng có quyền yêu cầu AI phân tích dữ liệu chuyên sâu dựa trên các thông số có sẵn, hoặc tạo ra một phân tích riêng biệt. Hãy thử bắt đầu với việc đặt câu hỏi và yêu cầu phân tích các thông tin cơ bản! Ví dụ: Nếu doanh nghiệp cần tổng hợp chi phí từng sản phẩm cho các khách hàng theo ngày, hãy đặt câu hỏi và yêu cầu cụ thể như: "Có bao nhiêu đơn vị được bán mỗi ngày? Hãy thể hiện qua một biểu đồ đường" (“How many units sold per day as a line chart”). “Tính phần trăm doanh số trên tổng số mỗi dòng sản phẩm bán ra” (Show percentage of Units Sold for each Product). Ngoài ra, AI sẽ đề xuất một số câu hỏi mẫu cho doanh nghiệp như: Giá trị trung bình bán ra mỗi ngày (Average “Units Sold” by date of ‘Date’). Nhấn Enter để hiển thị biểu đồ tương ứng và PivotTable hiển thị câu trả lời. Nhấp đúp chuột để AI tự động điền dữ liệu vào biểu đồ và PivotTable trong tệp làm việc Excel. Ngoài ra, Excel hỗ trợ tạo ra phân tích riêng để dự đoán xu hướng kinh doanh trong tương lai. Người dùng đặt câu hỏi: “Có thể hiển thị xu hướng kinh doanh sản phẩm, dịch vụ theo ngày không?” ("Are there any date trends?"). Excel sẽ hiển thị một số thông tin dự báo về xu hướng Doanh số bán ra theo ngày trong tương lai. Từ đó, Excel sẽ hiển thị các ngày có Doanh số nổi bật (ngày 3/12/2022 và 12/12/2022); đồng thời dự đoán trong 1 năm sẽ có 6 ngày đạt đỉnh cao mới. Bên cạnh các cách đặt câu hỏi như ví dụ trên, chúng ta có thể hỏi thêm AI trên Excel nhiều thông tin hơn để tạo ra báo cáo chuyên sâu và đa chiều. Kết luận Có thể thấy, AI trong Excel hiện đã hoàn thành tốt vai trò nâng cao hiệu suất và tiết kiệm thời gian làm việc cho con người. Trong tương lai, Microsoft đặt mục tiêu sẽ tích hợp thêm Copilot vào môi trường làm việc trên Microsoft 365, đồng thời trang bị GPT4 của OpenAI cho Copilot. Những thay đổi đột phá này hứa hẹn sẽ tạo bàn đạp phát triển cho các doanh nghiệp và hướng đến một môi trường làm việc hiện đại, chuyên môn hoá trong thời gian sắp tới. Liên hệ với FPT Smart Cloud để được tư vấn chi tiết thông tin về các dịch vụ. Fanpage: Microsoft For Business – FPT Smart Cloud Email: [email protected] Hotline: 1900 638 399

FPT Smart Cloud đồng hành cùng chương trình VDCA Conference 2023

11:54 16/08/2023
Trong bối cảnh kinh tế đầy biến động hiện nay, hầu hết các doanh nghiệp đều phải đối mặt với áp lực kép cắt giảm chi phí để duy trì hoạt động nhưng vẫn phải tìm cách duy trì, tăng doanh thu. Đây thực sự là một bài toán hết sức nan giải đối với các nhà quản trị doanh nghiệp. Hội thảo VDCA Conference 2023 với chủ đề Beyond Digital (Hơn cả kỹ thuật số) được tổ chức bởi Hiệp hội Truyền thông số Việt Nam (VDCA) ngày 11/8 vừa qua. Với sự góp mặt gần 1000 khách mời và hơn 12 diễn giả, là những chuyên gia hàng đầu, những nhà lãnh đạo tầm cỡ quốc tế từ các doanh nghiệp tên tuổi, tiên phong trong lĩnh vực công nghệ và truyền thông. Trong sự kiện đã diễn ra 2 phiên thảo luận "Thay đổi và bước đi chiến thuật" và "Dữ liệu AI và góc nhìn tương lai". Các diễn giả tham dự tập trung chia sẻ những câu chuyện thành công thông qua việc ứng dụng các công cụ kỹ thuật số, giải pháp công nghệ mới, từ đó giúp doanh nghiệp tăng trưởng, phát triển hiệu quả. Đây còn là diễn đàn để các nhà quản trị trao đổi, học hỏi và khám phá thêm nhiều cách tiếp cận tiên tiến trong lĩnh vực truyền thông kỹ thuật số. Hình ảnh: Hơn 1000 khách mời và diễn giả có mặt tại sự kiện VDCA Conference 2023 Với vai trò diễn giả trong phiên thảo luận sáng, Ông Bùi Minh Tiền, Giám Đốc Trung tâm Kinh doanh Cloud, FPT Smart Cloud chia sẻ với góc nhìn quản trị với những Giải pháp giúp doanh nghiệp tối ưu chi phí và tăng trưởng doanh thu trong giai đoạn chuyển đổi số hiện nay. Hình ảnh: Diễn giả ông Bùi Minh Tiền – Giám đốc Trung tâm Kinh Doanh Cloud, FPT Smart Cloud. Thông qua việc ứng dụng các giải pháp trí tuệ nhân tạo (AI) như voicebot, chatbot… trong việc kinh doanh và chăm sóc khách hàng, giúp nâng cao trải nghiệm người dùng, tích hợp đầy đủ nghiệp vụ, hỗ trợ nhanh chóng, tiện lợi, giúp các khách hàng của FPT Smart Cloud tăng tính canh tranh, tối ưu chi phí, đạt được hiệu suất kinh doanh. Các khách hàng, đối tác đã triển khai và áp dụng thành công ứng dụng giải pháp của FPT.AI như: FWD, Home Credit, FE Credit, TP bank…. Ngoài ra, việc áp xu hướng chuyển đổi từ CAPEX sang OPEX, ứng dụng trên nền tảng điện toán đám mây đã giúp doanh nghiệp giảm thiểu nhiều chi phí hoạt động và tăng tính linh hoạt cho hoạt động kinh doanh và sản xuất. Thay vì phải đầu tư ban đầu lớn vào phần cứng, phần mềm, doanh nghiệp chỉ cần trả chi phí khi sử dụng dịch vụ. FPT Smart Cloud cung cấp 2 chính sách giá Cloud  linh hoạt để khách hàng lựa chọn: trả theo nhu cầu sử dụng thực tế hoặc các gói cố định cho phép khách hàng lựa chọn hình thức thanh toán linh hoạt phù hợp nhất. Nhờ đó, doanh nghiệp có thể tối ưu hóa chi phí, dễ dàng quản lý tài chính và tập trung vào mục tiêu phát triển kinh doanh chính. Hình ảnh: Vinh danh các Nhà tài trợ đã đồng hành cùng chương trình FPT Smart Cloud vinh dự là nhà Tài trợ Vàng đồng hành cùng Hội Truyền thông số Việt Nam (VDCA). Với chủ đề về chuyển đổi số (digital transformation), góc nhìn mới giúp doanh nghiệp tối ưu chi phí và tăng trưởng doanh số thông qua các giải pháp ứng dụng điện toán đám mây và trí tuệ nhân tạo AI.

Kafka là gì? Giới thiệu tổng quan về Kafka chi tiết từ A – Z

17:26 11/08/2023
Hiện nay, Kafka được hơn 80% trong số Fortune 100 sử dụng bởi rất nhiều ưu điểm vượt trội. Nó được ứng dụng trong hầu hết mọi ngành nghề phù hợp với quy mô từ lớn đến nhỏ. Vậy Kafka là gì? Nguyên lý hoạt động của Kafka như thế nào? Tất cả sẽ có trong chia sẻ dưới đây của chúng tôi. Kafka là gì? [caption id="attachment_38684" align="aligncenter" width="800"] Kafka là gì?[/caption] Kafka hay còn được biết đến với tên đầy đủ Apache Kafka, đây là một nền tảng message publish/subscribe phân tán có nguồn mở được phát triển để xử lý khối lượng lớn dữ liệu trong thời gian thực (streaming real-time). Hiện Kafka đã trở thành một công cụ quan trọng cho các nguồn cấp dữ liệu hiện đại bởi nó giúp truyền dữ liệu giữa các ứng dụng và phân tích dữ liệu chính xác dẫn đến quyết định cách chia sẻ dữ liệu đó.  Như bạn đã biết, Real-time data có giá trị đặc biệt quan trọng như thế nào đối với các tổ chức, doanh nghiệp. Real-time data được sử dụng để cải thiện dịch vụ người dùng, quản lý sản phẩm và hướng đến tối ưu quá trình vận hành. Và Kafka có khả năng truyền một lượng lớn messgae thời gian thực. Ngay cả khi chưa nhận được thông tin, nó vẫn sẽ được lưu trữ trong hàng đợi để đảm bảo an toàn dữ liệu. Năm 2011, Linkedin phát triển Kafka để xử lý các nguồn cấp dữ liệu theo thời gian thực. Sau đó trở thành dự án mã nguồn mở của Apache. Và đến nay, Kafka được phân phối chính thức nhất bởi Confluent thông qua Confluent Platform. >>> Có thể bạn quan tâm: Public Cloud là gì? Phân biệt Public Cloud & Private Cloud từ A - Z Kafka dùng để làm gì? Để hiểu hơn về Kafka hãy xem những tính năng mà Kafka mang lại ngay nhé! Đo lường Kafka được sử dụng phổ biến để xây dựng dữ liệu giám sát các hoạt động. Nói cách khác, Kafka phù hợp việc tập hợp số liệu thống kê từ nhiều nguồn phân tán trên trang để tạo ra một nguồn dữ liệu tổng hợp. Tạo log [caption id="attachment_38685" align="aligncenter" width="800"] Kafka dùng để làm gì?[/caption] Kafka cũng được dùng như một công cụ hỗ trợ tổng hợp log hoặc nhật ký hoạt động, tóm tắt các chi tiết và cung cấp bản ghi về dữ liệu sự kiện nhằm phục vụ cho việc xử lý trong tương lai. Stream processing Tiếp theo, Kafka được sử dụng  để xử lý dữ liệu theo thời gian thực. Ngay khi có dữ liệu mới được cập nhật vào topic thì sẽ được ghi vào hệ thống  tức thì và truyền đến bên nhận dữ liệu. Đặc biệt, thư viện Kafka Streams được tích hợp từ phiên bản 0.10.0.0 với tính năng xử lý stream nhẹ nhưng rất nhanh chóng. Event Streaming Event Streaming là tính năng được khai thác phổ biến hiện nay của Kafka. Theo đó, thu thập dữ liệu dưới dạng những luồng event real-time từ cơ sở dữ liệu, cảm biến hay từ các thiết bị di động và lưu trữ chúng trong một thời gian nhất định để thực hiện truy xuất về sau, phân tích, xử lý các luồng sự kiện trong real-time và định tuyến chúng đến các công nghệ đích khác nhau trong trường hợp cần thiết. Lưu trữ các stream of record theo thứ tự Kafka thực hiện lưu trữ message (bao gồm cả những message đã được gửi đi). Khi đó, những dữ liệu này có thể được dùng để truy xuất lại, re-consumed hay re-subscribe theo nhu cầu. Ngoài message, Kafka còn có thể lưu trữ lượng lớn thông tin dữ liệu khác để tạo thành kho data. Thậm chí nhiều đơn vị còn sử dụng Kafka để thu thập xử lý luồng dữ liệu thời gian thực bên cạnh việc lưu trữ những dữ liệu theo phương thức thụ động. Đây là sự khác biệt của Kafka so với các hệ thống phân tán khác. Với tính năng này, lượng dữ liệu được Kafka được lưu trữ là vô cùng lớn phù hợp để xây dựng với những công nghệ tầm cơ như Machine Learning hay Trí tuệ nhân tạo AI. Đóng vai trò như message broker Kafka hoàn toàn có thể được sử dụng để thay thế cho các Message Broker, ví dụ như ActiveMQ hoặc RabbitMQ. Quản lý hoạt động website [caption id="attachment_38686" align="aligncenter" width="800"] Quản lý hoạt động website[/caption] Đây là cách sử dụng Kafka phổ biến nhất hiện nay. Với Kafka bạn có thể xây dựng website và đăng tải nội dung theo thời gian thực. Tất cả các dữ liệu quan trọng như lượt xem trang, hoạt động tìm kiếm…đều được tạo thành các topic. Quá trình quản lý hoạt động này giúp phân tích hành vi của người dùng trên trang tốt hơn. Từ đó có được giải pháp phù hợp đáp ứng thị hiệu của người dùng và thu hút được nhiều người đọc hơn. Ngoài ra, Kafka còn được sử dụng để: Publish và subscribe các stream of record Hỗ trợ xử lý stream of record theo thời gian thực Nguyên lý hoạt động của Kafka Kafka hoạt động dựa trên sự kết hợp của 2 mô hình chính gồm queuing và publish-subscribe. Trong đó: Queuing cho phép dữ liệu có thể được xử lý phân tán trên nhiều consumer và tạo ra khả năng mở rộng cao. Publish-subscribe tiếp cận cùng lúc nhiều subscribe và các message sẽ được gửi đến nhiều subscribe tuy nhiên không thể sử dụng để phân tán công việc cho nhiều worker. [caption id="attachment_38687" align="aligncenter" width="800"] Nguyên lý hoạt động của Kafka[/caption] Ưu nhược điểm của Apache Kafka Nhìn chung, bất kỳ công ty nào cần xử lý và phân tích khối lượng lớn dữ liệu thời gian thực đều có thể hưởng lợi từ việc sử dụng Apache Kafka. Đến nay đã có hàng ngàn tổ chức khác nhau sử dụng Kafka từ những gã khổng lồ Internet cho đến những nhà sản xuất ô tô lớn, sàn giao dịch chứng khoán,…Theo ghi nhận mới nhất, Kafka có hơn 5 triệu lượt tải xuống. [caption id="attachment_38688" align="aligncenter" width="800"] Ưu nhược điểm của Apache Kafka[/caption] Dưới đây là một số ưu, nhược điểm Kafka bao gồm: Ưu điểm Hiệu suất cao: Kafka hỗ trợ nền tảng xử lý tin nhắn với tốc độ rất cao, cụ thể tốc độ xử lý có thể vượt quá 100k/giây (độ trễ thấp). Đặc biệt, Kafka có khả năng duy trì hiệu suất ổn định với khối lượng dữ liệu cực lớn. Tất cả dữ liệu được xử lý và sắp xếp khoa học theo kiểu phân vùng và thứ tự. Khả năng mở rộng: Kafka là một hệ thống phân tán có khả năng xử lý khối lượng dữ liệu lớn có thể mở rộng nhanh chóng mà không có thời gian chết. Nó cung cấp khả năng mở rộng bằng cách cho phép các phân vùng được phân phối trên các máy chủ khác nhau. Khả năng chịu lỗi: Kafka là một hệ thống phân tán bao gồm một số nút chạy cùng nhau để phục vụ hoạt động của nhóm. Quy tắc này làm cho nó có khả năng hoạt động tốt ngay cả khi có nút bị lỗi hoặc lỗi máy cục bộ.   Độ bền: Hệ thống Kafka có độ bền cao. Khả năng truy cập dễ dàng: Bất kỳ ai cũng có thể dễ dàng truy cập dữ liệu. Loại bỏ nhiều tích hợp: Nó loại bỏ nhiều tích hợp nguồn dữ liệu vì tất cả dữ liệu của nhà sản xuất đều chuyển đến Kafka. Điều này làm giảm sự phức tạp, thời gian và chi phí. [caption id="attachment_38689" align="aligncenter" width="800"] Khả năng chịu lỗi[/caption] Nhược điểm Kafka không hoàn hảo, nó vẫn còn tồn tại một số hạn chế nhất định như: Không phù hợp với dữ liệu lịch sử: Hệ thống Kafka chỉ cho phép lưu trữ dữ liệu lịch sử trong một vài giờ đồng hồ. Đôi khi xảy ra tình trạng xử lý chậm: Hệ thống Kafka sẽ trở nên chậm khi số lượng hàng đợi trong một cụm tăng lên từ đó  ảnh hưởng đến hiệu suất chung. Thiếu công cụ giám sát: Hệ thống Kafka không có bộ công cụ giám sát và quản lý hoàn chỉnh. Để khắc phục điều này, chúng ta có thể sử dụng các công cụ của bên thứ ba như Kafka Monitor (được phát triển bởi Linkedin), Datadog và Prometheus giúp giám sát các cụm Kafka. Ngoài ra, có nhiều tùy chọn mã nguồn mở và thương mại khác cũng có sẵn. Không hỗ trợ chủ đề ký tự đại diện: Hệ thống Kafka chỉ hỗ trợ tên chủ đề chính xác và sẽ không hỗ trợ các chủ đề ký tự đại diện. Ví dụ: Nếu bạn có chủ đề metric_2022_01_01 & metric_2022_01_02, thì chủ đề đó sẽ không hỗ trợ lựa chọn chủ đề ký tự đại diện như metric_2022_*. Xử lý chưa linh hoạt: Đôi khi số  lượng Queues trong Cluster của Kafka tăng lên thì hệ thống có hiện tượng xử lý chậm chạp và kém nhạy bén hơn. >>> Có thể bạn quan tâm: Dropbox Là Gì? Hướng dẫn sử dụng Dropbox lưu trữ, sao lưu và chia sẻ dữ liệu Những lý do nên sử dụng Kafka Kafka là dự án mã nguồn mở được đóng gói hoàn chỉnh với hiệu năng sử dụng tốt đặc biệt dễ dàng mở rộng mà không ảnh hưởng đến hoạt động của hệ thống. Đặc biệt Kafka cũng được đánh giá rất cao về khả năng chịu lỗi. [caption id="attachment_38690" align="aligncenter" width="800"] Những lý do nên sử dụng Kafka[/caption] Nếu bạn đang xây dựng phần mềm hoặc website hiển thị thông tin theo thời gian thực thì Kafka là lựa chọn tối ưu. Một số lý do mà bạn nên sử dụng Kafka ngay hôm nay có thể kể đến như: Kafka có khả năng mở rộng cao: Các cụm Kafka có quy mô lên tới một nghìn brokers, hàng nghìn tỷ messages mỗi ngày, hàng petabyte dữ liệu, hàng trăm nghìn phân vùng. Theo đó, mô hình phân vùng nhật ký của Kafka cho phép dữ liệu có thể được phân phối trên nhiều máy chủ và mở rộng không giới hạn máy chủ khi có nhu cầu. Kafka có tốc độ nhanh chóng: Việc xử lý thông qua tách các luồng dữ liệu giúp cho tốc độ của Kafka trở nên nhanh hơn. Kafka có thể xử lý hàng triệu messages mỗi giây. Kafka có khả năng chịu lỗi và độ bền: Do các gói dữ liệu được sao chép và phân phối trên nhiều máy chủ khác nhau, nên khi có sự cố thì dữ liệu được lưu trữ an toàn và sẽ ít gặp lỗi hơn. Ứng dụng của Kafka trong thực tế Kafka sở hữu khả năng xử lý, lưu trữ dữ liệu lớn theo thời gian thực nhanh chóng và chính xác. Bởi vậy đây là công cụ lý tưởng được hàng ngàn doanh nghiệp, tổ chức hoạt động trong nhiều ngành nghề khác nhau áp dụng rộng rãi. Dưới đây là một số trường hợp sử dụng phổ biến Kafka trong ngành nghề của mình. Kafka trong lĩnh vực Logistic [caption id="attachment_38691" align="aligncenter" width="800"] Kafka trong lĩnh vực Logistic[/caption] Như bạn đã biết, dữ liệu tại các công ty vận chuyển logistic lớn đến như thế nào. Đặc biệt khi phải xử lý lượng đơn hàng khổng lồ mỗi ngày đến từ những nền tảng thương mại điện tử Ecommerce lớn. Thậm chí trong các thời gian diễn ra chương trình khuyến mãi, ưu đãi, giảm giá lớn trong năm lượng data càng khổng lồ. Và công nghệ Kafka hoàn toàn có thể gánh vác xử lý kho dữ liệu thời gian thực (data real-time). Theo đó giúp quá trình hoạt động của Logistic được diễn ra trơn tru và đảm bảo không bị tắc nghẽn. Kafka trong lĩnh vực Y học Hiện nay, Kafka đang dần trở nên phổ biến trong lĩnh vực Y tế cộng đồng. Bên cạnh việc xử lý chính xác lượng thông tin lớn, Kafka còn giúp xếp xếp và phân loại dữ liệu một cách khoa học, theo thứ tự nhất định giúp quá trình khám chữa bệnh diễn ra thuận lợi hơn. Trong đó bao gồm cả việc khai xây dựng những cảm biến theo dõi tình trạng bệnh nhân bao gồm các thông số nhịp tim, huyết áp hay thần kinh để từ đó có thể giám sát sức khỏe người bệnh và đưa ra phác đồ điều trị cũng như những phản hồi chữa trị kịp thời, đúng đắn. Kafka trong lĩnh vực Marketing Với Marketing, Kafka được khai thác tối đa những tính năng tối ưu. Theo đó, các công ty truyền thông có thể sử dụng Kafka để lưu trữ dữ liệu về nhân khẩu học, hành vi sử dụng trên mạng xã hội, trang mạn và các công cụ tìm kiếm. Từ đó tạo ra các mẫu quảng cáo phù hợp với nhu cầu của khách hàng. Ví dụ: Người dùng A đang tìm kiếm thông tin về sản phẩm kem chống nắng trên công cụ tìm kiếm. Thông tin này sẽ được hệ thống lưu lại và xử lý, công ty quảng cáo có thể ghi nhận và đưa ra những gợi ý mua sắm ngay trên các nền tảng mạng xã hội mà người dùng A đang sử dụng ngay sau đó. Một số khái niệm liên quan đến Kafka [caption id="attachment_38692" align="aligncenter" width="800"] Một số khái niệm liên quan đến Kafka[/caption] Producer: Đây là những application produce data và gửi dữ liệu tới Server của Kafka. Dữ liệu này đều là những message được định dạng, gửi đi dưới dạng mảng byte tới Server. Consumer: Consumer đọc message từ một partition bất kỳ, cho phép người sử dụng có thể mở rộng số lượng message, nó được sử dụng gần giống với cách mà những producer cung cấp các message. Consumer Group: bao gồm nhiều Consumer được tập hơn lại với nhau sử dụng cho một topic cụ thể. Tuy nhiên, mỗi consumer trong group chỉ đọc message từ một partition duy nhất. Cluster: Đây là một set những server, mỗi set trong Cluster được gọi là một Broker. Broker: Đây là một Kafka Server giữ vai trò cầu nối giữa Message Pulisher với Message Consumer để chúng có thể trao đổi Message với nhau. Topic: tức chủ đề, dữ liệu được truyền bên trong Kafka theo dạng topic. Và khi cần truyền data cho những ứng dụng riêng thì sẽ tạo ra những topic khác nhau tương ứng. Partitions: Nếu một topic nhận hơn số message quy định trong cùng một thời điểm, người dùng có thể chia topic này ra thành các partitions được chia sẻ giữa các Server với nhau trong Cluster được handle những message này. Các Partition thường sẽ độc lập với nhau và có số lượng cho từng topic tùy vào nhu cầu của ứng dụng. Zookeeper: Được sử dụng trong quản lý và bố trí những Broker. Một số dịch vụ điển hình tại FPT Cloud về Kafka Chúng ta hãy cùng điểm nhanh qua một số dịch vụ điển hình đã được tích hợp Kafka được cung cấp bởi FPT Cloud nhé! FPT Database Engine cho Redis Sản phẩm được cung cấp dưới dạng dịch vụ, giúp khách hàng triển khai, giám sát, sao lưu, khôi phục và mở rộng cơ sở dữ liệu Redis trên nền tảng đám mây. Như bạn đã biết, Redis là cơ sở dữ liệu caching mã nguồn mở thông dụng được giới công nghệ đánh giá rất cao. Việc quản lý việc khôi phục và sao lưu dữ liệu được thực hiện theo từng thời điểm. Ngay cả khi bị lỗi, việc xử lý dữ liệu sẽ được chuyển sang nút dự phòng đảm bảo an toàn dữ liệu. >>> Tham khảo tại: https://fptcloud.com/product/redis-database-engine/ FPT Database Engine cho MongoDB Tương tự như sản phẩm trên tuy nhiên FPT Database Engine cho MongoDB mọi hoạt động dựa trên cơ sở dữ liệu MongoDB. Trong đó, MongoDB là cơ sở dữ liệu no-SQL mã nguồn mở phổ biến hàng đầu trên thị trường. Với FPT Database Engine cho MongoDB người dùng có thể phát triển ứng dụng và tiết kiệm tối đa chi phí, nguồn lực cho công tác quản trị cơ sở dữ liệu. >>> Tham khảo tại: https://fptcloud.com/product/mongodb-database-engine/ FPT Database Engine cho PostgreSQL FPT Database Engine cho PostgreSQL ghi điểm mạnh mẽ với khả năng tạo mới, tăng hoặc giảm tài nguyên nhanh chóng (tính theo phút). Quá trình mở rộng tài nguyên (hot-add) dễ dàng, mượt mà mà không ảnh hưởng đến hoạt động của cơ sở dữ liệu. >>> Tham khảo tại: https://fptcloud.com/product/postgresql-database-engine/ FPT Database Engine cho MySQL Và không thể không nhắc đến FPT Database Engine cho MySQL, đây là dịch vụ best seller của FPT Cloud. Bởi sự đơn giản hóa trong quá trình triển khai được tự động hóa 99%. Dịch vụ còn được tích hợp giám sát, cảnh báo sự cố kịp thời. >>> Tham khảo tại: https://fptcloud.com/product/mysql-database-engine/ Trên đây là chia sẻ về Kafka, hy vọng thông tin đã kịp thời giải đáp những thắc mắc của Quý bạn đọc ngay tiêu đề bài viết. Theo dõi fptcloud.com ngay để cập nhật tin tức nhất công nghệ mới nhất và tham khảo các gói dịch vụ của FPT Cloud đang phục vụ hơn 3000 khách hàng doanh nghiệp. Liên hệ với chúng tôi để biết thêm thông tin chi tiết về dịch vụ của FPT Smart Cloud Website: https://fptcloud.com/ Fanpage: https://www.facebook.com/fptsmartcloud Email: [email protected] Hotline: 1900 638 399