สายรุ้ง! เป็นเซิร์ฟเวอร์ HTTP สำหรับการใช้งาน Rack ง่วงนอน มันขึ้นอยู่กับยูนิคอร์น แต่ออกแบบมาเพื่อรองรับการใช้งานที่คาดหวังคำขอยาว / เวลาการตอบสนองและ / หรือลูกค้าช้า สำหรับการใช้งาน Rack ไม่ผูกพันอย่างมากจากการพึ่งพาเครือข่ายภายนอกช้าพิจารณายูนิคอร์นแทนขณะที่มันเรียบง่ายและง่ายต่อการแก้ปัญหา
สายรุ้ง! เป็นสิ่งที่แปลกยูนิคอร์นล้มเหลวได้ที่:
* API สำหรับบุคคลที่ 3 (การให้บริการนอกการควบคุมของคุณ / LAN)
* ผู้บริโภค OpenID (ผู้ให้บริการที่อยู่นอกการควบคุมของคุณ / LAN)
* กลับกันการใช้พร็อกซี่กับการแก้ไข / การเซ็นเซอร์ (เพื่อ upstreams นอกการควบคุมของคุณ / LAN)
* ดาวหาง
* เรื่องเหลวไหล (กับลูกค้าช้า)
* เซิร์ฟเวอร์ HTTP ผลักดัน
* การสำรวจยาว
* กลับอาแจ็กซ์
รุ้งอาจจะถูกนำมาใช้เพื่อให้บริการลูกค้าช้าแม้จะมีการใช้งานได้อย่างรวดเร็วโดยใช้รูปแบบการเห็นพ้องด้วยเรฟ
การติดตั้ง:
คุณสามารถดาวน์โหลด tarball จากหน้าโครงการสายรุ้งบน Rubyforge และเรียก setup.rb หลังจากที่แกะกล่องมัน
rubyforge.org/frs/?group_id=8977
นอกจากนี้คุณยังอาจติดตั้งผ่านทาง RubyGems ใน Rubyforge:
& nbsp; อัญมณีติดตั้งรุ้ง
การใช้งาน:
สำหรับการใช้งานชั้นวาง
ใน APP_ROOT (ที่ config.ru ตั้งอยู่) เรียกใช้:
& nbsp; รุ้ง
สายรุ้ง! จะผูกกับการเชื่อมต่อทั้งหมดในพอร์ต TCP 8080 โดยค่าเริ่มต้น
การตั้งค่าไฟล์ (s)
สายรุ้ง! จะมองหาไฟล์ config.ru ใช้โดย rackup ใน APP_ROOT
สำหรับการใช้งานก็สามารถใช้ไฟล์ config สำหรับยูนิคอร์นและสายรุ้ง! ตัวเลือกตัวเฉพาะที่ระบุโดย --config ไฟล์ / -c สวิตช์บรรทัดคำสั่ง สายรุ้ง! รับตัวเลือกทั้งหมดที่พบในยูนิคอร์น :: Configurator เช่นเดียวกับ & ldquo; สายรุ้งและ rdquo; บล็อกเพื่อให้คุณสามารถมีดังต่อไปนี้ในไฟล์ config ของคุณ:
& nbsp; สายรุ้ง! ทำ
& nbsp; การใช้งาน: Revactor
& nbsp; worker_connections 400
. & nbsp; ท้าย
คุณสมบัติ
- ได้รับการออกแบบสำหรับ Rack, มาตรฐานสำหรับการใช้งาน HTTP ทับทิมที่ทันสมัย
- สร้างขึ้นบนยูนิคอร์นสืบทอดกระบวนการ / คุณสมบัติการจัดการซ็อกเก็ตเช่นการอัพเกรดความโปร่งใสและการกำหนดค่าทับทิม DSL.
- เช่นเดียวกับยูนิคอร์นก็สามารถที่จะสตรีมร่างคำขอขนาดใหญ่ออกจากซ็อกเก็ตเพื่อการประยุกต์ใช้ในขณะที่ลูกค้ายังคงมีการอัปโหลด ตั้งแต่สายรุ้ง! สามารถจัดการกับลูกค้าช้าคุณลักษณะนี้จะมีประโยชน์มากขึ้นกว่าที่เป็นอยู่กับยูนิคอร์น.
- รวมเห็นพ้องเฮฟวี่เวท (กระบวนการของผู้ปฏิบัติงาน) โดยเห็นพ้องที่มีน้ำหนักเบา (นักแสดงหรือกระทู้) ช่วยให้ CPU / หน่วยความจำ / ดิสก์เพื่อปรับขนาดเป็นอิสระจากการเชื่อมต่อลูกค้า รุ่นเห็นพ้องด้วยทางเลือก (ระบุไว้ในสิ่งที่ต้องทำ) จะได้รับการสนับสนุนในขณะที่เราหาเวลาสำหรับพวกเขา.
มีอะไรใหม่ ในข่าวประชาสัมพันธ์นี้:
- ข่าวประชาสัมพันธ์ฉบับนี้เพิ่มหักหลังสนับสนุนสำหรับ Rack ผู้ใช้ 1.5.x ดูเอกสาร Rack สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการหักหลัง หลินเจนชินยังให้ -N / - ตัวเลือกไม่เริ่มต้นมิดเดิลแวร์ สะสางบรรจุภัณฑ์ไมเนอร์และเอกสาร HACKING ใหม่.
- นอกจากนี้ยังมีบางสิ่งที่ต้องมุมกรณีที่ * * * * * * * * epoll ผู้ใช้ (sleepy_penguin ข้อบกพร่องเหล่านี้ไม่ได้ส่งผลกระทบต่อผู้ใช้ EM หรือ Cool.io) และการปรับปรุงชุดทดสอบพกพา.
มีอะไรใหม่ ในรุ่น 4.4.3:
- ข่าวประชาสัมพันธ์ฉบับนี้แก้ไขสอง bugfixes EventMachine จากหลิน Jen- ชินและมาร์คเจ Titorenko นอกจากนี้ยังมีบางส่วนที่ยังไม่บรรลุนิติภาวะสะสาง.
มีอะไรใหม่ ในรุ่น 4.4.2:
- หนึ่ง bugfix ช่วยให้สตรีม (: keep_open) ในซินาตร้า ทำงานอย่างถูกต้อง.
มีอะไรใหม่ ในรุ่น 4.4.1:
- ตัวเลือกการเห็นพ้องด้วยไฟเบอร์ที่ใช้หลีกเลี่ยงช่วงเวลาการนอนหลับที่เป็นลบ ขอบคุณที่หลินเจนชินสำหรับชี้นี้.
มีอะไรใหม่ ในรุ่น 4.4.0:
- สำหรับ epoll / Cool.io ตามรูปแบบที่เห็นพ้องด้วย ปิด () ตอนนี้จะใช้ในการหมดเวลา keepalive ลูกค้าเพื่อหลีกเลี่ยงสภาพการแข่งขัน.
- การปรับปรุงเอกสารไมเนอร์ได้ทำ.
มีอะไรใหม่ ในรุ่น 4.3.1:
- ข่าวประชาสัมพันธ์ฉบับนี้แก้ไขการหยุดชะงัก reentrancy ที่อาจเกิดขึ้นเมื่อมีการใช้ คนตัดไม้ที่เริ่มต้นจากทับทิมห้องสมุดมาตรฐาน.
มีอะไรใหม่ ในรุ่น 4.3.0:
- สายรุ้งเลิก :: HttpResponse ชั้นจะหายไปในที่สุด ขอบคุณที่ Pratik Naik เข้าสู่ระบบของข้อผิดพลาดมากขึ้นสอดคล้องกับการเปลี่ยนแปลงใน 4.1.0 ยูนิคอร์น นอกจากนี้ยังมีการปรับปรุงเอกสารเล็กน้อย ดูหมายเหตุประกอบยูนิคอร์น 4.1.0 เปิดตัวสำหรับรายละเอียดเพิ่มเติมได้ที่: http://bogomips.org/unicorn.git/tag/?id=v4.1.0
มีอะไรใหม่ ในรุ่น 4.0.0:
- สายรุ้ง! ตอนนี้เครื่องชั่งน้ำหนักให้มากขึ้นกว่า 1024 คนงานกระบวนการโดยไม่มีสิทธิพิเศษ การเปิดใช้งานนี้สายรุ้ง! ตอนนี้ขึ้นอยู่กับ 4.x ยูนิคอร์นและทำให้เม็ดฝน [1].
- สั่ง client_max_header_size จะถูกเพิ่มในการ จำกัด การใช้หน่วยความจำต่อลูกค้าในส่วนหัว.
- เลือกที่เห็นพ้อง StreamResponseEpoll ทดลองตอนนี้ที่มีอยู่เพื่อตอบสนองบัฟเฟอร์ขาออกได้โดยไม่ต้องพึ่งพาด้ายปลอดภัยใด ๆ ซึ่งแตกต่างจากส่วนที่เหลือของสายรุ้ง! ซึ่งทำงานได้ดีโดยไม่ต้อง Nginx ตัวเลือกการทำงานพร้อมกันนี้ / เท่านั้น / สนับสนุนอยู่เบื้องหลัง Nginx มากยิ่งขึ้นอย่างมากดังนั้นกว่ายูนิคอร์นตัวเอง ลูกค้า LAN ที่ไม่ Nginx จะไม่ได้รับการสนับสนุนสำหรับการนี้ นี้อยู่บนพื้นฐาน sleepy_penguin [2] RubyGem (และลินุกซ์).
- มีบางแก้ไขข้อผิดพลาดและการสะสางทุกรอบ.
มีอะไรใหม่ ในรุ่น 3.4.0:
- SIGQUIT (ปิดสง่างาม) ในขณะนี้ลดลงลูกค้า keepalive ไม่ได้ใช้งาน สำหรับรุ่นที่เห็นพ้องที่การรักษาลูกค้าไม่ได้ใช้งานที่ค่อนข้างมีราคาไม่แพง: Coolio, CoolioThreadPool, CoolioThreadSpawn, epoll, EventMachine, XEpoll, XEpollThreadPool, XEpollThreadSpawn .
- Kgio.autopush ตอนนี้ทำงานอย่างถูกต้องสำหรับทุกรุ่นเห็นพ้องด้วยแบบมัลติเธรด (ถ้าคุณกำลังใช้: tcp_nopush).
- แก้ไขสถานที่สำหรับ grep
- t0044: เพิ่มความน่าเชื่อถือการทดสอบ
- try_defer: เปิดการใช้งานเอกสาร
- xepoll_thread_pool / ลูกค้า: ปรับปรุงการสนับสนุน autopush
- .gitignore: เพิ่มแท็ก / ไฟล์ TAGS
- เพิ่มการทดสอบสำหรับ Kgio autopush บน Linux
- เพิ่มการทดสอบ SIGQUIT ตัดการเชื่อมต่อ
- event_machine: ตัดการเชื่อมต่อลูกค้าไม่ได้ใช้งานที่เกี่ยวกับการ SIGQUIT
- ลูกค้า: ใช้ kgio_write ทั่วกระดาน
- Coolio * * * * * * * * + * epoll: ลดลงลูกค้า keepalive บน SIGQUIT
- epoll / xepoll: การใช้งานของลูกค้าสอดคล้องกันมากขึ้น
- เอกสาร: แนะนำ io_splice 4.1.1 หรือสูงกว่า
ต้องการ
- ทับทิม
ความคิดเห็นที่ไม่พบ