ทำไมต้อง SWF
Amazon Simple Workflow Service (Amazon SWF) ช่วยให้นักพัฒนาสามารถสร้าง รัน และปรับขนาดงานในพื้นหลังซึ่งมีขั้นตอนที่ดำเนินควบคู่กันหรือตามลำดับ อาจมองได้ว่า Amazon SWF เป็นหน่วยติดตามสถานะและหน่วยประสานงานซึ่งมีการจัดกาเต็มรูปแบบในระบบคลาวด์
หากขั้นตอนในแอปของคุณกินเวลานานกว่า 500 มิลลิวินาทีกว่าจะเสร็จ ทำให้คุณจำเป็นต้องติดตามสถานะการประมวลผล และจำเป็นต้องกู้คืนหรือลองใหม่หากงานล้มเหลว Amazon SWF สามารถช่วยคุณได้ในเรื่องนี้
หากคุณกำลังมองหาบริการโฟลว์กระบวนการที่แสดงผลด้วยภาพแบบการเขียนโค้ดน้อยที่สุดเพื่อใช้ในการประสานบริการของ AWS, ทำให้กระบวนการทางธุรกิจเป็นอัตโนมัติ หรือสร้างแอปพลิเคชันแบบไม่ต้องมีเซิร์ฟเวอร์ เรียนรู้เพิ่มเติมเกี่ยวกับ AWS Step Functions
ประโยชน์
รายละเอียดผลิตภัณฑ์ Amazon SWF
การใช้ Amazon SWF เพื่อจัดการเวิร์กโฟลว์ภายในแอปพลิเคชันของคุณเป็นเรื่องง่าย
ฟังก์ชันการทำงานของ Amazon SWF
Amazon SWF ทำหน้าที่เป็นฮับการประสานงานสำหรับส่วนประกอบต่าง ๆ ทั้งหมดของแอปพลิเคชันของคุณ:
- การรักษาสถานะแอปพลิเคชัน
- ติดตามการดำเนินการเวิร์กโฟลว์และสร้างข้อมูลบันทึกความคืบหน้า
- การจัดวางและการจัดส่งงาน
- การควบคุมงานใดที่โฮสต์แอปพลิเคชันแต่ละรายการของคุณจะได้รับมอบหมายให้ดำเนินการ
เพื่อใช้ Amazon SWF คุณเพียงแค่:
- ใช้คอนโซลการจัดการของ AWS หรือ Amazon SWF API เพื่อระบุชื่อของเวิร์กโฟลว์
- ใช้ Amazon SWF API เพื่อ “เริ่ม” เวิร์กโฟลว์ใหม่ ซึ่งส่งผลให้ลำดับงานเวิร์กโฟลว์เฉพาะที่เรียกว่า “การดำเนินการเวิร์กโฟลว์” ถูกกระตุ้นให้ดำเนินการ
- ใช้ Amazon SWF API จากเครื่องของโปรแกรมทำงานของคุณ (“โปรแกรมทำงาน” เป็นส่วนประกอบของแอปพลิเคชันของคุณที่จัดการกับงานเฉพาะ) เพื่อกำหนดลำดับงาน จัดการขั้นตอนตามเงื่อนไข และดำเนินการลูปสำหรับการดำเนินการเวิร์กโฟลว์
- ใช้ Amazon SWF API จากเครื่องของโปรแกรมทำงานของคุณเพื่อขอและดำเนินการงานเวิร์กโฟลว์ในระบบคลาวด์หรือในองค์กร
- ตรวจสอบสถานะและความคืบหน้าของการดำเนินการเวิร์กโฟลว์และงานที่เกี่ยวข้องในคอนโซลการจัดการของ AWS
คำแนะนำตัวอย่างใน คอนโซลการจัดการของ AWS จะนำคุณผ่านขั้นตอนในการลงทะเบียนและเรียกใช้แอปพลิเคชันตัวอย่าง โปรดดูเอกสารประกอบสำหรับข้อมูลเพิ่มเติม
คำอธิบายอย่างละเอียด
Amazon SWF เป็นบริการเวิร์กโฟลว์ที่มีการจัดการอย่างเต็มรูปแบบสำหรับการสร้างแอปพลิเคชันที่ปรับขนาดได้และยืดหยุ่น Amazon SWF ให้บริการการเรียกใช้ API ที่ง่ายดายซึ่งสามารถดำเนินการจากโคดที่เขียนในภาษาใดก็ได้และทำงานบนอินสแตนซ์ EC2 ของคุณหรือเครื่องใดก็ได้ในโลกที่สามารถเข้าถึงอินเทอร์เน็ตได้
Amazon SWF ทำหน้าที่เป็นฮับการประสานงานที่โฮสต์แอปพลิเคชันของคุณโต้ตอบด้วย คุณสร้างเวิร์กโฟลว์ที่ต้องการด้วยงานที่เกี่ยวข้องและตรรกะตามเงื่อนไขที่คุณต้องการนำไปใช้และจัดเก็บไว้ด้วย Amazon SWF แต่ละครั้งที่ดำเนินการเวิร์กโฟลว์ จะถือว่าเป็นการดำเนินการเวิร์กโฟลว์ที่แยกจากกัน คุณตั้งโปรแกรมส่วนประกอบของแอปพลิเคชันของคุณเพื่อขอให้งานต่าง ๆ ดำเนินการในการดำเนินการเวิร์กโฟลว์ของคุณ และ Amazon SWF จะประสานงานงานให้เสร็จสิ้นตามลำดับที่คุณระบุบนโฮสต์ของคุณ (ไม่ว่าโฮสต์จะอยู่ในคลาวด์หรือในองค์กรก็ตาม) แอปพลิเคชันจะสื่อสารกับ Amazon SWF โดยใช้ API เพื่อบันทึกความสำเร็จหรือความล้มเหลวของงาน จากนั้น Amazon SWF จะดำเนินการต่อลำดับงานโดยการกำหนดงานเวิร์กโฟลว์ถัดไปให้กับโฮสต์แอปพลิเคชันหรือโดยเรียกใช้งานที่ล้มเหลวอีกครั้งขึ้นอยู่กับตรรกะทางธุรกิจของคุณ
เข้าสู่ระบบคอนโซลการจัดการของ AWS เพื่อเริ่มการดำเนินการเวิร์กโฟลว์ของ Amazon SWF หรือคุณสามารถเริ่มดำเนินการเวิร์กโฟลว์ผ่าน Amazon SWF API ของเรา Amazon SWF ใช้อินเทอร์เฟซบริการในรูปแบบเว็บที่เรียบง่ายซึ่งใช้งานง่ายและยืดหยุ่นสูง:
- StartWorkflowExecution: เริ่มลำดับของงานเวิร์กโฟลว์และทำให้งานแรกพร้อมใช้งานกับโฮสต์แอปพลิเคชันใดตัวหนึ่ง
- DescribeWorkflowExecution: ให้สถานะของการดำเนินการและงานเวิร์กโฟลว์ของคุณ
- PollForActivityTask: โฮสต์แอปพลิเคชันของคุณ (ในระบบคลาวด์หรือในองค์กร) ขอและดำเนินการงานเวิร์กโฟลว์ในลูปต่อเนื่อง
- RespondActivityTaskCompleted: โฮสต์แอปพลิเคชันที่บอกกับ Amazon SWF ว่าทำงานเสร็จเรียบร้อยแล้ว จากนั้น Amazon SWF จะดำเนินการเวิร์กโฟลว์ต่อไปโดยทำให้งานถัดไปพร้อมใช้งานกับโฮสต์แอปพลิเคชัน
- TerminateWorkflowExecution: หยุดการขับเคลื่อนการดำเนินการเวิร์กโฟลว์ที่เฉพาะเจาะจงไปขั้นตอนข้างหน้า Amazon SWF จะไม่มอบหมายงานใด ๆ ในการดำเนินการเวิร์กโฟลว์เฉพาะนี้ให้กับโฮสต์แอปพลิเคชัน
วัตถุประสงค์การใช้งานและข้อจำกัด
การใช้บริการนี้ของคุณเป็นไปตามข้อตกลงของลูกค้า Amazon Web Services
กรณีใช้งาน
AWS Flow Framework
AWS Flow Framework เป็นคอลเลกชันของไลบรารีที่ใช้งานได้สะดวกสบายที่ทำให้สร้างแอปพลิเคชันได้เร็วและง่ายขึ้นด้วย Amazon Simple Workflow
วิธีทำงาน
AWS Flow Framework มีโมเดลการเขียนโปรแกรมที่ตรงไปตรงไปตรงมาซึ่งทำให้สามารถสร้างแอปพลิเคชันที่ทำงานบนเครื่องหลายเครื่องได้ง่าย ด้วยเฟรมเวิร์กนี้ คุณสามารถสร้างงาน ประสานงานงาน และแสดงให้เห็นว่างานเหล่านี้ขึ้นอยู่กันอย่างไรได้อย่างรวดเร็ว เช่นเดียวกับที่คุณทำในโปรแกรมทั่วไป ตัวอย่างเช่น คุณสามารถเรียกใช้วิธีการในแอปพลิเคชันบนคอมพิวเตอร์ "ระยะไกล" เพียงแค่เรียกใช้วิธีการในตรรกะแอปพลิเคชันของคุณที่โฮสต์อยู่บนคอมพิวเตอร์ "ท้องถิ่น" ที่แยกจากกัน AWS Flow Framework ช่วยจัดการกับการโต้ตอบไปมาที่ซับซ้อนซึ่