From Customer Events to Real-Time Intelligence: Engineering Groww’s Feature Store at Scale Author: Dipesh Chandra Maurya How Groww turns customer events into online features using Kafka, Spark …
Nguồn: https://tech.groww.in/from-customer-events-to-real-time-intelligence-engineering-growws-feature-store-at-scale-c0ebb2746d11. 8 Sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Đọc tin ở đây, luyện code, học theo lộ trình và luyện IELTS trên các sản phẩm anh em — tất cả kết nối với nhau trong hệ sinh thái 8 Sync.
Cổng chính của hệ sinh thái: giới thiệu sản phẩm, blog và bảng giá trọn bộ.
Khám pháHọc theo lộ trình rõ từng chặng: video, quiz chấm tự động, certificate và mentor đang làm nghề.
Xem lộ trình1.000 bài DSA, đề tiếng Việt, chấm tự động 7 ngôn ngữ — nhiều bài FREE, chạy ngay trên trình duyệt.
Luyện miễn phíChấm bốn kỹ năng IELTS bằng AI, phản hồi chi tiết theo rubric.
Dùng thử miễn phíAI IDE 22 MB cho dev Việt.
Tải miễn phíBộ nhớ tổ chức cho AI agent.
Khám pháAI trực Fanpage, tự sàng lọc lead.
Dùng thửEvent-driven architecture (EDA) phổ biến nhưng tiềm nhiều thách thức trong production environment. Vấn đề truy xuất lỗi (tracing) trở nên phức tạp khi sự kiện (event) đi qua nhiều service khác nhau, đòi hỏi hệ thống phân tích log tập trung như ELK stack. Hàng đợi tin hỏi (dead letter queues) dễ bị đầy nếu không implement validation logic kỹ càng, dẫn đến mất dữ kiện quan trọng. Sự không nhất quán cuối cùng (eventual consistency) gây race condition khi nhiều consumer xử lý cùng event đồng thời. Các EDA system cần thiết kế event schema versioning và comprehensive testing framework với Contract Testing để đảm bảo reliability khi số lượng service tăng lên.
Bài viết này giúp lập trình viên nhận diện và giải quyết các vấn đề phổ biến trong kiến trúc hướng sự kiện như tracing, dead letter queues, tính nhất quán cuối cùng và testing.
Uber xây dựng Genie để xử lý câu hỏi của tài xế và hành khách. Hệ thống sử dụng Elasticsearch để tìm kiếm kiến thức từ 1.5 triệu tài liệu và kết nối với 60 service backend khác nhau. Phần xử lý ngôn ngữ tự nhiên (NLP) giúp Genie hiểu ngữ cảnh và trích xuất thông tin chính xác. Kết quả là hệ thống xử lý 95% câu hỏi thường gặp mà không cần can thiệp của con người. Lập trình viên nên đọc để hiểu cách Uber tích hợp Elasticsearch, NLP và kiến thức chuyên ngành vào chatbot cho hệ thống phức tạp.
Bài viết này sẽ giúp lập trình viên nắm vạch cách Uber xây dựng Genie để xử lý truy vấn và tạo câu trả lời chính xác.
Data-driven architecture tập trung vào nguồn dữ liệu chung (database, data warehouse) mà các service truy vấn, trong khi event-driven dựa trên message broadcast khi có sự kiện, được các service độc lập tiêu thụ. Data-driven coupling chặt hơn trong khi event-driven cho phép loose coupling nhưng tăng độ phức tạp hệ thống khi số lượng events lớn. Data-driven phù hợp cho analytics, ML và ứng dụng đơn giản, còn event-driven tối ưu cho features thời gian thực, microservices và scaling không đồng đều. Hai phương pháp này thực chất bổ trợ chứ không cạnh tranh nhau - câu hỏi quyết định nên bắt đầu đơn giản và chỉ thêm events khi thực sự cần thiết.
Bài viết này giúp lập trình viên lựa chọn kiến trúc phù hợp giữa data-driven và event-driven dựa trên nhu cầu cụ thể của dự án.
Tempo 3.1 mang đến những cải thiện đáng kể cho Kafka client, giúp tăng hiệu suất và ổn định khi xử lý tracing data. Phiên bản này cũng bổ sung các tính năng mới cho TraceQL metrics, cho phép truy vấn và phân tích dữ liệu đo lường chi tiết hơn. Hệ quả là người dùng có thể vận hành Tempo dễ dàng hơn và khai thác thông tin sâu sắc từ tracing data. Đặc biệt, tính năng trace redaction giúp bảo mật dữ liệu nhạy cảm bằng cách tự động loại bỏ thông tin quan trọng trước khi lưu trữ.
Tempo 3.1 mang lại nhiều cải tiến quan trọng giúp lập trình viên dễ dàng vận hành và phân tích dữ liệu tracing hiệu quả hơn.
Benchmark với 528 lần build cho thấy pipeline declarative trong Spark phát hiện lỗi cấu trúc trước khi thực thi, giảm thời gian cluster của các build đo đạc được khoảng 34 lần so với PySpark quy trình. Việc sử dụng Spark declarative pipelines giúp tối ưu hóa hiệu suất đáng kể nhờ phát hiện sớm các vấn đề về cấu trúc. Ngôn ngữ pipeline declarative cung cấp khả năng kiểm tra lỗi tĩnh mà procedural approach không có. Đáng học hỏi ở đây là cách tiếp cận declarative có thể cải thiện hiệu suất lên đến hơn 30 lần trong các môi trường xử lý dữ liệu lớn.
Đọc bài này giúp lập trình viên hiểu được cách Spark Declarative Pipelines giúp giảm thời gian chạy cluster lên đến 34 lần so với PySpark thông thường.
Giải quyết vấn đề ghi kép (dual-write) trong ứng dụng Kotlin & Spring Boot bằng cách triển khai mẫu Transactional Outbox với Okapi, hỗ trợ Postgres, MySQL, Kafka và HTTP.
Lập trình viên cần đọc bài này để giải quyết vấn đề đồng thời ghi dữ liệu vào cơ sở dữ liệu và hệ thống message queue một cách đáng tin cậy trong ứng dụng Kotlin-Spring Boot, tránh rủi ro mất dữ liệu do lỗi đồng thời.
Tempo 3.0, phiên bản mới của hệ thống truy vết phân tán mã nguồn mở, giới thiệu kiến trúc tương thích Kafka cho microservices, tách biệt đường đọc-ghi, giảm yêu cầu sao chép RF3 xuống RF1, và thay thế ingesters/compactors bằng block-builders, live-stores cùng scheduler. Tính năng TraceQL metrics giờ đã sẵn sàng, hỗ trợ truy vấn metric trực tiếp từ trace data cùng toán tử so sánh mới, cùng nhiều cải tiến khác như giới hạn cardinality theo label, tối ưu truy vấn TraceQL AST, và công cụ di chuyển từ phiên bản 2.x.
Lập trình viên phát triển ứng dụng microservices nên đọc vì Tempo 3.0 mang đến kiến trúc Kafka-compatible cải tiến, giúp tối ưu hóa quy mô, giảm chi phí vận hành và cung cấp công cụ TraceQL mạnh mẽ để phân tích hiệu suất trực tiếp từ dữ liệu theo dõi phân tán.
Bối cảnh bài viết hướng dẫn tích hợp Confluent Schema Registry với MSK Serverless trên EKS. Nguyên nhân kỹ thuật chính là yêu cầu xác thực 3 lớp giữa Schema Registry, MSK Serverless và EKS. Hệ quả nếu không giải quyết đúng sẽ gây ra lỗi xác thực và không thể kết nối. Điều đáng học là bài viết cung cấp cấu hình cụ thể với IAM Roles for Service Accounts (IRSA) để quản lý quyền truy cập. Con số cụ thể là cấu hình IAM policy với các action như "kms:Decrypt" và "ssm:GetParameter" để giải mã các thông tin bí mật.
Bài hướng dẫn này giải quyết bài toán bảo mật phức tạp khi kết nối Schema Registry với MSK Serverless trên EKS thông qua cơ chế xác thực đa lớp.
Đang tải bình luận…