ค้นหาคิว Service Bus หัวข้อ และการสมัครใช้งาน

เสร็จสมบูรณ์เมื่อ

เอนทิตีการรับส่งข้อความที่เป็นหัวใจสําคัญของความสามารถในการรับส่งข้อความใน Service Bus คิวหัวข้อ และการสมัครใช้งานและกฎ/การดําเนินการ

คิว

คิวเสนอ First In, First Out (FIFO) ที่ส่งไปยังผู้บริโภคที่แข่งขันอย่างน้อยหนึ่งราย โดยทั่วไปแล้วผู้รับจะได้รับและประมวลผลข้อความตามลําดับที่เพิ่มเข้ามาในคิว และผู้บริโภคข้อความเดียวเท่านั้นที่ได้รับและประมวลผลแต่ละข้อความ เนื่องจากข้อความจะถูกจัดเก็บไว้อย่างน่าอับอายในคิว ผู้ผลิต (ผู้ส่ง) และผู้บริโภค (ผู้รับ) ไม่จําเป็นต้องประมวลผลข้อความพร้อมกัน

ประโยชน์ที่เกี่ยวข้องคือ ระดับโหลดซึ่งช่วยให้ผู้ผลิตและผู้บริโภคสามารถส่งและรับข้อความในอัตราที่แตกต่างกัน ในแอปพลิเคชันจํานวนมาก การโหลดระบบแตกต่างกันไปตามเวลา อย่างไรก็ตาม โดยทั่วไปเวลาประมวลผลที่จําเป็นสําหรับแต่ละหน่วยของงานจะเป็นค่าคงที่ ผู้สร้างข้อความระหว่างกลางและผู้บริโภคที่มีคิวหมายความว่าแอปพลิเคชันที่ใช้จะต้องสามารถจัดการโหลดโดยเฉลี่ยแทนการโหลดสูงสุดเท่านั้น

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

คุณสามารถสร้างคิวโดยใช้พอร์ทัล Azure, PowerShell, CLI หรือเทมเพลต Resource Manager จากนั้นส่งและรับข้อความโดยใช้ไคลเอ็นต์ที่เขียนใน C#, Java, Python และ JavaScript

โหมดรับ

คุณสามารถระบุสองโหมดที่แตกต่างกันที่ Service Bus ได้รับข้อความ: รับ และลบ หรือ ล็อค Peek

รับและลบ

ในโหมดนี้ เมื่อ Service Bus ได้รับคําขอจากผู้บริโภค จะทําเครื่องหมายข้อความเป็นใช้งานและส่งกลับไปยังแอปพลิเคชันผู้บริโภค โหมดนี้เป็นแบบจําลองที่ง่ายที่สุด ซึ่งทํางานได้ดีที่สุดสําหรับสถานการณ์ที่แอปพลิเคชันสามารถทนต่อการประมวลผลข้อความหากเกิดความล้มเหลว ตัวอย่างเช่น พิจารณาสถานการณ์ที่ผู้บริโภคออกคําขอรับและจากนั้นล่มก่อนประมวลผล เมื่อ Service Bus ทําเครื่องหมายข้อความเป็นใช้งาน แอปพลิเคชันจะเริ่มใช้ข้อความเมื่อเริ่มระบบใหม่ พลาดข่าวสารที่บริโภคก่อนการหยุดทํางาน

มองไปที่ล็อค

ในโหมดนี้ การดําเนินการรับจะกลายเป็นสองขั้นตอนซึ่งทําให้สามารถสนับสนุนแอปพลิเคชันที่ไม่สามารถทนต่อข้อความที่ขาดหายไปได้

  1. ค้นหาข้อความถัดไปที่จะใช้ ล็อก เพื่อป้องกันไม่ให้ผู้ใช้รายอื่นรับข้อความนั้น จากนั้นส่งกลับข้อความไปยังแอปพลิเคชัน

  2. หลังจากแอปพลิเคชันเสร็จสิ้นการประมวลผลข้อความ จะร้องขอบริการบัสของบริการเพื่อเสร็จสิ้นลําดับขั้นที่สองของกระบวนการรับ จากนั้น บริการ ทําเครื่องหมายข้อความเป็น ใช้

ถ้าแอปพลิเคชันไม่สามารถประมวลผลข้อความได้ด้วยเหตุผลบางประการ แอปพลิเคชันสามารถร้องขอบริการ Service Bus ให้ ละทิ้ง ข้อความได้ Service Bus ปลดล็อก ข้อความ และทําให้สามารถรับข้อความได้อีกครั้ง โดยผู้บริโภคเดียวกันหรือโดยผู้บริโภคอื่นที่แข่งขัน ประการที่สอง มีการหมดเวลาของ เกี่ยวข้องกับการล็อก ถ้าแอปพลิเคชันไม่สามารถประมวลผลข้อความก่อนที่การหมดเวลาล็อกจะหมดอายุ Service Bus จะปลดล็อกข้อความและทําให้พร้อมสําหรับรับอีกครั้ง

หัวข้อและการสมัครใช้งาน

คิวอนุญาตให้มีการประมวลผลข้อความโดยผู้บริโภครายเดียว ซึ่งตรงกันข้ามกับคิว หัวข้อและการสมัครใช้งานมีรูปแบบการสื่อสารแบบหนึ่งต่อกลุ่มใน เผยแพร่และสมัครใช้งานรูปแบบ ซึ่งมีประโยชน์สําหรับการปรับมาตราส่วนไปยังผู้รับจํานวนมาก แต่ละข้อความที่เผยแพร่จะพร้อมใช้งานสําหรับการสมัครใช้งานแต่ละครั้งที่ลงทะเบียนกับหัวข้อ Publisher ส่งข้อความไปยังหัวข้อและผู้สมัครใช้งานอย่างน้อยหนึ่งรายจะได้รับสําเนาของข้อความ

การสมัครใช้งานสามารถใช้ตัวกรองเพิ่มเติมเพื่อจํากัดข้อความที่พวกเขาต้องการได้รับ ผู้เผยแพร่ส่งข้อความไปยังหัวข้อในลักษณะเดียวกับที่ส่งข้อความไปยังคิว แต่ผู้บริโภคไม่ได้รับข้อความโดยตรงจากหัวข้อ แต่ผู้บริโภคจะได้รับข้อความจากการสมัครใช้งานของหัวข้อ การสมัครใช้งานหัวข้อคล้ายกับคิวเสมือนที่ได้รับสําเนาของข้อความที่ส่งไปยังหัวข้อ ผู้บริโภคได้รับข้อความจากการสมัครใช้งานเหมือนกับวิธีที่พวกเขาได้รับข้อความจากคิว

ฟังก์ชันการส่งข้อความของแผนผังคิวโดยตรงไปยังหัวข้อและฟังก์ชันการทํางานการรับข้อความไปยังการสมัครใช้งาน เหนือสิ่งอื่นใดคุณลักษณะนี้หมายความว่าการสมัครสมาชิกสนับสนุนรูปแบบเดียวกันกับที่อธิบายไว้ก่อนหน้านี้ในส่วนเกี่ยวกับคิว: แข่งขันกับผู้บริโภคการแยกตัวกันชั่วคราวการปรับระดับโหลดและการปรับสมดุลโหลด

กฎและการดําเนินการ

ในหลายสถานการณ์ ข้อความที่มีคุณลักษณะเฉพาะต้องได้รับการประมวลผลในลักษณะที่แตกต่างกัน เพื่อเปิดใช้งานการประมวลผลนี้ คุณสามารถกําหนดค่าการสมัครใช้งานเพื่อค้นหาข้อความที่มีคุณสมบัติที่ต้องการ จากนั้นทําการแก้ไขคุณสมบัติเหล่านั้น ในขณะที่การสมัครใช้งาน Service Bus เห็นข้อความทั้งหมดที่ส่งไปยังหัวข้อ คุณสามารถคัดลอกชุดย่อยของข้อความเหล่านั้นไปยังคิวการสมัครใช้งานเสมือนเท่านั้น การกรองนี้สามารถทําได้โดยใช้ตัวกรองการสมัครใช้งาน การปรับเปลี่ยนดังกล่าวเรียกว่าการดําเนินการตัวกรอง เมื่อสร้างการสมัครใช้งาน คุณจะสามารถใส่นิพจน์ตัวกรองที่ดําเนินการกับคุณสมบัติของข้อความได้ คุณสมบัติสามารถเป็นได้ทั้งคุณสมบัติของระบบ (ตัวอย่างเช่น ป้ายชื่อ) และคุณสมบัติของแอปพลิเคชันแบบกําหนดเอง (ตัวอย่างเช่น StoreName) นิพจน์ตัวกรอง SQL เป็นตัวเลือกในกรณีนี้ หากไม่มีนิพจน์ตัวกรอง SQL การดําเนินการตัวกรองใด ๆ ที่กําหนดไว้ในการสมัครใช้งานจะดําเนินการในข้อความทั้งหมดสําหรับการสมัครใช้งานนั้น