Cách xử lý lỗi trong các ứng dụng serverless bằng AWS Step Functions | AWS

Trong hướng dẫn này, bạn sẽ tìm hiểu cách sử dụng AWS Step Functions để xử lý các lỗi thời gian hoạt động của quy trình làm việc. AWS Step Functions là dịch vụ điều phối serverless cho phép bạn dễ dàng phối hợp nhiều hàm Lambda vào quy trình làm việc linh hoạt dễ dàng gỡ lỗi và thay đổi. AWS Lambda là dịch vụ điện toán cho phép bạn chạy mã mà không cần cung cấp hay quản lý máy chủ. 

Các hàm Lambda có thể thỉnh thoảng gặp lỗi, chẳng hạn như khi trường hợp ngoại lệ không thể xử lý được báo cáo, khi chúng chạy lâu hơn thời gian chờ đã đặt cấu hình hoặc khi chúng hết bộ nhớ. Viết hoặc duy trì logic xử lý lỗi trong mọi hàm Lambda của bạn để giải quyết các tình huống chẳng hạn như điều tiết API hoặc thời gian chờ của socket có thể rất lâu và phức tạp nhất là đối với các ứng dụng được phân phối. Nhúng mã này vào mỗi hàm Lambda tạo ra thành phần phụ thuộc giữa các hàm và điều này có thể khó duy trì tất cả các kết nối khi có thay đổi xảy ra.

Để tránh điều này và để giảm số mã xử lý lỗi bạn viết, bạn có thể sử dụng AWS Step Functions để tạo quy trình làm việc serverless hỗ trợ xử lý lỗi hàm. Bất kể lỗi là ngoại lệ hàm do nhà phát triển tạo ra ( ví dụ như không tìn thấy tệp) hoặc là không lường được (ví dụ như hết bộ nhớ), bạn có thể định cấu hình Step Functions để đối phó bằng logic có điều kiện dựa trên loại lỗi xảy ra. Bằng cách tách logic quy trình làm việc từ logic làm việc theo cách này, bạn có thể thay đổi cách đối phó với lỗi của quy trình làm việc mà không thay đổi logic làm việc của hàm Lambda.

Trong hướng dẫn này, bạn sẽ thiết kế và chạy quy trình làm việc serveless bằng AWS Step Functions để xử lý mượt mà các lỗi này. Bạn sẽ tạo hàm AWS Lambda bắt chước cuộc gọi đến API RESTful và gửi lại nhiều mã cùng ngoại lệ phản hồi. Sau đó, bạn sẽ dùng AWS Step Functions để tạo máy trạng thái với tính năng Thử lại và phát hiện, phản hồi với logic khác tùy theo trường hợp ngoại lệ được báo cáo.