Bài này chúng ta và cafedev sẽ tìm hiểu về SNS là gì? trong AWS, trước khi chúng ta bắt đầu sử dụng AWS một cách dễ dàng hơn.

1. SNS là gì?

  • SNS là viết tắt của Simple Notification Service – Dịch vụ Thông báo Đơn giản.
  • Đây là một dịch vụ web giúp dễ dàng thiết lập, vận hành và gửi thông báo từ đám mây.
  • Nó cung cấp cho các nhà phát triển khả năng có thể mở rộng cao, tiết kiệm chi phí và linh hoạt để xuất bản tin nhắn từ một ứng dụng và gửi chúng đến các ứng dụng khác.
  • Đó là một cách gửi tin nhắn. Khi bạn đang sử dụng AutoScaling, nó sẽ kích hoạt một dịch vụ SNS sẽ gửi email cho bạn rằng “phiên bản EC2 của bạn đang phát triển”.
  • SNS cũng có thể gửi tin nhắn đến các thiết bị bằng cách gửi thông báo đẩy tới các thiết bị Apple, Google, Fire OS và Windows, cũng như các thiết bị Android ở Trung Quốc với Baidu Cloud Push.
  • Bên cạnh việc gửi thông báo đẩy đến thiết bị di động, Amazon SNS gửi thông báo qua SMS hoặc email tới Dịch vụ hàng đợi đơn giản của Amazon (SQS) hoặc tới điểm cuối HTTP.
  • Thông báo SNS cũng có thể kích hoạt chức năng Lambda. Khi một thông báo được xuất bản cho một chủ đề SNS có một hàm Lambda được liên kết với nó, thì hàm Lambda được gọi với trọng tải của thông báo. Do đó, chúng ta có thể nói rằng hàm Lambda được gọi với trọng tải thông báo làm tham số đầu vào và thao tác thông tin trong thông báo và sau đó gửi thông báo đến các chủ đề SNS khác hoặc các dịch vụ AWS khác.
  • Amazon SNS cho phép bạn nhóm nhiều người nhận bằng cách sử dụng các chủ đề trong đó chủ đề là điểm truy cập hợp lý để gửi các bản sao giống hệt nhau của cùng một thông báo đến những người nhận đăng ký.
  • Amazon SNS hỗ trợ nhiều loại điểm cuối. Ví dụ: bạn có thể nhóm những người nhận IOS, Android và SMS lại với nhau. Sau khi bạn xuất bản thông điệp lên chủ đề, SNS sẽ gửi các bản sao đã định dạng của thông điệp của bạn cho người đăng ký.
  • Để tránh mất dữ liệu, tất cả các thông báo được xuất bản lên SNS được lưu trữ dự phòng trên nhiều vùng khả dụng.

2. Nhà xuất bản và người đăng ký SNS

Amazon SNS là một dịch vụ web quản lý việc gửi tin nhắn đến điểm cuối đăng ký. Có hai khách hàng của SNS:

  • Người đăng ký(Subscribers)
  • Nhà xuất bản(Publishers)

Nhà xuất bản

Nhà xuất bản còn được gọi là nhà sản xuất tạo ra và gửi thông điệp đến SNS, một điểm truy cập hợp lý.

Người đăng ký

Người đăng ký như máy chủ web, địa chỉ email, hàng đợi Amazon SQS, các chức năng AWS Lambda nhận tin nhắn hoặc thông báo từ SNS qua một trong các giao thức được hỗ trợ (Amazon SQS, email, Lambda, HTTP, SMS).

Lưu ý: Một nhà xuất bản gửi thông báo đến chủ đề SNS mà họ đã tạo. Không cần chỉ định địa chỉ đích trong khi xuất bản tin nhắn vì bản thân chủ đề phù hợp với người đăng ký liên kết với chủ đề mà nhà xuất bản đã tạo và gửi thông điệp đến người đăng ký.

2. Cách sử dụng SNS

  • Di chuyển đến dịch vụ SNS có sẵn trong các dịch vụ ứng dụng.
  • Nhấp vào Chủ đề(Topic) xuất hiện ở phía bên trái của Bảng điều khiển.
  • Nhấp vào Tạo chủ đề(Create topic) để tạo chủ đề mới.
  • Nhập tên chủ đề vào hộp văn bản.
  • Màn hình bên dưới cho thấy chủ đề đã được tạo thành công.
  • Để tạo đăng ký, hãy nhấp vào Tạo đăng ký(Create subscription).
  • Bây giờ, hãy chọn loại điểm cuối và nhập địa chỉ Điểm cuối, tức là nơi bạn muốn gửi thông báo của mình.
  • Màn hình bên dưới cho thấy trạng thái đăng ký đang chờ xử lý.
  • Màn hình bên dưới hiển thị rằng thư đã được gửi đến người đăng ký. Người đăng ký phải nhấp vào Xác nhận đăng ký(Confirm Subscription).
  • Bấm vào tên chủ đề, tức là xin chào và sau đó bấm vào Thông báo xuất bản(Publish message).
  • Nhập chủ đề, Thời gian tồn tại và Nội dung thông báo để gửi đến điểm cuối.
  • Tin nhắn đã được gửi đến tất cả các thuê bao đã được đề cập trong ID.

3.Lợi ích của SNS

  • Instantaneous delivery
  • SNS phân phối tức thời dựa trên phân phối dựa trên đẩy. Đây là điểm khác biệt chính giữa SNS và SQS. SNS được đẩy khi bạn xuất bản tin nhắn trong một chủ đề và tin nhắn được gửi đến nhiều người đăng ký.
  • Flexible
  • SNS linh hoạt hỗ trợ nhiều loại điểm cuối. Nhiều loại điểm cuối có thể nhận thông báo qua nhiều giao thức truyền tải như email, SMS, Lambda, Amazon SQS, HTTP, v.v.
  • Rẻ tiền(Inexpensive)
    dịch vụ SNS là khá tốn kém vì nó được dựa trên pay-as-you-go mô hình, ví dụ, bạn cần phải chỉ trả tiền khi bạn đang sử dụng các nguồn tài nguyên không có chi phí lên phía trước.
  • Dễ sử dụng(Ease of use)
    Dịch vụ SNS rất dễ sử dụng vì Bảng điều khiển quản lý AWS dựa trên Web cung cấp sự đơn giản của giao diện trỏ và nhấp.
  • Cấu trúc đơn giản(Simple Architecture)
    SNS được sử dụng để đơn giản hóa kiến ​​trúc nhắn tin bằng cách giảm tải logic lọc tin nhắn từ người đăng ký và logic định tuyến tin nhắn từ nhà xuất bản. Thay vì nhận tất cả các tin nhắn từ chủ đề, SNS gửi tin nhắn đến chỉ những người đăng ký mà họ quan tâm.

4. Sự khác biệt b / w SNS và SQS

  • SNS là viết tắt của Simple Notification Service trong khi SQS là viết tắt của Simple Queue Service .
  • SQS là phân phối dựa trên kéo, tức là, các thông điệp không được đẩy đến người nhận. Người dùng phải kéo các tin nhắn từ Hàng đợi. SNS là một phân phối dựa trên đẩy, tức là, các tin nhắn được đẩy đến nhiều người đăng ký.
  • Trong dịch vụ SNS, các bản tin được đẩy đến nhiều người nhận cùng một lúc trong khi ở dịch vụ SQS, các bản tin không được nhiều người nhận cùng một lúc.
  • Thăm dò ý kiến ​​của SQS giới thiệu một số độ trễ trong việc gửi tin nhắn trong khi SQS đẩy tin nhắn đến người đăng ký ngay lập tức.

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!