
ที่มาภาพ: Unknown Source
วิธีติดตั้งและใช้งาน Temporal.io บน macOS เพื่อจัดการ workflow แบบกระจายอย่างปลอดภัย
⚡ สรุป 30 วิ
**บทความนี้จะพาคุณจากศูนย์จนสามารถติดตั้งและใช้งาน Temporal.io บน macOS เพื่อจัดการ workflow แบบกระจายได้อย่างปลอดภัย**
บทความนี้จะพาคุณจากศูนย์จนสามารถติดตั้งและใช้งาน Temporal.io บน macOS เพื่อจัดการ workflow แบบกระจายได้อย่างปลอดภัย คุณจะได้รู้ว่าต้องเตรียมอะไรบ้าง ขั้นตอนติดตั้งแต่ละขั้นเป็นอย่างไร และวิธีเพิ่มความมั่นคงให้ระบบของคุณ
Overview — Overview
Temporal.io เป็นแพลตฟอร์มที่ช่วยจัดการ workflow แบบ stateful บนโครงสร้าง micro‑service ได้โดยอัตโนมัติ
- รองรับหลายภาษา เช่น Go, Java, TypeScript
- จัดการ retries, timeouts และ versioning อย่างเป็นระบบ
- ทำงานบน Kubernetes หรือ Docker ทำให้สามารถขยายได้ง่าย
เตรียมสภาพแวดล้อมบน macOS — Prerequisites
ก่อนเริ่มติดตั้งคุณต้องตรวจสอบว่าระบบมีเครื่องมือพื้นฐานพร้อมหรือไม่
- Homebrew ติดตั้งแล้ว (`/usr/local/bin/brew`)
- Docker Desktop เวอร์ชันล่าสุดและเปิดใช้งาน *resource sharing*
- Git สำหรับดึงโค้ดตัวอย่าง
**Tip: ปรับการใช้ CPU/Memory ของ Docker ให้เหมาะกับ workflow ที่จะรันทดลอง เพื่อหลีกเลี่ยงการหยุดทำงานกลางคัน
ติดตั้ง Temporal Server ด้วย Docker — Install Temporal Server
Temporal server มีส่วนประกอบหลัก 3 ตัวคือ Frontend, History, Matching เราจะใช้ Docker Compose รวบรวมเป็นหนึ่งคอนเทนเนอร์
- สร้างไฟล์ `docker-compose.yml` ด้วยเนื้อหาตามตัวอย่างในเอกสารทางการ
- เปิด Terminal แล้วรัน `docker compose up -d` เพื่อดึงภาพและสตาร์ทคอนเทนเนอร์ทั้งหมด
- ตรวจสอบสถานะด้วย `docker ps` ควรเห็น 3 container กำลังทำงาน
ตั้งค่า CLI (tctl) — Setup CLI
CLI ช่วยให้คุณสามารถส่งคำสั่งควบคุม workflow จากเครื่องได้โดยตรง
- ใช้ Homebrew ติดตั้ง: `brew install temporalio/tap/temporal`
- ตรวจสอบเวอร์ชันด้วย `tctl version` ควรแสดงเลขเวอร์ชันล่าสุด
- ตั้งค่า endpoint ให้ตรงกับ Docker: `export TEMPORAL_ADDRESS=localhost:7233`
สร้าง Workflow เบื้องต้นด้วย Go SDK — Create a Sample Workflow
Go เป็นหนึ่งใน SDK ที่ได้รับการสนับสนุนเต็มรูปแบบของ Temporal
- ใช้คำสั่ง `go mod init example.com/temporal-demo` สร้างโมดูลใหม่
- ติดตั้งไลบรารี: `go get go.temporal.io/sdk`
- สร้างไฟล์ `main.go` แล้วเขียนโค้ด workflow ง่าย ๆ ที่พิมพ์ข้อความ “Hello Temporal”
ขั้นตอนการเขียนโค้ด — Code Steps
- **ขั้นที่ 1: กำหนดแพคเกจและ import SDK พร้อม context
- **ขั้นที่ 2: สร้างฟังก์ชัน workflow รับ `workflow.Context` และพารามิเตอร์เพิ่มเติม
- **ขั้นที่ 3: ใช้ `workflow.ExecuteActivity` เรียก activity ที่ทำงานจริง
- **ขั้นที่ 4: ลงทะเบียน workflow กับ worker โดยใช้ `worker.RegisterWorkflow`
รันและทดสอบ Workflow — Run and Test
เมื่อโค้ดพร้อมแล้วให้เริ่ม Worker เพื่อฟังคำสั่งจาก Temporal Server
- คอมไพล์โปรเจกต์ด้วย `go build -o worker`
- เรียกใช้โดยพิมพ์ `./worker` ระบบจะเชื่อมต่อไปยัง server ที่ตั้งค่าไว้
- เปิดอีกเทอร์มินัลหนึ่ง แล้วส่ง workflow ด้วย `tctl workflow start --task-queue default --workflow-type HelloWorkflow`
**Tip: ตรวจสอบประวัติการทำงานด้วย `tctl workflow describe <WorkflowID>` เพื่อดูสถานะและผลลัพธ์ที่ได้
การตั้งค่าความปลอดภัย — Security Settings
เพื่อให้ workflow ทำงานในสภาพแวดล้อมที่ปลอดภัยควรเปิดใช้งานคุณสมบัติดังต่อไปนี้
- TLS Encryption: ป้องกันการส่งข้อมูลระหว่าง client กับ server ด้วยใบรับรอง self‑signed หรือ CA ที่เชื่อถือได้
- Authentication: เปิดใช้ JWT หรือ OAuth2 เพื่อตรวจสอบตัวตนของผู้เรียก API
| ฟีเจอร์ | วิธีเปิดใช้งาน | ผลลัพธ์ |
|---|---|---|
| TLS | เพิ่ม `--tls-cert` และ `--tls-key` ใน Docker compose | การสื่อสารทั้งหมดถูกเข้ารหัส |
| Auth | ตั้งค่า `temporal.yaml` ให้รับ JWT secret | ป้องกันการเรียก API จากผู้ไม่ได้รับอนุญาต |
แก้ไขปัญหาที่พบบ่อย — Troubleshooting
เมื่อทำงานกับ Temporal บน macOS อาจเจอข้อผิดพลาดบางอย่างที่ต้องตรวจสอบก่อนดำเนินการต่อไป
- **Docker ไม่สามารถเชื่อมต่อ: ตรวจสอบว่า Docker Daemon ทำงานและพอร์ต 7233 เปิดให้รับคำขอจาก localhost
- **เวอร์ชัน CLI กับ Server ไม่ตรงกัน: ให้ใช้ `brew upgrade temporal` หรือดึง image เวอร์ชันเดียวกับ CLI ที่ติดตั้ง
ปรับเพิ่มประสิทธิภาพการทำงาน — Performance Tuning
เพื่อรองรับโหลดสูงควรพิจารณาปรับค่าต่าง ๆ ในไฟล์คอนฟิกของ Temporal Server
- เพิ่มจำนวน `historyShardCount` เพื่อกระจายโหลดไปยังหลาย shard
- กำหนดค่า `workerConcurrency` สูงขึ้นใน worker เพื่อลดเวลาคิวงาน
สรุป — Summary
คุณได้เรียนรู้ขั้นตอนสำคัญทั้งหมดเพื่อให้ Temporal.io ทำงานบน macOS อย่างครบวงจรและปลอดภัย
- เตรียมเครื่องมือพื้นฐาน (Homebrew, Docker, Git) ก่อนเริ่มติดตั้ง
- ใช้ Docker Compose รัน Temporal Server 3 component พร้อมตรวจสอบสถานะด้วย `docker ps`
- ติดตั้ง CLI (`tctl`) ผ่าน Homebrew ตั้งค่า endpoint ให้ตรงกับ server
- สร้าง workflow ด้วย Go SDK ลงทะเบียน worker และทดสอบโดยส่งงานผ่าน CLI
- เปิดใช้งาน TLS และ Authentication เพื่อเพิ่มความปลอดภัยของระบบ
- ตรวจสอบปัญหาที่พบบ่อยและปรับค่าประสิทธิภาพตามความต้องการ
ด้วยขั้นตอนเหล่านี้ คุณสามารถนำ Temporal.io ไปใช้จัดการ workflow แบบกระจายบน macOS ได้อย่างมั่นใจและมีประสิทธิภาพ.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- วิธีติดตั้งและใช้งาน Temporal.io บน macOS เพื่อจัดการ workflow แบบกระจายอย่างปลอดภัย
- ผู้เขียน
- กองบรรณาธิการ Thai Tech News
- แหล่ง
- บทความต้นฉบับ Thai Tech News · ช่วยร่างด้วย AI, เรียบเรียง/ตรวจสอบโดยกองบรรณาธิการ
- วันที่เผยแพร่
- 15 กรกฎาคม 2569 เวลา 10:50



