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

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

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

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

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

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

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

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

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

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

การควบคุมการกระจาย

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

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

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

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