ปากกา - ออนไลน์ใน Cloud

นี่คือปากกาคำสั่งที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


ปากกา - ตัวโหลดบาลานซ์สำหรับโปรโตคอลที่ใช้ udp และ tcp

เรื่องย่อ


ปากกา [-b วินาที] [-c N] [-e โฮสต์: พอร์ต] [-t วินาที] [-x N] [-j dir] [-u ผู้ใช้] [-F cfgfile] [-l
logfile] [-p file ] [-w file] [-C port|/path/to/socket] [-T วินาที] [-UHWXadfhrs] [-o ตัวเลือก]
[-E certfile] [-K keyfile] [-G cacertfile] [-A cacertdir] [-Z] [-R] [-L โปรโตคอล]
[host:]port|/path/to/socket h1[:p1[:maxc1[:hard1[:weight1[:prio1]]]]]
[h2[:p2[:maxc2[:hard2[:weight2[:prio2]]]]]] ...

Windows เท่านั้น:

ปากกา -i service_name

ปากกา -u service_name

ตัวอย่าง


ปากกา 80 www1:8000:10 www2:80:10 www3

ที่นี่สามเซิร์ฟเวอร์ร่วมมือกันในเว็บเซิร์ฟเวอร์ฟาร์ม โฮสต์ www1 เรียกใช้เว็บเซิร์ฟเวอร์บนพอร์ต
8000 และยอมรับการเชื่อมต่อพร้อมกันสูงสุด 10 รายการ โฮสต์ www2 ทำงานบนพอร์ต 80 และ
ยอมรับ 10 การเชื่อมต่อ สุดท้าย www3 รันเว็บเซิร์ฟเวอร์บนพอร์ต 80 และอนุญาต an
ไม่จำกัดจำนวนการเชื่อมต่อพร้อมกัน

DESCRIPTION


ปากกา เป็นโหลดบาลานเซอร์สำหรับโปรโตคอลที่ใช้ TCP เช่น http หรือ smtp ช่วยให้หลาย
เซิร์ฟเวอร์ให้ปรากฏเป็นหนึ่งเดียวกับภายนอกและตรวจจับเซิร์ฟเวอร์ที่หยุดทำงานโดยอัตโนมัติ
และกระจายลูกค้าระหว่างเซิร์ฟเวอร์ที่มีอยู่ ทำให้มีความพร้อมใช้งานสูงและ
ประสิทธิภาพที่ปรับขนาดได้

อัลกอริธึมการโหลดบาลานซ์จะติดตามไคลเอนต์และจะพยายามส่งพวกเขากลับไปที่
เซิร์ฟเวอร์ที่พวกเขาเยี่ยมชมครั้งล่าสุด ตารางไคลเอนต์มีจำนวนช่อง (ค่าเริ่มต้น 2048,
ตั้งค่าได้ผ่านอาร์กิวเมนต์บรรทัดคำสั่ง) เมื่อโต๊ะเต็ม ล่าสุดใช้น้อยที่สุด
อันหนึ่งจะถูกโยนออกไปเพื่อให้มีที่ว่างสำหรับอันใหม่

สิ่งนี้เหนือกว่าอัลกอริธึมแบบปัดเศษแบบง่าย ๆ ซึ่งส่งไคลเอนต์ที่เชื่อมต่อ
ไปยังเซิร์ฟเวอร์ต่างๆ ซ้ำๆ การทำเช่นนี้จะแบ่งแอปพลิเคชันที่รักษาสถานะระหว่าง
การเชื่อมต่อในเซิร์ฟเวอร์ รวมทั้งเว็บแอปพลิเคชันที่ทันสมัยที่สุด

เมื่อปากกาตรวจพบว่าเซิร์ฟเวอร์ไม่พร้อมใช้งาน จะสแกนหาเซิร์ฟเวอร์อื่นที่ขึ้นต้นด้วย
เซิร์ฟเวอร์หลังจากใช้ล่าสุด ด้วยวิธีนี้เราจะได้โหลดบาลานซ์และ "ยุติธรรม"
ล้มเหลวฟรี

กำหนดค่าอย่างถูกต้อง ปากกาสามารถมั่นใจได้ว่าเซิร์ฟเวอร์ฟาร์มจะพร้อมใช้งานเสมอ แม้เมื่อ
เซิร์ฟเวอร์แต่ละเครื่องถูกนำลงมาเพื่อบำรุงรักษาหรือกำหนดค่าใหม่ ซิงเกิ้ลสุดท้าย
จุดล้มเหลวปากกาเองสามารถกำจัดได้โดยการเรียกใช้ปากกาบนหลายเซิร์ฟเวอร์โดยใช้
vrrp เพื่อตัดสินใจว่าอันไหนใช้งานอยู่

การส่งสัญญาณ USR1 ของปากกาจะทำให้สามารถพิมพ์สถิติที่เป็นประโยชน์เกี่ยวกับ stderr แม้ว่า
การดีบักถูกปิดใช้งาน หากปากกากำลังทำงานในพื้นหลัง (เช่น ไม่มีตัวเลือก -f)
syslog ใช้แทน stderr หากใช้ตัวเลือก -w สถิติจะถูกบันทึกไว้ใน
รูปแบบ HTML ในไฟล์ที่กำหนด

การส่งสัญญาณ HUP ของปากกาจะทำให้ปิดและเปิดไฟล์บันทึกอีกครั้ง หากเปิดใช้งานการบันทึก
และโหลดไฟล์การกำหนดค่าซ้ำ

หมุนบันทึกในลักษณะนี้ (สมมติว่า pen.log เป็นชื่อของไฟล์บันทึก):

mv pen.log pen.log.1 ฆ่า -HUP `cat `

ที่ไหน เป็นไฟล์ที่มีรหัสกระบวนการของปากกา ตามที่เขียนโดยตัวเลือก -p

การส่งปากกาเป็นสัญญาณ TERM จะทำให้ออกจากไฟล์ได้อย่างหมดจด ปิดไฟล์บันทึกและเปิดทั้งหมด
ซ็อกเก็ต

OPTIONS


-C พอร์ต|/เส้นทาง/ถึง/ซ็อกเก็ต
ระบุพอร์ตควบคุมที่โหลดบาลานเซอร์รับฟังคำสั่ง ดู penctl.1
สำหรับรายการคำสั่งที่ใช้ได้ โปรโตคอลไม่ได้รับการตรวจสอบสิทธิ์และ
ผู้ดูแลระบบควรจำกัดการเข้าถึงโดยใช้รายการควบคุมการเข้าถึง (for
การเชื่อมต่อผ่านเครือข่าย) หรือการอนุญาตไฟล์ Unix (สำหรับซ็อกเก็ตโดเมน Unix)
โดยปกติปากกาจะปฏิเสธที่จะเปิดพอร์ตควบคุมหากทำงานเป็นรูท เจอกัน
ตัวเลือก. หากคุณยังคงยืนยันว่าคุณต้องการเรียกใช้ปากกาในฐานะรูทด้วยพอร์ตควบคุม
ใช้ "-u root"

-F cfgfile.cfgfile
ตั้งชื่อไฟล์การกำหนดค่าด้วยคำสั่งในรูปแบบ penctl (ดู penctl.1) ไฟล์
ถูกอ่านหลังจากประมวลผลอาร์กิวเมนต์บรรทัดคำสั่งทั้งหมดและหลังจากได้รับ HUP
ส่งสัญญาณ

-H เพิ่ม X-Forwarded-For header ไปยังคำขอ http

-U ใช้การสนับสนุนโปรโตคอล udp

-O คำสั่ง
อนุญาตให้ใช้คำสั่ง penctl ส่วนใหญ่บนบรรทัดคำสั่งของ Pen

-P ใช้โพล () สำหรับการแจ้งเตือนเหตุการณ์

-Q ใช้ kqueue() สำหรับการแจ้งเตือนเหตุการณ์ (BSD)

-W ใช้น้ำหนักสำหรับการเลือกเซิร์ฟเวอร์

-X เพิ่มคำสั่ง exit ไปยังส่วนต่อประสานการควบคุม

-a ใช้ร่วมกับ -dd เพื่อรับการถ่ายโอนข้อมูลการสื่อสารใน ascii แทนที่จะเป็น
รูปแบบเลขฐานสิบหก

-b วินาที เซิร์ฟเวอร์ที่ไม่ตอบสนองจะถูกขึ้นบัญชีดำ กล่าวคือ ถูกแยกออกจากเซิร์ฟเวอร์
อัลกอริธึมการเลือก สำหรับจำนวนวินาทีที่ระบุ (ค่าเริ่มต้น 30)

-T วินาที ลูกค้าจะถูกติดตามตามจำนวนวินาทีที่ระบุเพื่อส่งไปยัง
เซิร์ฟเวอร์เดียวกันกับครั้งที่แล้ว (ค่าเริ่มต้น 0 = ไคลเอ็นต์ไม่มีวันหมดอายุ)

-c N จำนวนไคลเอนต์สูงสุด (ค่าเริ่มต้น 2048)

-d การดีบัก (ทำซ้ำ -d เพื่อดูเพิ่มเติม) เอาต์พุตไปที่ stderr หากเรากำลังทำงานใน
เบื้องหน้า (ดู -f) และ syslog (ผู้ใช้สิ่งอำนวยความสะดวก การดีบักลำดับความสำคัญ) มิฉะนั้น

-e โฮสต์:พอร์ต
host:port ระบุเซิร์ฟเวอร์ฉุกเฉินที่จะติดต่อหากเซิร์ฟเวอร์ปกติทั้งหมดกลายเป็น
ไม่พร้อมใช้งาน

-f อยู่ในเบื้องหน้า

-h ใช้แฮชกับที่อยู่ IP ของไคลเอ็นต์สำหรับการเลือกเซิร์ฟเวอร์เริ่มต้น สิ่งนี้ทำให้
สามารถคาดเดาได้มากขึ้นว่าลูกค้าจะเชื่อมต่อที่ไหน

-i บริการ_ชื่อ
Windows เท่านั้น ติดตั้งปากกาเป็นบริการ

-j dir ทำงานในสภาพแวดล้อม chroot

-l ไฟล์
เปิดการบันทึก

-m multi_accept
ยอมรับได้ถึง multi_accept การเชื่อมต่อขาเข้าในแต่ละครั้ง

-p ไฟล์
เขียน pid ของ daemon ที่กำลังรันไปที่ ไฟล์.

-q สิ่งที่ค้าง
อนุญาตให้คิวของการเชื่อมต่อขาเข้าที่รอดำเนินการเพิ่มขึ้นสูงสุด สิ่งที่ค้าง
รายการ.

-r ตรงไปที่การเลือกเซิร์ฟเวอร์แบบปัดเศษโดยไม่ต้องค้นหาว่าเซิร์ฟเวอร์ใดa
ลูกค้าใช้ครั้งสุดท้าย

-s การเลือกเซิร์ฟเวอร์ที่ดื้อรั้น: หากตัวเลือกเริ่มต้นไม่พร้อมใช้งาน ลูกค้า
การเชื่อมต่อถูกปิดโดยไม่ต้องลองเซิร์ฟเวอร์อื่น

-t วินาที เชื่อมต่อหมดเวลาเป็นวินาที (ค่าเริ่มต้น 5)

-u ผู้ใช้งาน
Posix เท่านั้น เรียกใช้ในฐานะผู้ใช้อื่น

-u บริการ_ชื่อ
Windows เท่านั้น ถอนการติดตั้งบริการ

-x N จำนวนการเชื่อมต่อพร้อมกันสูงสุด (ค่าเริ่มต้น 500)

-w ไฟล์
ไฟล์สำหรับรายงานสถานะในรูปแบบ HTML

-o ตัวเลือก
ใช้ตัวเลือกในรูปแบบ penctl

-E ใบรับรองไฟล์
ใช้ใบรับรองที่กำหนดในรูปแบบ PEM

-K ไฟล์คีย์
ใช้คีย์ที่กำหนดในรูปแบบ PEM (อาจมีอยู่ในใบรับรอง)

-G ไฟล์ Cacert
ไฟล์ที่มีใบรับรองของ CA

-A คาเซอร์เดียร์
ไดเรกทอรีที่มีใบรับรอง CA ในรูปแบบแฮช

-Z ใช้โหมดความเข้ากันได้ของ SSL

-R ต้องการใบรับรองเพียร์ที่ถูกต้อง

-L โปรโตคอล
ssl23 (ค่าเริ่มต้น), ssl3 หรือ tls1

[โฮสต์:] พอร์ต OR /path/to/socket
ที่อยู่ในท้องถิ่นและปากกาพอร์ตรับฟัง โดยค่าเริ่มต้น ปากกาจะฟังเสียงในเครื่องทั้งหมด
ที่อยู่ ปากกายังสามารถใช้ซ็อกเก็ตโดเมน Unix เป็นที่อยู่ฟังในเครื่องได้

h1:p1:นุ่ม:แข็ง:น้ำหนัก:prio
ที่อยู่ พอร์ต และจำนวนสูงสุดของการเชื่อมต่อพร้อมกันสำหรับรีโมท
เซิร์ฟเวอร์ โดยค่าเริ่มต้น พอร์ตจะเหมือนกับพอร์ตในเครื่อง และขีดจำกัดซอฟต์บน
จำนวนการเชื่อมต่อไม่ จำกัด ฮาร์ดลิมิตใช้สำหรับลูกค้าที่
เคยเข้าใช้เซิฟเวอร์มาก่อน น้ำหนักและพรีโอใช้สำหรับน้ำหนักและ
อัลกอริธึมการเลือกเซิร์ฟเวอร์ตามลำดับความสำคัญ

ข้อ จำกัด


ปากกาทำงานในกระบวนการเดียว และเปิดสองซ็อกเก็ตสำหรับการเชื่อมต่อแต่ละครั้ง ขึ้นอยู่กับ
การกำหนดค่าเคอร์เนล ปากกาสามารถหมดตัวอธิบายไฟล์

รองรับ SSL หากปากกาถูกสร้างขึ้นด้วยตัวเลือก --with-ssl

รองรับ GeoIP หากปากกาถูกสร้างขึ้นด้วยตัวเลือก --with-geoip

ใช้ปากกาออนไลน์โดยใช้บริการ onworks.net



โปรแกรมออนไลน์ Linux และ Windows ล่าสุด