เซิร์ฟเวอร์ HTTP ประสิทธิภาพสูงสำหรับทับทิม
require 'agoo'
Agoo :: Server . init ( 6464 , './root' )
class MyHandler
def call ( req )
[ 200 , { } , [ "hello world" ] ]
end
end
handler = MyHandler . new
Agoo :: Server . handle ( :GET , "/hello" , handler )
Agoo :: Server . start ( )
# To run this example type the following then go to a browser and enter a URL
# of localhost:6464/hello.
#
# ruby hello.rb require 'agoo'
class Query
def hello
'hello'
end
end
class Schema
attr_reader :query
def initialize
@query = Query . new ( )
end
end
Agoo :: Server . init ( 6464 , './root' , thread_count : 1 , graphql : '/graphql' )
Agoo :: Server . start ( )
Agoo :: GraphQL . schema ( Schema . new ) {
Agoo :: GraphQL . load ( %^type Query { hello: String }^ )
}
sleep
# To run this GraphQL example type the following then go to a browser and enter
# a URL of localhost:6464/graphql?query={hello}
#
# ruby hello.rb gem install agoo
เนื่องจาก Agoo รองรับแอพที่เข้ากันได้กับชั้นวางคุณสามารถใช้งานได้สำหรับแอปพลิเคชัน Rails:
เพิ่ม agoo ลงใน gemfile:
# Gemfile
gem 'agoo'
ติดตั้งชุด:
$ bundle install
เริ่มรางด้วย agoo เป็นเซิร์ฟเวอร์:
$ rails server -u agoo
สนุกกับการแสดงที่เพิ่มขึ้น!
Agoo เป็นภาษาญี่ปุ่นสำหรับปลาบินประเภทหนึ่ง อัญมณีนี้บิน มันเป็นเซิร์ฟเวอร์ HTTP ที่มีประสิทธิภาพสูงที่ให้บริการทรัพยากรแบบคงที่ที่การดึงมาหลายแสนครั้งต่อวินาที Hello World Ruby Handler ที่มีคำขอมากกว่า 100,000 รายการต่อวินาทีบนคอมพิวเตอร์เดสก์ท็อป ที่วาง Agoo ที่เร็วกว่า Sinatra ประมาณ 85 เท่าและเร็วกว่ารางรถไฟ 1,000 เท่า ในทั้งสองกรณีเวลาแฝงเป็นสองคำสั่งของขนาดที่ต่ำกว่าหรือมากกว่า ชำระเงินเกณฑ์มาตรฐาน
Agoo รองรับ Ruby Rack API ซึ่งช่วยให้สามารถใช้อัญมณีที่เข้ากันได้กับชั้นวางเช่น Hanami และ Rails Agoo ยังรองรับ WebSockets และ SSE
Agoo ไม่สามารถใช้งานได้บน Windows
ตัวอย่างบางส่วนสามารถพบได้ในไดเรกทอรี example เอกสารอื่น ๆ ที่มีเอกสารเดินผ่านตัวอย่างของการใช้ agoo อยู่ในไดเรกทอรี misc ตัวอย่างเหล่านี้อธิบายไว้ในไฟล์ Markdown บางคนชอบตัวอย่างเพลงที่เรียบง่ายในขณะที่คนอื่น ๆ เช่นกาวซับซ้อนกว่า ตัวอย่างการเดินผ่านตัวอย่างคือ:
เวอร์ชัน 2.11.0 รองรับการสมัครสมาชิก GraphQL เพิ่มการสนับสนุน TLS (SSL, HTTPS) ตัวอย่างสำหรับทั้งสอง ที่เกี่ยวข้อง repo-benchmark graphql ได้รับมอบให้กับมาตรฐาน
Agoo มีโมดูล GraphQL ใหม่ที่มี API ที่ใช้งานง่ายและใช้งานง่าย เช็คเอาต์ตัวอย่างสวัสดีหรือเพลง อินโทรที่เป็นเครื่องมือของ GraphQL กับ Ruby คือการเดินผ่าน
Agoo เกิดขึ้นเป็นครั้งแรกเป็นปริมาณงานสูงสุดในการวัดค่ามาตรฐานเว็บ เวลาแฝงไม่ได้อยู่ที่ด้านบน แต่ปล่อย 2.5.2 ปรับปรุงสิ่งนั้น มาตรฐาน AGOO-C ที่ด้านบน เว็บเซิร์ฟเวอร์ที่เร็วที่สุดในทุกภาษา
Agoo แบบคลัสเตอร์พร้อมแล้ว สำหรับแอปพลิเคชันที่ช้าลงและเครื่องที่มีหลายคอร์การปรับปรุงที่สำคัญคือประสิทธิภาพที่เกิดขึ้นได้ แอปพลิเคชันจะต้องไร้สัญชาติโดยที่ไม่มีการแชร์ข้อมูลระหว่างคนงาน
ได้รับการสนับสนุน WebSocket และ SSE และส่ง PR เพื่ออัปเดตข้อมูลจำเพาะของชั้นวาง ไปที่ส่วนขยายของชั้นวางที่เสนอและให้ดูและยกนิ้วหรือหัวใจถ้าคุณชอบ
ตอนนี้ Agoo ให้บริการสินทรัพย์คงที่ทางรถไฟเร็วกว่า PUMA เริ่มต้นมากกว่า 8000 เท่า ถูกต้องเร็วกว่า 8000 เท่า
ดูไฟล์: changelog.md
รุ่นที่ทำจากสาขาหลัก สาขาเริ่มต้นสำหรับการชำระเงินคือสาขาพัฒนา การร้องขอแบบดึงควรทำกับสาขาพัฒนา
รับ Agoo ที่รองรับด้วยการสมัครสมาชิก TideLift รองรับการอัปเดตความปลอดภัย
เอกสาร : http://rubydoc.info/gems/agoo หรือ http://www.ohler.com/agoo/doc/index.html
GitHub repo : https://github.com/ohler55/agoo
Rubygems repo : https://rubygems.org/gems/agoo
Wabur repo : https://github.com/ohler55/wabur มีตัวเลือกให้ใช้ agoo
repo perfer : https://github.com/ohler55/perfer