루비를위한 고성능 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 응용 프로그램에 사용할 수 있습니다.
gemfile에 Agoo를 추가하십시오.
# Gemfile
gem 'agoo'
번들 설치 번들 설치 번들 : 번들 설치 번들 번들 번들 설치 번들 번들 번들 설치 번들 번들 번들 설치 번들 번들은 번들 번들 설치 번들 - 번들 번들 - 번들 - 번들 번들. 번들 번들 번들.
$ bundle install
서버로 Agoo를 사용하여 레일을 시작합니다.
$ rails server -u agoo
증가 된 성능을 즐기십시오!
Agoo는 한 종류의 날아 다니는 물고기의 일본인입니다. 이 보석은 날아갑니다. 초당 수십만 개의 페치로 정적 리소스를 제공하는 고성능 HTTP 서버입니다. 데스크탑 컴퓨터에서 초당 100,000 개가 넘는 요청으로 간단한 Hello World Ruby 처리기. 이로 인해 Agoo는 Sinatra보다 약 85 배 빠르고 레일보다 1000 배 빠릅니다. 두 경우 모두 대기 시간은 2 배 낮은 순서였습니다. 벤치 마크를 확인하십시오.
Agoo는 Hanami 및 Rails와 같은 랙 호환 보석을 사용할 수있는 Ruby Rack API를 지원합니다. Agoo는 또한 Websockets 및 SSE도 지원합니다.
Windows에서는 Agoo를 사용할 수 없습니다.
몇 가지 예는 example 디렉토리에서 찾을 수 있습니다. AGOO 사용의 예를 통해 다른 문서화 된 도보는 misc 디렉토리에 있습니다. 이 예제는 Markdown 파일에 설명되어 있습니다. 노래 예제와 같은 일부는 단순하지만 접착제와 같은 다른 사람들은 더 복잡합니다. 문서화 된 보행 예제는 다음과 같습니다.
버전 2.11.0은 GraphQL 구독을 지원합니다. TLS (SSL, HTTPS) 지원이 추가되었습니다. 둘 다에 대한 예. 관련하여, 그래프 QL-Benchmark repo는 벤치 마커에게 제공되었습니다.
Agoo에는 간단하고 사용하기 쉬운 API가있는 새로운 GraphQL 모듈이 있습니다. Hello 또는 Song 예제를 확인하십시오. Ruby와 함께 GraphQL에 대한 도구 소개는 걸어 다니는 것입니다.
Agoo는 웹 프레임 워크 벤치 마크에서 가장 높은 처리량으로 1 위를 차지합니다. 대기 시간은 맨 위에 있지 않았지만 릴리스 2.5.2가이를 향상시킵니다. AGOO-C는 상단에서 벤치마킹합니다. 모든 언어에서 가장 빠른 웹 서버.
클러스터 된 Agoo가 준비되었습니다. 애플리케이션이 느려지고 여러 코어가있는 기계의 경우 성능이 크게 향상됩니다. 응용 프로그램은 근로자간에 데이터가 공유되지 않기 때문에 상태가 없어야합니다.
WebSocket과 SSE가 지원되며 PR이 랙 사양을 업데이트하도록 제출되었습니다. 제안 된 랙 확장으로 가서 마음에 들면 엄지 손가락이나 심장을 보여줍니다.
Agoo는 이제 기본 푸마보다 8000 배 이상 빠르게 Rails 정적 자산을 제공합니다. 맞습니다. 8000 배 더 빠릅니다.
파일 : changelog.md를 참조하십시오
릴리스는 마스터 브랜치에서 만들어집니다. 결제의 기본 지점은 개발 지점입니다. 개발 지점에 대한 풀 요청을 수행해야합니다.
TideLift 구독으로 지원되는 AGOO를 받으십시오. 보안 업데이트가 지원됩니다.
문서 : 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를 사용할 수있는 옵션이 있습니다.
Perfer Repo : https://github.com/ohler55/perfer