Mam aplikację jednowątkową Rails uruchomioną na cienkim w trybie jednowątkowym na Heroku Cedar.W jaki sposób moja aplikacja jednowątkowa Rails obsługuje żądania równoczesne?
Podczas gdy wykonuję duże zlecenie POST (przesyłanie pliku), które trwa dłużej niż minutę, mogę wykonywać inne żądania GET w tym samym czasie.
Wsparcie Heroku zapewnia, że ich warstwa routingu nie zapisuje żądania, a następnie wysyła je wszystkie naraz (co jest zachowaniem wielu serwerów proxy, takich jak nginx). Upierają się, że moja aplikacja obsługuje równoczesne żądania.
Co tu się dzieje?
interesujące - jeśli to prawda, jestem zaskoczony, że zachowanie cienkich nie mówi o więcej. to tak, jakby miał przed sobą swoje własne małe mini proxy, poprawiające współbieżność. czy znasz część cienkiego kodu, na który mogłem spojrzeć, aby zrozumieć to zachowanie? –
Nie zaglądałem do kodu cienkiego, ale logicznie, powinna to być warstwa sieciowa. Nie wiem, czy łatwo jest to zidentyfikować w źródłach. –
Wygląda na twórcę cienkich wyrazów: https://groups.google.com/forum/#!msg/thin-ruby/uKLD-qob6Kc/gH8b4MPATI8J –