.NET Orleans - เฟรมเวิร์กสำหรับแอปพลิเคชันแบบกระจายของ Microsoft
(dotnet.github.io)"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
ยังไม่มีความคิดเห็น