5 ms·
One thing that I don't understand is why Mongrel2 didn't really took off in the webserver world. It seems a complete product and the concept behind it is very n
by agopaul 12y ago
One thing that I don't understand is why Mongrel2 didn't really took off in the webserver world. It seems a complete product and the concept behind it is very nice.
Plus, it doesn't need any external module to work with a specific language, given that ZeroMQ is used to communicate with the backend.
- marktangotango 12y agoMy hypothesis is because of zeromq, I basically have to code a zeromq client as the backend. This is not convenient; I don't get to use any of the existing frameworks in my ecosystem. Plus since zeromq messages are defined by length, I've always wondered how one would stream data in the response, ie one would have to know the response size before sending back thru to mongrel2. If anyone has experience with using mongrel2, I'd love to hear, I have not been interested enough to go research it myself however.
- gnud 12y agoI've never used mongrel2, but I've drooled a bit over it. They have a 'mp3stream' example at https://github.com/zedshaw/mongrel2/blob/master/examples/mp3stream/ https://github.com/zedshaw/mongrel2/blob/master/examples/mp3...
- agopaul 12y agoWell, there are already libraries which abstracts the ZeroMQ layer with Request/Response interfaces. A few months ago I hacked a bit with a Zend Framework 1 application and Mongrel2 and it worked well, although zf1 is not the best example given the fact that it was designed to work in a classic mod_php environment where the PHP process doesn't keep its state between requests.
- danudey 12y agoAt first blush, it didn't seem implausible to write a ZeroMQ SAPI, like PHP-FPM, or to modify an existing SAPI (e.g. FPM) to consume ZeroMQ sockets. I was actually really excited to see where people would take that. What I realized later was that it didn't happen because a lot of PHP is deployed to shared/managed hosts, and people willing/able to deploy code like Mongrel2 are unlikely to be using PHP. The venn diagram of 'people capable of building out a PHP SAPI' and 'people interested in bleeding-edge experimentation like Mongrel2' doesn't overlap enough to produce results.
- reitanqild 12y agoIt surprised me as well. Maybe because of Zed. I like him though. I also have a distant memory of Mongrel2 being licensed under AGPL. In fact I just googled it and yes, it was licensed under AGPL but it now seems to be BSD-licensed.
- deweller 12y agoI feel like Zed gave up on this project too early. He created it, gave it an initial promotional push and then "turned it over to the community." There were a faithful few people who kept contributing to the project, but it did not have anyone pushing the project forward significantly after Zed left.
- danudey 12y agoI liked him, and then one day he was being a complete asshole about something (as I recall he was making shitty comments about people who buy Apple products), I tweeted him saying 'using inflammatory and hostile language doesn't help you get your point across', and he said 'THANKS DAD' and blocked me. So, I dunno. He's a smart programmer and a smart person, but flipping your shit on Twitter doesn't really make a whole lot of sense.
- marktangotango 12y agoI like him too, he's brash, works on interesting stuff, and most importantly, put it out there. His public persona engenders a strong response from some and has opened him up to a lot of criticism, which he's proven (countless times) he doesn't handle well. But then who does really?
- danudey 12y ago> But then who does really? The vast majority of people handle constructive criticism better than 'throw a tantrum on Twitter and block everyone who replies to you'.
- deweller 12y agoHere is my personal theory. The configuration was too hard. Configuration had to be compiled from a python-esque format into a database. When you wanted to change a config setting, you needed to modify the source file and then compile the config back into a database (sqlite, as I recall). I really wanted to like Mongrel2. But every time I went tried to change a configuration setting in development, I became frustrated. I think this is an example of trying to do too many new things at once. Just pick one thing (be an app server) and do it well. Even if compiling your config into a DB is a good idea, it won't matter if it makes it so hard to use your product that few people will.
- danudey 12y agoThe interesting ideas with Mongrel2 were 1. Being able to automatically adjust your configuration/db on the fly 2. Using ZeroMQ for everything so that you can tell your backends about your frontend and not vice-versa. Turns out neither one of those is really worth changing away from a static configuration like nginx or apache.