"Distributed .NET"

  • เฟรมเวิร์กข้ามแพลตฟอร์มสำหรับสร้างและใช้งานแอปที่ Scalable และ Fault Tolerant โดยอิงกับออบเจ็กต์แบบกระจายที่เรียกว่า grains

  • ออบเจ็กต์ที่พัฒนาบนเซิร์ฟเวอร์ภายในสามารถรันและสเกลบนคลาวด์/คลัสเตอร์ได้โดยไม่ต้องแก้โค้ด

  • Microsoft ใช้งานจริงในบริการโปรดักชันมาเป็นเวลา 8 ปีแล้ว

  • grain = identity + behavior + state

  • รองรับ Windows, Linux, Mac บน .NET Standard 2.0 ขึ้นไป

ฟีเจอร์

  • Persistence : สถานะของ grain สามารถบันทึกลงในระบบสตอเรจใดก็ได้

→ Plugin สำหรับ Azure Storage, ADO.NET(SQL Server, MySQL, PostgreSQL, Oracle), DynamoDB

  • ธุรกรรม ACID แบบกระจาย

  • Virtual Stream : Azure Event Hubs, Amazon SQS/Kinesis, GCP, In-memory

  • Timers & Reminders : สามารถตั้งเวลาแอ็กชันให้กับ grain ที่จะถูกเปิดใช้งานในอนาคตได้

  • Flexible Grain Placement : เมื่อ grain ถูกเปิดใช้งานภายใน Orleans ตัวรันไทม์จะเป็นผู้เลือกว่าจะเปิดใช้งานบนเซิร์ฟเวอร์ใด และสามารถกำหนดพฤติกรรมนี้ได้อย่างยืดหยุ่น

  • Grain Versioning & Heterogeneous Clusters : รองรับการมี grain หลายเวอร์ชันอยู่ร่วมกันและช่วยให้อัปเดตได้อย่างปลอดภัย

  • Stateless Workers : grain ที่ไม่มี state และสามารถรันพร้อมกันบนหลายเซิร์ฟเวอร์ได้

  • Grain Call Filters : ฟีเจอร์ฟิลเตอร์ที่ใช้กับหลาย grain พร้อมกันได้ เช่น การยืนยันตัวตน/การบันทึกล็อก/Telemetry/การจัดการข้อผิดพลาด

  • Run Anywhere : Azure, AWS, GCP, On-prem, Kubernetes, Service Fabric, Windows, Linux, MacOS

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น