Một doanh nghiệp thường có rất nhiều application và service. Chúng thường xuyên trao đổi message qua lại với nhau,. Bên gửi message mình gọi là sender và bên nhận message mình gọi là reciver.
Các sender/reciver gửi/nhận message qua lại trực tiếp với nhau có thể xảy ra trường hợp là bên receiver sẽ không nhận được đầy đủ message như hình bên dưới.
Nguyên nhân có thể là do timeout, disconnect, drop, cá mập cắn,….
Để giải quyết vấn đề này thì người ta cũng có giải pháp là: Sender sẽ gửi message đến một nơi gọi là Message Bus. Nơi đây sẽ tập trung tất cả message của các sender được gửi đến. và khi Message Bus nhận được message gửi đến sẽ gửi message đến Receiver.
Theo cách giải quyết này thì, khi đã có message ở Message Bus thì Receiver sẽ nhận được message. Receiver vì một lý do nào đó có thể không online được nhưng khi nào online thì sẽ nhận được message từ MessageBus.
Ví dụ đơn giản chát Zalo, Facebook. … Ví dụ bạn đang chát với người yêu, bạn chọc người yêu giận. Người yêu bạn không thèm chát với bạn nữa nên đã đăng xuất ra khỏi ứng dụng. Bạn cảm thấy hối hận nên bèn gửi tin xin lỗi đến người yêu. Gửi xong thì bạn cũng đăng xuất luôn.!!!!
- Hiện tại người yêu không online nên tin nhắn bạn gửi đã nằm đâu đó trên server của Zalo, Facebook,….
- Khi bạn gái của bạn online thì sẽ nhận được tin nhắn xin lỗi mà bạn gửi. ( mặc dù lúc này bạn cũng đã đăng xuất).
Ở các ứng dụng được built on-premise. Thì có một số ứng dụng là Message Bus phổ biến như Redis, RabbitMQ,…
Khi on-deman trên nền tảng Google Cloud, thì Google cũng cung cấp giải pháp có tên là Cloud Pub/Sub. Nó đảm nhận nhiệm vụ kết nối các hệ thống và các ứng dụng lại với nhau thông qua stream message. Nó có một số điểm nổi bật so với message bus on- premise như:
- Cloud Pub/Sub là service toàn cầu, quản lý multi-tenanted, message gửi nhận real-time , asynchronous và stateless.
- Cloud Pub/Sub không lưu trữ message để xử lý hoặc để phân tích. (Nếu muốn phân tích và lưu trữ thì nên xem xét Dataflow và BigQuery).
- Cloud Pub/Sub xử lý tốt cho việc thu thập dữ liệu và phân phối dữ liệu on-deman.
- Cloud Pub/Sub đảm bảo Receiver sẽ nhận ít nhất 1 message từ bên Sender.
- Và đặc biệt là bạn chỉ cần tập trung vào vấn đề bussines của bạn, không cần quan tâm các vấn đề deploy, maintain , bảo mật, middleware, config Cloud Pub/Sub,… vì đã có Google Cloud Platform tự động xử lý giùm bạn rồi.
Hy vọng bài viết này sẽ giúp chúng ta hiểu cơ bản Cloud Pub/Sub là gì? Ngoài ra Cloud Pub/Sub hoạt động như thế nào trên môi trường on-deman, sử dụng nó ra sao? thì sẽ được tiếp tục post ở bài sau.
Liên hệ ngay với chúng tôi, Cloud Ace Việt Nam để được tư vấn về G Suite, Google Cloud Platform (GCP).