หลักการ
คำอธิบาย Worker
Worker เป็น контейнерพื้นฐานที่สุดใน Workerman โดย Worker สามารถเปิดหลายโปรเซสเพื่อฟังพอร์ตและใช้โปรโตคอลเฉพาะในการสื่อสาร ซึ่งคล้ายกับ nginx ที่ฟังพอร์ตบางพอร์ต ทุกโปรเซส Worker จะทำงานแยกจากกัน โดยใช้ Epoll (ต้องติดตั้ง event extension) + IO ที่ไม่บล็อก ซึ่งสามารถเชื่อมต่อกับไคลเอนต์ได้หลายหมื่นการเชื่อมต่อ และจัดการข้อมูลที่ส่งมาจากการเชื่อมต่อนั้น โปรเซสหลักจะรับผิดชอบเพียงการตรวจสอบโปรเซสย่อยเท่านั้น ไม่ได้รับข้อมูลหรือทำธุรกิจใดๆ
ความสัมพันธ์ระหว่างไคลเอนต์และโปรเซส worker

ความสัมพันธ์ระหว่างโปรเซสหลักและโปรเซสย่อย worker

ลักษณะเฉพาะ:
จากภาพ เราสามารถเห็นว่าแต่ละ Worker จะรักษาการเชื่อมต่อกับไคลเอนต์ของตนเอง ซึ่งทำให้สามารถทำการสื่อสารแบบเรียลไทม์ระหว่างไคลเอนต์กับเซิร์ฟเวอร์ได้อย่างสะดวก จากโมเดลนี้เราสามารถทำการพัฒนาที่จำเป็นบางอย่างง่ายๆ ได้ เช่น HTTP เซิร์ฟเวอร์, Rpc เซิร์ฟเวอร์, การรายงานข้อมูลแบบเรียลไทม์จากอุปกรณ์สมาร์ท, การส่งข้อมูลจากเซิร์ฟเวอร์, เซิร์ฟเวอร์เกม, ระบบหลังบ้านของแอปพลิเคชัน WeChat เป็นต้น