การรับส่งข้อความตามหัวข้อ

การรับส่งข้อความตามหัวข้อของ FCM ช่วยให้คุณส่งข้อความไปยังอุปกรณ์หลายเครื่องที่เลือกรับหัวข้อหนึ่งๆ ได้ คุณเขียนข้อความหัวข้อได้ตามต้องการ และ FCM จะจัดการการกำหนดเส้นทางและส่งข้อความไปยังอุปกรณ์ที่เหมาะสมได้อย่างน่าเชื่อถือ

ประเด็นสำคัญเกี่ยวกับการรับส่งข้อความตามหัวข้อ

  • เหมาะที่สุดสำหรับข้อมูลที่เปิดเผยต่อสาธารณะ เช่น การแจ้งเตือนสภาพอากาศ
  • ข้อความหัวข้อได้รับการเพิ่มประสิทธิภาพเพื่ออัตราการส่งข้อมูล ไม่ใช่เวลาในการตอบสนอง หากต้องการส่งข้อความไปยังอุปกรณ์เครื่องเดียวหรือกลุ่มเล็กๆ อย่างรวดเร็วและปลอดภัย ให้กำหนดเป้าหมายข้อความไปยังโทเค็นการลงทะเบียนแทนหัวข้อ

โควต้าและขีดจำกัด

การรับส่งข้อความตามหัวข้อรองรับการสมัครใช้บริการแบบไม่จำกัดสำหรับแต่ละหัวข้อ อย่างไรก็ตาม FCM จะบังคับใช้ขีดจำกัดในด้านต่อไปนี้

  • อินสแตนซ์แอป 1 รายการสามารถสมัครรับหัวข้อได้ไม่เกิน 2,000 หัวข้อ
  • หากคุณใช้การสมัครใช้บริการแอปแบบกลุ่มเพื่อสมัครใช้บริการอินสแตนซ์แอปที่ต้องสมัครใช้บริการ คำขอแต่ละรายการจะจำกัดอินสแตนซ์แอปที่ต้องสมัครใช้บริการไว้ที่ 1, 000 รายการ

การควบคุมปริมาณการสมัครใช้บริการ

อัตราการเพิ่มหรือนำการสมัครใช้บริการหัวข้อออกจะจำกัดอยู่ที่ 3,000 QPS ต่อโปรเจ็กต์

ความถี่ของการสมัครใช้บริการใหม่จะมีการจำกัดอัตราต่อโปรเจ็กต์ หากคุณส่งคำขอการสมัครใช้บริการมากเกินไปในช่วงเวลาสั้นๆ เซิร์ฟเวอร์ FCM จะตอบกลับด้วยการตอบกลับ 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED") ลองอีกครั้งโดยใช้ Exponential Backoff

การควบคุมการกระจายข้อมูล

การกระจายข้อความคือกระบวนการส่งข้อความไปยังอุปกรณ์หลายเครื่อง เช่น เมื่อคุณกำหนดเป้าหมายหัวข้อและกลุ่ม หรือเมื่อใช้ Notifications Composer เพื่อกำหนดเป้าหมายกลุ่มเป้าหมายหรือกลุ่มผู้ใช้

การกระจายข้อความไม่ได้เกิดขึ้นทันที ดังนั้นในบางครั้งคุณจึงมีการกระจายข้อความหลายรายการพร้อมกัน เราจำกัดจำนวนการกระจายข้อความพร้อมกันต่อโปรเจ็กต์ไว้ที่ 1,000 รายการ หลังจากนั้น เราอาจปฏิเสธคำขอ Fanout เพิ่มเติมหรือเลื่อนการ Fanout ของคำขอออกไปจนกว่าการ Fanout บางรายการที่ดำเนินการอยู่จะเสร็จสมบูรณ์

อัตรา Fanout จริงที่ทำได้จะขึ้นอยู่กับจำนวนโปรเจ็กต์ที่ขอ Fanout พร้อมกัน อัตราการกระจาย 10,000 QPS สำหรับโปรเจ็กต์เดียวไม่ใช่เรื่องแปลก แต่ตัวเลขดังกล่าวไม่ใช่การรับประกันและเป็นผลมาจากภาระงานทั้งหมดในระบบ โปรดทราบว่าความจุ Fanout ที่ใช้ได้จะแบ่งตามโปรเจ็กต์ ไม่ใช่ตามคำขอ Fanout ดังนั้น หากโปรเจ็กต์มี Fanout 2 รายการที่กำลังดำเนินการอยู่ Fanout แต่ละรายการจะเห็นอัตรา Fanout ที่ใช้ได้เพียงครึ่งเดียว วิธีที่แนะนำในการเพิ่มความเร็วในการกระจายข้อมูลให้สูงสุดคือการกระจายข้อมูลที่ใช้งานอยู่ครั้งละ 1 รายการเท่านั้น

ขั้นตอนถัดไป