Google Cloud Platform- cloud pub/sub trigger

5 min read

Trong bài viết này tôi sẽ nói về tổng quan cloud pub/sub và cách hoạt động của chúng

Cloud pub/sub là gì?

Cloud Pub/Sub là một dịch vụ nhắn tin không đồng bộ và có thể mở rộng, tách riêng các dịch vụ tạo tin nhắn khỏi các dịch vụ xử lý các tin nhắn đó.

Pub/Sub cho phép các dịch vụ giao tiếp không đồng bộ, với độ trễ khoảng 100 mili giây.

Pub/Sub được sử dụng để phân tích trực tuyến và các đường dẫn tích hợp dữ liệu để tải và phân phối dữ liệu. Nó có hiệu quả như một phần mềm trung gian hướng nhắn tin để tích hợp dịch vụ hoặc như một hàng đợi để song song hóa các tác vụ.

Pub/Sub cho phép bạn tạo hệ thống gồm người tạo và người tiêu dùng sự kiện, được gọi là publishers  và subscribers. Nhà xuất bản giao tiếp với người đăng ký một cách không đồng bộ bằng cách phát sóng các sự kiện, thay vì bằng các cuộc gọi thủ tục từ xa (RPC) đồng bộ.

Publishers gửi sự kiện đến dịch vụ Pub/Sub mà không quan tâm đến cách thức hoặc thời điểm xử lý những sự kiện này.

Pub/Sub sau đó sẽ phân phối các sự kiện tới tất cả các dịch vụ phản hồi lại chúng. Trong các hệ thống giao tiếp qua RPC, nhà xuất bản phải đợi người đăng ký nhận dữ liệu. Tuy nhiên, việc tích hợp không đồng bộ trong Pub/Sub làm tăng tính linh hoạt và mạnh mẽ của toàn bộ hệ thống.

Cloud Pub/Sub hoạt động như thế nào

Một số khái niệm quan trọng trong Cloud Pub/Sub

  • Publisher: tạo tin nhắn và gửi (xuất bản) chúng đến Messaging service theo một chủ đề cụ thể.
  • Message: dữ liệu di chuyển qua dịch vụ.
  • Topic:  thực thể đại diện cho nguồn cấp dữ liệu tin nhắn.
  • Schema: thực thể chi phối định dạng dữ liệu của tin nhắn Pub/Sub.
  • Subscription: thực thể thể hiện sự quan tâm đến việc nhận tin nhắn về một chủ đề cụ thể.
  • Subscriber : nhận tin nhắn trên một thuê bao được chỉ định.

Mô hình minh họa cách hoạt động của cloud Pub/Sub như sau:

  • Hai Publisher gửi hai tin nhắn khác nhau đến một chủ đề Pub/Sub chung.
  • Lifecycle của một tin nhắn trong Pub/Sub: Giả sử một publisher client được kết nối tới  topic cụ thể. Topic có một subscription đính kèm và một subscriber được kết nối với subscription.
  • Chọn mẫu Publish và Subscribe Pub/Sub

Khi có nhiều khách hàng là Publisher và Subscriber, cần phải chọn loại kiến trúc Publish và Subscribe mà bạn muốn thiết lập.

Cloud Pub/Sub ứng dụng như thế nào

  • Thu thập các sự kiện tương tác của người dùng và máy chủ: Ví dụ về các cơ sở dữ liệu như BigQuery, Cloud Bigtable và Cloud Storage. 
  • Phân phối sự kiện theo thời gian thực: Các sự kiện, dù thô hay đã xử lý, có thể được cung cấp cho nhiều ứng dụng trong nhóm và tổ chức của bạn để xử lý theo thời gian thực. Pub/Sub hỗ trợ “enterprise event bus” và các mẫu thiết kế ứng dụng hướng sự kiện. Pub/Sub cho phép bạn tích hợp với nhiều hệ thống xuất sự kiện sang Pub/Sub.
  • Sao chép dữ liệu giữa các cơ sở dữ liệu. Pub/Sub thường được sử dụng để phân phối các sự kiện thay đổi từ cơ sở dữ liệu. Bạn có thể sử dụng những sự kiện này để xây dựng chế độ xem trạng thái cơ sở dữ liệu và lịch sử trạng thái trong BigQuery và các hệ thống lưu trữ dữ liệu khác.
  • Xử lý song song và quy trình công việc. Bạn có thể phân phối nhiều nhiệm vụ giữa nhiều nhân viên một cách hiệu quả bằng cách sử dụng thông báo Pub/Sub để kết nối với Cloud Functions.
  • Truyền dữ liệu từ các ứng dụng, dịch vụ hoặc thiết bị IoT. Ví dụ: bộ cảm biến có thể truyền dữ liệu tới Pub/Sub để sử dụng trong các sản phẩm Google Cloud khác thông qua đường dẫn Dataflow.
  • Làm mới bộ nhớ đệm (Caches) được phân phối. Ví dụ: một ứng dụng có thể publish các sự kiện invalidation để cập nhật ID của các đối tượng đã thay đổi.
  • Đảm bảo bộ cân bằng tải (Lead balancing). 

Các loại dịch vụ Pub/Sub

  • Pub/Sub service: Dịch vụ nhắn tin này là lựa chọn mặc định cho hầu hết người dùng và ứng dụng. Nó cung cấp độ tin cậy cao nhất và bộ tích hợp lớn nhất, cùng với khả năng quản lý năng lực tự động. Pub/Sub hỗ trợ sao chép đồng bộ tất cả dữ liệu sang ít nhất hai vùng và sao chép nỗ lực tốt nhất sang vùng bổ sung thứ ba.
  • Pub/Sub Lite service: Một dịch vụ nhắn tin riêng biệt nhưng tương tự được xây dựng với chi phí thấp hơn. Nó cung cấp độ tin cậy thấp hơn so với Pub/Sub. Nó cung cấp lưu trữ chủ đề theo khu vực hoặc khu vực. Các chủ đề của Zonal Lite chỉ được lưu trữ trong một vùng. Các chủ đề Lite khu vực sao chép dữ liệu sang vùng thứ hai một cách không đồng bộ. Ngoài ra, Pub/Sub Lite yêu cầu bạn cung cấp trước và quản lý dung lượng lưu trữ cũng như thông lượng. Chỉ xem xét Pub/Sub Lite cho các ứng dụng có chi phí thấp cần phải thực hiện một số công việc vận hành bổ sung và độ tin cậy thấp hơn.

Tích hợp

  • Stream processing and data integration
  • Monitoring, Alerting and Logging
  • Authentication and IAM
  • APIs
  • Triggers, notifications, and webhooks
  • Orchestration
  • Integration Connectors

Reference

Avatar photo

Clean Code: Nguyên tắc viết hàm trong lập trình…

Trong quá trình phát triển phần mềm, việc viết mã nguồn dễ đọc, dễ hiểu là yếu tố then chốt để đảm bảo code...
Avatar photo Dat Tran Thanh
3 min read

Clean Code: Nguyên tắc comment trong lập trình

Trong lập trình, code không chỉ là một tập hợp các câu lệnh để máy tính thực thi, mà còn là một hình thức...
Avatar photo Dat Tran Thanh
3 min read

Clean Code: Nguyên tắc xử lý lỗi (Error Handling)

Trong quá trình phát triển phần mềm, việc xử lý lỗi không chỉ là một phần quan trọng mà còn ảnh hưởng trực tiếp...
Avatar photo Dat Tran Thanh
4 min read

2 Replies to “Google Cloud Platform- cloud pub/sub trigger”

Leave a Reply

Your email address will not be published. Required fields are marked *