Hệ thống streaming phổ biến
Các khái niệm về Streaming
Mike Metzger
Data engineer
Công cụ streaming
Có
nhiều công cụ
tùy nhu cầu
Cho phép chọn
công cụ phù hợp nhất
Hệ thống phổ biến
gồm:
Celery
Kafka
Spark Streaming
Celery
Hàng đợi tác vụ
phân tán
/
FIFO
Chủ yếu dùng làm hàng đợi
job
hoặc
tác vụ
Thường cho tác vụ
bất đồng bộ
Gửi email đặt lại mật khẩu
Xử lý đơn hàng số
Thay đổi kích thước ảnh
Cho phép
xử lý thời gian thực
lượng lớn thông điệp
Hỗ trợ
quản lý và mở rộng
(dọc & ngang)
Apache Kafka
Hệ thống stream sự kiện
phân tán
Thiết kế để gửi sự kiện giữa
producer
và
consumer
Producer
tạo sự kiện trên một
topic
Topic
về cơ bản là
thông điệp
theo mẫu xác định
Consumer
nhận sự kiện mới
Các consumer khác nhau có thể
xử lý tùy nhu cầu
(log, biến đổi, chuyển tiếp, v.v.)
Quản lý
lưu trữ sự kiện
theo cấu hình
Rất
mạnh
, nhưng
khó
thiết lập
Ứng dụng của Kafka
Tốt nhất để
truyền dữ liệu giữa nhiều hệ thống
Nguồn
dữ liệu duy nhất, đáng tin
Ghi nhận
thay đổi dữ liệu (CDC)
Sao lưu
dữ liệu
Di trú
hệ thống dữ liệu
Spark Streaming
Một phần của
Apache Spark
Thiết kế để xử lý dữ liệu
streaming
Mở rộng khả năng của Spark để xử lý bằng
Scala, Python, SQL, v.v.
Hữu ích cho xử lý
khối lượng lớn
và bài toán
machine learning
Dễ
chuyển từ batch sang stream
Không nhằm lưu trữ/ghi log sự kiện, chủ yếu để
xử lý/chỉnh sửa
dữ liệu
Luyện tập nào!
Các khái niệm về Streaming
Preparing Video For Download...