ในฐานะผู้เขียน NServiceBus ดั้งเดิมฉันอาจมีอคติกับเทคโนโลยีของตัวเองเล็กน้อย แต่ฉันจะพยายามรักษาความสมดุลให้มากที่สุดเท่าที่จะทำได้
การสนับสนุนการขนส่ง
ทั้ง NServiceBus และ MassTransit รองรับRabbitMQและAzure Service Busแต่ NServiceBus ยังรองรับ:
ในหัวข้อ RabbitMQ
อาร์กิวเมนต์อาจจะทำที่ NServiceBus มีการสนับสนุนที่แข็งแกร่งสำหรับ RabbitMQ - ตัวอย่างเช่นในของฟังก์ชั่นการส่งมอบล่าช้าในขณะที่ระบบขนส่งมวลชนรัฐว่าปลั๊กอิน "ของพวกเขายังถือว่าอยู่ในระหว่างการทดลอง MassTransit สนับสนุน แต่เราไม่สามารถรับประกันอะไรได้มากไปกว่าปลั๊กอิน รับประกันตัวเอง”
นอกจากนี้เรายังทำงานอย่างใกล้ชิดกับทีม RabbitMQ โดยมีส่วนร่วมกับ. net SDKเพื่อประโยชน์ของระบบนิเวศทั้งหมด
เมื่อมาถึง Azure Service Bus
ระดับการทำงานร่วมกันที่เรามีกับทีม Azure Service Bus นั้นสูงยิ่งขึ้นโดยมี PR มากกว่า 70 รายการสำหรับ SDK หลัก. netSDK
เมื่อคุณใช้ NServiceBus คุณจะได้รับประโยชน์จากความรู้ที่ลึกซึ้งอย่างเต็มที่
เครื่องมือ
นี่คือความแตกต่างที่ใหญ่ที่สุด
เมื่อคุณสร้างระบบที่สำคัญแล้วการมองเห็นว่าชิ้นส่วนต่างๆที่เคลื่อนไหวพูดคุยกันนั้นมีความสำคัญมากเพียงใด MassTransit ไม่มีอะไรมากในพื้นที่นี้นอกเหนือจากการรวมขนาดเล็กผ่านแหล่งข้อมูลการวินิจฉัยไปยังเครื่องมือของบุคคลที่สามเช่น Application Insights หรือ Open Trace
แพลตฟอร์มบริการรอบ ๆ NServiceBus ไปได้ไกลกว่าเล็กน้อยทำให้คุณสามารถดูไดอะแกรมลำดับในจุดสิ้นสุดทั้งหมดด้วยServiceInsight :
คุณยังสามารถรับมุมมองเชิงตรรกะของปลายทางและข้อความทั้งหมดของคุณ:
โดยพื้นฐานแล้วคุณจะได้รับเอกสารการใช้ชีวิตของสถาปัตยกรรมระบบของคุณ
การจัดการและการตรวจสอบ
นี่เป็นอีกพื้นที่หนึ่งที่ MassTransit ไม่มีมากนัก เมื่อระบบของบุคคลที่สามที่คุณรวมเข้าด้วยไม่สามารถใช้งานได้และข้อความจำนวนมากในระบบของคุณจะจบลงในคิวข้อผิดพลาดโซลูชันเดียวที่ MassTransit มีให้คุณย้ายข้อความเหล่านั้นกลับด้วยตนเองในภายหลังโดยใช้ปลั๊กอิน RabbitMQ Shovel
แพลตฟอร์มบริการรอบ ๆ NServiceBus รวมถึงการตรวจสอบคิวข้อผิดพลาดนั้นเครื่องมือกราฟิกเพื่อดูว่าสาเหตุของข้อผิดพลาดเหล่านั้นคืออะไรรวมถึงความสามารถในการเล่นซ้ำกลุ่มของข้อความที่ล้มเหลวเหล่านั้นและดูว่าได้รับการประมวลผลสำเร็จแล้วทั้งหมดในเว็บแอปง่ายๆ เรียกว่าServicePulse
นอกจากนี้ยังมีการแสดงภาพการตรวจสอบความสมบูรณ์ซึ่งจะดำเนินการเป็นระยะซึ่งสามารถให้คำเตือนล่วงหน้าเกี่ยวกับปัญหาก่อนที่ข้อความจะเริ่มล้มเหลว
และในที่สุดก็มีการตรวจสอบประสิทธิภาพในแพลตฟอร์ม:
คุณจะได้รับแพ็คเกจเต็มรูปแบบเมื่อพูดถึงการสนับสนุนด้านการผลิต
การสนับสนุนระยะยาวและความเข้ากันได้ย้อนหลัง
ในขณะที่ผู้ใช้ระบบขนส่งมวลชนมักจะช่วยเหลือทุกคนที่มีคำถามเกี่ยวกับเรื่องนี้ในGitterหรือGoogle Group ได้เป็นอย่างดีแต่ฉันไม่คิดว่าพวกเขาให้การแก้ไขข้อบกพร่องในเวอร์ชันเก่า เมื่อระบบการผลิตของคุณใช้งานได้สองสามปีและคุณไม่สามารถอัปเกรดทุกอย่างได้ตลอดเวลานั่นก็เริ่มมีความสำคัญ
ด้วยการสนับสนุน NServiceBus ประกอบด้วย :
- 2 ปีขึ้นไปสำหรับแต่ละเวอร์ชันหลัก
- เพิ่มอีก 2 ปีของการสนับสนุนการขยาย
- รับประกันเวลาตอบสนองสำหรับปัญหาร้ายแรง
- พร้อมใช้งานตลอด 24 ชั่วโมงทุกวัน
การให้คำปรึกษาและการฝึกอบรม
จากมุมมองของออฟไลน์มีหลักสูตรสาธารณะที่เปิดสอนอยู่ทั่วโลกบน NServiceBus ตลอดจนที่ปรึกษามากมายที่สามารถนำมาที่สถานที่เพื่อเริ่มโครงการหรือเพื่อช่วยเหลือในกรณีที่เกิดปัญหา ฉันได้ยินมาจากหลาย บริษัท ที่ตัดสินใจเปลี่ยนจาก MassTransit เป็น NServiceBus เพราะพวกเขาไม่สามารถหาคนมาทำงานได้เมื่อพวกเขาต้องการ
ใบอนุญาต
สิ่งที่บางคนยังไม่ทราบเกี่ยวกับ NServiceBus คือว่ามันเป็นฟรีสำหรับการใช้งานส่วนบุคคลและที่เพิ่งเริ่มต้น
เมื่อพูดถึงการใช้งานเชิงพาณิชย์รูปแบบการออกใบอนุญาตรอบ ๆ NServiceBus มีความยืดหยุ่นมากตามที่ลูกค้าในวงกว้างระบุและสามารถปรับให้เหมาะสมกับการจัดการ แน่นอนว่าด้วย MassTransit การออกใบอนุญาตนั้นฟรี
หวังว่าจะช่วยได้บ้าง