ในบทแนะนำนี้ คุณจะใช้สถานการณ์การส่งข้อความ Fanout โดยใช้ Amazon Simple Notification Service (SNS) และ Amazon Simple Queue Service (SQS) ในเหตุการณ์นี้ ข้อความได้รับการ "ส่ง" ไปยังสมาชิกหลายราย ซึ่งช่วยกำจัดความจำเป็นที่จะต้องตรวจสอบเป็นระยะ หรือสำรวจเพื่ออัปเดตและเปิดใช้งานการประมวลผลข้อความแบบอะซิงโครนัสแบบขนานโดยสมาชิก
เพื่อให้มองเห็นภาพ เราจะสมมุติว่าคุณกำลังพัฒนาแอปพลิเคชันบนคลาวด์ที่ส่งข้อความ Amazon SNS ไปยังหัวข้อ ไม่ว่าจะได้มีการสั่งซื้อในร้านค้าออนไลน์หรือไม่ คิว Amazon SQS ที่ได้ลงทะเบียนในหัวข้อนั้นแต่ละรายจะได้รับการแจ้งเตือนที่เหมือนกันสำหรับคำสั่งซื้อใหม่
บริการของ AWS ที่คุณใช้ในบทแนะนำนี้ยังอยู่ในช่วง AWS Free Tier
กำลังส่งการแจ้งเตือนเหตุการณ์ fanout บน AWS ต้องใช้บัญชี
สร้างบัญชีฟรีAWS Free Tier มีการเผยแพร่ 1,000,000 รายการสำหรับ Amazon Simple Notification Service และคำขอ 1,000,000 รายการสำหรับ Amazon Simple Queue Service
ดูรายละเอียดของ AWS Free Tier »
เมื่อคุณคลิกที่นี่ AWS Management Console จะเปิดขึ้นในหน้าต่างเบราว์เซอร์บานใหม่ เพื่อที่คุณจะได้เปิดคำแนะนำการใช้งานแบบทีละขั้นตอนนี้ค้างไว้ เมื่อหน้าจอโหลดข้อมูลแล้ว ให้ใส่ชื่อผู้ใช้และรหัสผ่านของคุณเพื่อเริ่มต้นใช้งาน จากนั้นจึงพิมพ์ notification ในแถบการค้นหาแล้วเลือก Simple Notification Service เพื่อเปิดคอนโซลการบริการ
ในขั้นตอนนี้ คุณจะได้สร้างหัวข้อ Amazon SNS หัวข้อคือช่องทางการสื่อสารเพื่อส่งข้อความและลงทะเบียนรับการแจ้งเตือน ในตัวอย่างนี้ แอปพลิเคชันอีคอมเมิร์ซตัวอย่างจะส่งข้อความไปยังหัวข้อ Amazon SNS ทุกครั้งที่มีการสั่งซื้อใหม่ในร้านค้าออนไลน์
หลังจากคุณได้สร้างหัวข้อด้วย Amazon SNS แล้ว คุณจะสร้างคิว Amazon SQS ที่จะลงทะเบียนหัวข้อนั้น
เมื่อคุณลงทะเบียนหลายคิวสำหรับหัวข้อเดียวกัน แต่ละคิวจะได้รับการแจ้งเตือนที่เหมือนกันทุกครั้งที่มีการส่งข้อความไปยังหัวข้อ บริการที่เชื่อมต่อกับคิวเหล่านั้นสามารถประมวลผลคำสั่งแบบอะซิงโครนัสและขนาน
ตัวอย่างเช่น อินสแตนซ์ของเซิร์ฟเวอร์ Amazon EC2 ที่เชื่อมต่อกับหนึ่งในคิวสามารถจัดการประมวลผลหรือการดำเนินการตามคำสั่ง ในขณะที่อินสแตนซ์ของเซิร์ฟเวอร์อื่นสามารถเชื่อมต่อกับคลังข้อมูลสำหรับการวิเคราะห์คำสั่งซื้อทั้งหมดที่ได้รับ
เพื่อทำให้เรื่องง่ายขึ้น เราจะไม่แนบอินสแตนซ์ EC2 กับคิวในบทแนะนำนี้
ก. คลิกที่นี่เพื่อเปิด Amazon SQS Console ในหน้าต่างเบราว์เซอร์ใหม่ หากหน้าเริ่มต้น SQS ปรากฏขึ้น ให้คลิก Get Started Now (เริ่มต้นเลย) หากหน้าไม่ปรากฏขึ้น ให้ไปต่อยังขั้นตอนถัดไป
ข. คิวแรกของเราจะเก็บคำสั่งซื้อสำหรับบริการระบบสินค้าคงคลังแบบสมมุติที่ทำหน้าที่ติดตามสินค้า รวมไปจนถึงเพิ่มและลบสิ่งเหล่านั้นออกจากสินค้าคงคลังตามแต่ละคำสั่งซื้อตามความจำเป็น
ในหน้า Create New Queue ให้ป้อน Orders-for-Inventory ลงในช่อง Queue Name เลือก Standard Queue เอาไว้แล้วคลิกที่ Quick-Create Queue (สร้างคิวด่วน)
เมื่อคุณได้สร้างคิว Amazon SQS ทั้งสองแล้ว คุณจะต้องลงทะเบียนกับหัวข้อ Amazon SNS ที่เผยแพร่การแจ้งเตือนคำสั่งซื้อใหม่
ข. กล่องโต้ตอบ Subscribe to a Topic จะปรากฏขึ้น จากรายการแบบดรอปดาวน์ Choose a Topic ให้เลือกหัวข้อ New-Orders ของ Amazon SNS
หัวข้อ SNS ของคุณปรากฏในรายการเนื่องจากคุณสร้างขึ้นจากบัญชีเดียวกับที่คุณใช้สร้างคิว Amazon SQS ของคุณ หากหัวข้อ SNS สร้างโดยบัญชีอื่น คุณสามารถลงทะเบียนได้โดยใช้ Topic ARN สำหรับรายละเอียดเพิ่มเติม โปรดดู Amazon SNS documentation
ไม่ต้องเปลี่ยนแปลงข้อมูลใด ๆ ในส่วน Topic Region แล้วคลิกที่ Subscribe (ลงทะเบียน)
ตอนนี้คิวของคุณได้รับการลงทะเบียนในหัวข้อแล้ว ในขั้นตอนนี้ คุณจะจำลองคำสั่งซื้อใหม่โดยให้แอปพลิเคชันอีคอมเมิร์ซที่สมมุติขึ้นส่งข้อความไปยังหัวข้อพร้อมรายละเอียดการสั่งซื้อ
ข. หน้า Publish Message to topic จะปรากฏขึ้น ในกล่องหัวเรื่อง ให้พิมพ์ใบสั่งซื้อ 123-4567890-1234567 ในช่องข้อความ ให้ป้อนข้อความต่อไปนี้เพื่อแสดงคำสั่งซื้อตัวอย่าง:
1 x วิดเจ็ต @ $29.99 USD
2 x สายวิดเจ็ต @ $4.99
คลิกที่ Publish message (เผยแพร่ข้อความ) กล่องโต้ตอบการยืนยันจะปรากฏขึ้น
เมื่อมีการเผยแพร่ข้อความใหม่ Amazon SNS จะส่งข้อความนั้นไปยังทุกตำแหน่งข้อมูลที่ลงทะเบียนหัวข้อ ในสถานการณ์สมมติ fanout เช่นนี้ คิว Amazon SQS เป็นตำแหน่งข้อมูล
ในขั้นตอนนี้ คุณจะยืนยันว่าคิวได้รับการแจ้งเตือนคำสั่งซื้อใหม่โดยอาศัยการดูข้อความที่หัวข้อส่งไปยังคิว
ในขั้นตอนนี้ คุณจะลบทรัพยากรที่ได้สร้างขึ้นสำหรับบทแนะนำสอนการใช้งานนี้ ซึ่งได้แก่ การลงทะเบียนหัวข้อ, หัวข้อ, และคิว วิธีปฏิบัติที่ดีที่สุดคือการลบทรัพยากรที่คุณไม่ได้ใช้งานแล้วเพื่อจะได้ไม่ต้องเสียค่าใช้จ่าย
คุณได้ใช้สถานการณ์สมมุติ fanout โดยใช้ Amazon SNS และ Amazon SQS แล้ว ตอนนี้คุณพร้อมที่จะใช้ Amazon SNS และ Amazon SQS ร่วมกันเพื่อส่งข้อความไปยังแอปพลิเคชันที่ต้องการการแจ้งเตือนเหตุการณ์ในทันทีหรือเพื่อบัฟเฟอร์ข้อความในคิว Amazon SQS เพื่อให้แอปพลิเคชันอื่นดำเนินการในภายหลังแล้ว
ตอนนี้คุณได้เรียนรู้วิธีการใช้การแจ้งเตือน fanout ด้วยข้อความโดยใช้ Amazon Simple Notification Service และ Amazon Simple Queue Service แล้ว ให้เลือกหนึ่งในตัวเลือกต่อไปนี้เพื่อเรียนรู้การส่งข้อความแบบคลาวด์บน AWS ให้ลึกซึ้งขึ้น
เรียนรู้เพิ่มเติม
ดูภาพรวมเกี่ยวกับความสามารถ องค์ประกอบ และกรณีการใช้งานหัวข้อของข้อความบน Amazon Web Services (AWS) ไปที่เว็บเพจ Amazon SNS »
ดูรายละเอียดเพิ่มเติม
สำรวจวิธีเปิดใช้งานแอปพลิเคชัน ผู้ใช้ และอุปกรณ์ เพื่อส่งและรับการแจ้งเตือนจากคลาวด์ในทันที อ่านเอกสารประกอบ »
ดูการทำงาน
นี่คือวิธีที่ลูกค้าอย่าง Capital One ใช้ Amazon SQS และ Amazon SNS ในการปลดและปรับขนาดแอปพลิเคชัน ดูการสัมนาผ่านเว็บ »