Server http berkinerja tinggi untuk ruby
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
Karena Agoo mendukung aplikasi yang kompatibel dengan rak, Anda dapat menggunakannya untuk aplikasi Rails:
Tambahkan agoo ke gemfile:
# Gemfile
gem 'agoo'
Instal Bundle:
$ bundle install
Mulai rel dengan agoo sebagai server:
$ rails server -u agoo
Nikmati peningkatan kinerja!
Agoo adalah orang Jepang untuk jenis ikan terbang. Permata ini terbang. Ini adalah server HTTP berkinerja tinggi yang melayani sumber daya statis pada ratusan ribu pengambilan per detik. Pawang Ruby Hello World sederhana di lebih dari 100.000 permintaan per detik di komputer desktop. Itu menempatkan agoo sekitar 85 kali lebih cepat dari Sinatra dan 1000 kali lebih cepat dari rel. Dalam kedua kasus, latensi adalah dua urutan besarnya lebih rendah atau lebih. Lihat tolok ukurnya.
Agoo mendukung Rack Rack API yang memungkinkan penggunaan permata yang kompatibel dengan rak seperti Hanami dan Rails. Agoo juga mendukung Websockets dan SSE.
Agoo tidak tersedia di Windows.
Beberapa contoh dapat ditemukan di direktori example . Beberapa berjalan lain yang terdokumentasi melalui contoh menggunakan agoo ada di direktori misc . Contoh -contoh ini dijelaskan dalam file Markdown. Beberapa seperti contoh lagunya sederhana sementara yang lain seperti lem lebih kompleks. Jalan -contoh yang terdokumentasi melalui contoh adalah:
Versi 2.11.0 mendukung langganan GraphQL. Dukungan TLS (SSL, HTTPS) ditambahkan. Contoh untuk keduanya. Terkait, repo GraphQL-Benchmark diberikan kepada The-Benchmarker.
Agoo memiliki modul GraphQL baru dengan API yang sederhana dan mudah digunakan. Lihat contoh Hello atau Lagu. Intrumental intro ke GraphQL dengan Ruby berjalan melalui.
Agoo mengambil tempat pertama sebagai throughput tertinggi pada tolok ukur kerangka web. Latensi tidak ada di atas tetapi rilis 2.5.2 meningkatkannya. AGOO-C menonjolkannya di atas. Server web tercepat di semua bahasa.
Agoo berkerumun sudah siap. Untuk aplikasi yang lebih lambat dan mesin dengan beberapa core, peningkatan yang signifikan adalah kinerja yang direalisasikan. Aplikasi harus tidak memiliki kewarganegaraan karena tidak ada data yang dibagikan di antara pekerja.
Websocket dan SSE didukung dan PR telah dikirimkan untuk memperbarui spek rak. Pergi ke ekstensi rak yang diusulkan dan lihat dan jempol atau hati jika Anda menyukainya.
Agoo sekarang melayani aset statis rel lebih dari 8000 kali lebih cepat dari puma default. Itu benar, 8000 kali lebih cepat.
Lihat File: Changelog.md
Rilis dibuat dari cabang utama. Cabang default untuk checkout adalah cabang pengembangan. Permintaan tarik harus dilakukan terhadap cabang pengembangan.
Dapatkan agoo yang didukung dengan langganan tidelift. Pembaruan keamanan didukung.
Dokumentasi : http://rubydoc.info/gems/agoo atau 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 memiliki opsi untuk menggunakan agoo
Perfer Repo : https://github.com/ohler55/perfer