Lý do nên chọn SWF?
Dịch vụ quy trình đơn giản của Amazon (Amazon SWF) giúp các nhà phát triển xây dựng, chạy và điều chỉnh quy mô các tác vụ nền có các bước thực hiện song song hoặc theo trình tự. Bạn có thể coi Amazon SWF như một trình theo dõi trạng thái và trình điều phối tác vụ được quản lý toàn phần trên Đám mây.
Nếu các bước của ứng dụng của bạn mất trên 500 mili giây để hoàn thành, bạn cần theo dõi tình trạng của quá trình xử lý và nếu cần phục hồi hay thử lại khi có tác vụ không thành công, Amazon SWF có thể giúp bạn.
Nếu bạn đang tìm kiếm một dịch vụ luồng quy trình trực quan, cần viết ít mã để điều phối các dịch vụ AWS, tự động hóa quy trình kinh doanh hay phát triển các ứng dụng phi máy chủ, hãy tìm hiểu thêm về AWS Step Functions.
Lợi ích
Chi tiết sản phẩm Amazon SWF
Sử dụng Amazon SWF để quản lý quy trình làm việc trong ứng dụng của bạn thật dễ dàng.
Chức năng Amazon SWF
Amazon SWF hoạt động như trung tâm điều phối cho tất cả các thành phần khác nhau trong ứng dụng của bạn:
- Duy trì trạng thái ứng dụng
- Theo dõi quá trình thực thi quy trình làm việc và ghi lại tiến trình của chúng
- Giữ và điều phối tác vụ
- Kiểm soát những tác vụ mà mỗi máy chủ ứng dụng của bạn sẽ được chỉ định để thực hiện
Để sử dụng Amazon SWF, bạn chỉ cần:
- Sử dụng Bảng điều khiển quản lý AWS hoặc API Amazon SWF để chỉ định tên của quy trình làm việc.
- Sử dụng API Amazon SWF để “bắt đầu” một quy trình làm việc mới, dẫn đến một chuỗi các tác vụ quy trình làm việc cụ thể đi vào hoạt động, được gọi là “thực thi quy trình làm việc”.
- Sử dụng API Amazon SWF từ các máy thợ của bạn (“trình xử lý” là một thành phần trong ứng dụng xử lý các tác vụ cụ thể) để thiết lập thứ tự tác vụ, quản lý luồng có điều kiện và thực thi các vòng lặp để thực thi quy trình làm việc.
- Sử dụng API Amazon SWF từ máy thợ của bạn để yêu cầu và thực thi các tác vụ quy trình làm việc trên đám mây hoặc tại chỗ.
- Giám sát trạng thái và tiến độ thực thi quy trình làm việc và các tác vụ liên quan trong Bảng điều khiển quản lý AWS.
Phần hướng dẫn về mẫu trong Bảng điều khiển quản lý AWS sẽ hướng dẫn bạn các bước đăng ký và chạy ứng dụng mẫu. Để biết thêm thông tin, vui lòng tham khảo Tài liệu.
Mô tả chi tiết
Amazon SWF là một dịch vụ quy trình làm việc được quản lý toàn phần, dùng để xây dựng các ứng dụng có quy mô linh hoạt và khả năng phục hồi. Amazon SWF cung cấp các lệnh gọi API đơn giản có thể được thực thi từ mã, được viết bằng bất kỳ ngôn ngữ nào và chạy trên phiên bản EC2 của bạn hoặc bất kỳ máy nào có thể truy cập Internet ở bất cứ đâu trên thế giới.
Amazon SWF hoạt động như một trung tâm điều phối mà máy chủ ứng dụng của bạn tương tác. Bạn tạo quy trình làm việc mong muốn với các tác vụ liên quan của chúng và bất kỳ logic có điều kiện nào bạn muốn áp dụng và lưu trữ với Amazon SWF. Mỗi lần bạn thực thi một quy trình làm việc đều được xem là một lần thực thi riêng biệt. Bạn lập trình các thành phần ứng dụng của mình để yêu cầu thực hiện các tác vụ khác nhau trong quá trình thực thi quy trình làm việc của bạn và Amazon SWF sẽ điều phối để thực hiện các tác vụ theo thứ tự bạn đã chỉ định trên máy chủ của bạn (cho dù máy chủ nằm trong đám mây hay tại chỗ). Các ứng dụng giao tiếp với Amazon SWF bằng cách sử dụng API để ghi lại việc tác vụ chạy thành công hoặc thất bại. Sau đó, Amazon SWF tiếp tục chuỗi tác vụ bằng cách gán tác vụ quy trình làm việc tiếp theo cho máy chủ ứng dụng hoặc bằng cách chạy lại tác vụ thất bại tùy thuộc vào logic kinh doanh của bạn.
Đăng nhập vào Bảng điều khiển quản lý AWS để bắt đầu thực thi quy trình làm việc Amazon SWF. Ngoài ra, bạn có thể bắt đầu thực thi quy trình làm việc thông qua API Amazon SWF của chúng tôi. Amazon SWF sử dụng giao diện dịch vụ web đơn giản, dễ sử dụng và có độ linh hoạt cao:
- StartWorkflowExecution: bắt đầu một chuỗi các tác vụ quy trình làm việc và cung cấp tác vụ đầu tiên cho một trong các máy chủ ứng dụng của bạn.
- DescribeWorkflowExecution: cung cấp trạng thái thực thi quy trình làm việc và tác vụ của bạn.
- PollForActivityTask: máy chủ ứng dụng của bạn (trong đám mây hoặc tại chỗ) yêu cầu và thực hiện các tác vụ quy trình làm việc trong một vòng lặp liên tục.
- RespondActivityTaskCompleted: máy chủ ứng dụng thông báo cho Amazon SWF rằng máy chủ đã hoàn thành thành công một tác vụ. Amazon SWF sau đó sẽ tiếp tục thực thi quy trình làm việc bằng cách cung cấp tác vụ tiếp theo cho máy chủ ứng dụng.
- TerminateWorkflowExecution: ngừng thực thi tiếp một quy trình làm việc cụ thể. Amazon SWF sẽ không chỉ định thêm bất kỳ tác vụ nào trong quá trình thực thi quy trình làm việc cụ thể này cho máy chủ ứng dụng.
Mục đích sử dụng và hạn chế
Khi sử dụng dịch vụ này, bạn phải tuân theo Thỏa thuận khách hàng Amazon Web Services.
Trường hợp sử dụng
AWS Flow Framework
AWS Flow Framework là một tập hợp các thư viện tiện lợi giúp xây dựng ứng dụng nhanh hơn và dễ dàng hơn với Amazon Simple Workflow.
Cách thức hoạt động
AWS Flow Framework có mô hình lập trình đơn giản, giúp dễ dàng xây dựng các ứng dụng thực hiện công việc trên nhiều máy. Với khung này, bạn nhanh chóng tạo và phối hợp các tác vụ, cũng như thể hiện quan hệ giữa các tác vụ này – tương tự như cách bạn làm trong một chương trình điển hình. Ví dụ: bạn có thể chạy một phương thức trong một ứng dụng trên máy tính “từ xa” một cách đơn giản bằng cách gọi một phương thức trong logic ứng dụng của bạn, được lưu trữ trên một máy tính “cục bộ” riêng biệt. AWS Flow Framework xử lý các thao tác qua lại phức tạp cần thiết để thực thi phương thức từ xa và trả kết quả về ứng dụng cục bộ bằng cách sử dụng thông tin được lưu trữ bởi dịch vụ Amazon Simple Workflow. Kết quả đầu ra của bất kỳ phương thức nào được thực thi đều có thể được sử dụng để kết nối các phần riêng biệt phụ thuộc vào nhau trong logic của bạn. Khung này cho phép bạn sử dụng cú pháp đơn giản để thể hiện quan hệ phụ thuộc giữa các phương thức bằng phương thức tiếp cận đơn giản “chặn và chờ gọi lại”. Khung này cũng cho phép bạn xử lý lỗi trên máy từ xa tựa như đó là lỗi cục bộ và cung cấp cho bạn những cách dễ dàng để xác định cách bạn muốn thử lại các phương thức quan trọng trong ứng dụng của mình nếu có lỗi xảy ra.
- Tải khung này trong SDK AWS dành cho Java
- Xem Hội thảo trực tuyến cho phiên bản Java
- Đọc Hướng dẫn dành cho nhà phát triển
- Xem tài liệu tham khảo về API
Lưu ý
AWS Flow Framework dành cho Ruby không còn được phát triển chủ động. Mặc dù mã hiện có sẽ tiếp tục hoạt động vô thời hạn, sẽ không có tính năng hoặc phiên bản mới nào. Mã nguồn của Flow Framework dành cho Ruby sẽ vẫn sẽ được cung cấp trên kho lưu trữ GitHub AWS SWF. Nếu ứng dụng Simple Workflow dựa trên Ruby của bạn đang phát triển và thay đổi, bạn nên xem xét các tùy chọn, bao gồm di chuyển sang AWS Step Functions hoặc sử dụng API Simple Workflow. Để biết chi tiết, hãy xem Hướng dẫn dành cho nhà phát triển AWS Simple Workflow.
Bằng cách sử dụng AWS Flow Framework, bạn chỉ cần viết mã đơn giản và để các đối tượng và lớp được dựng sẵn của khung xử lý các chi tiết của API Amazon Simple Workflow. AWS Flow Framework đảm nhiệm việc tạo và thực hiện các bước của ứng dụng, theo dõi tiến trình của ứng dụng, cho phép bạn xác định quy tắc thử lại khi các bước thất bại, v.v. Trong khi đó, Amazon Simple Workflow Service duy trì trạng thái thực thi của ứng dụng, giao tác vụ cho các máy thợ có sẵn và lưu giữ lịch sử kiểm tra cho tất cả các tác vụ của bạn.
AWS Flow Framework là khung nguồn mở Java và được phát triển và quản lý bởi AWS. Bạn có thể sử dụng các liên kết dưới đây để lấy thư viện, mã nguồn, tài liệu, mẫu, v.v.