Bỏ qua đến nội dung chính
Về trang chủ
tools-ai tools-cli Tech 5 phút đọc

Microsoft Mở Mã Nguồn `pg_durable`: Mang Sức Mạnh "Thực Thi Bền Vững" Thẳng Vào PostgreSQL! 🚀

Microsoft đã chính thức công bố mã nguồn mở `pg_durable`, một tiện ích mở rộng PostgreSQL viết bằng Rust mang khả năng thực thi bền vững và điều phối quy trình làm việc trực tiếp vào cơ sở dữ liệu, cho phép phát triển các luồng công việc chịu lỗi, chạy dài mà không cần hạ tầng bên ngoài. 💡

Tier 1 · nguồn 99% độ tin cậy Auto-priority
Nguồn gốc github.com

Microsoft Mở Mã Nguồn `pg_durable`: Thực Thi Bền Vững Ngay Trong PostgreSQL! 🚀

Microsoft vừa chính thức công bố mã nguồn mở pg_durable, một tiện ích mở rộng mạnh mẽ cho PostgreSQL được phát triển bằng Rust. Công cụ này mang khả năng thực thi bền vững (durable execution) và điều phối luồng công việc (workflow orchestration) trực tiếp vào cơ sở dữ liệu. Điều này cho phép các nhà phát triển định nghĩa, chạy, giám sát và phục hồi các luồng công việc dài hạn, chịu lỗi hoàn toàn bằng SQL, loại bỏ sự phụ thuộc vào hạ tầng bên ngoài. ✨

Thực Thi Bền Vững Là Gì? 🤔

Trong các ứng dụng hiện đại, việc xử lý nền đáng tin cậy là cực kỳ quan trọng, từ các quy trình thanh toán nhiều bước, gửi email theo lịch trình, đến các pipeline ETL phức tạp. Chúng cần khả năng "sống sót" qua các sự cố hệ thống, mất kết nối mạng hay khởi động lại máy chủ. Trước đây, nhà phát triển thường phải kết hợp nhiều giải pháp như hàng đợi tin nhắn (message queues), cron jobs, các worker xử lý nền, hoặc các cụm điều phối chuyên dụng (như Temporal, Airflow, AWS Step Functions). ⛓️

Thực thi bền vững đảm bảo rằng nếu một luồng công việc nhiều bước bị treo hoặc gián đoạn giữa chừng, nó có thể tiếp tục chính xác từ điểm dừng cuối cùng, thay vì thất bại hoàn toàn hoặc lặp lại các bước đã hoàn thành. Đây là một khái niệm cốt lõi mà pg_durable giải quyết hiệu quả.

Đưa Khả Năng Điều Phối Vào Trong PostgreSQL 🛠️

pg_durable tích hợp mô hình này trực tiếp vào máy chủ cơ sở dữ liệu. Nó được xây dựng như một tiện ích mở rộng của PostgreSQL sử dụng framework pgrx (Rust-PostgreSQL) và cung cấp một Ngôn ngữ miền chuyên dụng (DSL) dựa trên SQL để định nghĩa và chạy các luồng công việc.

Tiện ích mở rộng này bao gồm một background worker và dựa trên hai thư viện Rust cấp thấp khác cũng do Microsoft phát triển: * duroxide: Một thư viện thực thi tác vụ bền vững, xác định, nhẹ, xử lý trạng thái luồng công việc, điểm kiểm tra (checkpoints), điều phối con và bộ hẹn giờ. * duroxide-pg: Một nhà cung cấp trạng thái cho duroxide được hỗ trợ bởi PostgreSQL, lưu giữ lịch sử luồng công việc, các phiên bản hoạt động và hàng đợi tác vụ bên trong một schema riêng duroxide.* trong cơ sở dữ liệu chủ.

Các Tính Năng Và Ưu Điểm Nổi Bật ✨

Dưới đây là những lợi ích chính mà pg_durable mang lại: * Bền vững Mặc định: Mọi bước của một luồng công việc đều tự động lưu trạng thái vào cơ sở dữ liệu PostgreSQL. Nếu máy chủ cơ sở dữ liệu gặp sự cố hoặc chuyển đổi dự phòng, các luồng công việc đang hoạt động sẽ tiếp tục liền mạch từ điểm kiểm tra thành công cuối cùng khi khởi động lại. 🛡️ * Tự động Thử lại: Hỗ trợ các chính sách thử lại khai báo cho các hoạt động tạm thời hoặc không ổn định (ví dụ: yêu cầu HTTP bên ngoài). Chỉ bước bị lỗi mới được thử lại, đảm bảo phục hồi mạnh mẽ mà không cần logic mã thủ công. 🔄 * Quan sát Toàn diện bằng SQL: Vì tất cả trạng thái điều phối, lịch sử phiên bản và nhật ký thực thi đều nằm trong các bảng PostgreSQL thông thường, nhà phát triển có thể kiểm tra, giám sát và gỡ lỗi luồng công việc bằng các truy vấn SQL tiêu chuẩn – không cần bảng điều khiển riêng hay giao diện người dùng độc quyền. 📊 * Gần gũi giữa Tính toán và Dữ liệu: Thực thi luồng công việc gần dữ liệu cơ sở dữ liệu giúp loại bỏ các chuyến đi vòng mạng và đơn giản hóa việc quản lý giao dịch. Điều này tối ưu hiệu suất đáng kể. ⚡ * Tích hợp AI Copilot: Kho mã nguồn đi kèm với một "kỹ năng tác nhân" có thể tái sử dụng tên là pg-durable-sql, giúp các trợ lý mã hóa AI (như GitHub Copilot hoặc Custom Agents) tạo và xác thực mã SQL luồng công việc bền vững chính xác. 🤖

Nguồn Gốc: Azure HorizonDB Durable Functions ☁️

pg_durable không chỉ là một nguyên mẫu thử nghiệm; nó đã được thử nghiệm và chứng minh trong môi trường sản xuất. Nó ban đầu được Microsoft thiết kế làm nền tảng cho "Durable Functions" bên trong Azure HorizonDB – dịch vụ đám mây PostgreSQL thế hệ tiếp theo do Microsoft quản lý.

Bằng cách mở mã nguồn tiện ích mở rộng này, Microsoft đã đóng góp khả năng mạnh mẽ này trở lại cộng đồng PostgreSQL, cho phép bất kỳ ai cũng có thể chạy các luồng công việc bền vững trên cơ sở dữ liệu cục bộ, VPS hoặc máy chủ tự quản lý mà không bị khóa vào một nhà cung cấp đám mây cụ thể. Đây là một bước đi đáng khen ngợi. 👍

Việc phát hành mã nguồn mở này hoàn toàn phù hợp với phương châm phát triển hiện đại phổ biến: "Chỉ cần sử dụng PostgreSQL cho mọi thứ." 🎉

Đã đọc hết tin tools-ai hiện có.