It looks to provide a simple and high performance request/response pipeline to Rack apps, allowing it to be used by nearly all ruby web applications. Today, Puma runs on all Ruby implementations, but will always run best on any implementation that provides true parallelism. Incorporating these ideas, Puma was born from Mongrel and began moving forward. Tuning for the capability and patterns that these implementations provide meant rethinking how requests entered the system and were handled. Second, Puma is designed to be used on a Ruby implementation which provides true parallelism, such as Rubinius and JRuby. Mongrel was written in a pre-Rack world, so the first thing Puma did was cut out all the unnecessary abstractions and support the Rack interface directly. Firstly, the Ruby world has moved almost entirely to use Rack as the primary interface for web apps. The primary element that remains is Mongrel's great HTTP parser written in ragel and executed in either C or Java, depending on the ruby implementation.Įvan Phoenix looked at Mongrel and saw a chance to take the idea and move it forward to incorporate two elements absent from the original work. Puma comes from a long line of ruby webservers derived from Zed Shaw's seminal work on Mongrel.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |