Compojure:生产中的lein-ring?

时间:2011-10-16 22:50:55

标签: clojure leiningen compojure

似乎人们建议使用lein-ring来进行Compojure应用程序的简单部署。这不仅仅意味着发展吗?我用lein-ring和leiningen用uberjar打包的同一应用程序进行了基准测试(用java -jar执行,它包含环形码头)。

令我惊讶的是,lein-ring的性能甚至更好!我错过了什么吗?

如何继续使用lein-ring但是在出现异常情况时避免打印堆栈跟踪并避免检查已修改的文件?

由于

2 个答案:

答案 0 :(得分:3)

lein-ring将允许您轻松生成用于部署到容器的war文件(并作为lein-beanstalk的基础  为了便于部署到亚马逊的Elastic Beanstalk,但我不知道在生产中使用它的常见做法。当然是一种选择,但可能很少是最好的选择。我建议使用主机/容器推荐的方法进行部署;这通常意味着部署战争(可以使用lein-ring构建)或使用嵌入式Jetty实例的各种无容器部署(如Heroku与Leiningen一样)。

如果你想在生产中使用lein-ring但想要关闭它的开发时间功能(代码重新加载,堆栈跟踪渲染等),你必须设置{{1} }环境变量到RING_ENV,例如:

production

答案 1 :(得分:0)

lein-ring是一项仅限开发工具。当然,打包和部署应用程序的方式会对性能产生影响。你真的在这里比较苹果和苹果吗?

我发现lein-ring甚至只是嵌入式码头部署存在显着差异。

据说,lein-ring你错过了很多东西。将您的应用程序放在适当的容器中将在操作支持和可监控性方面提供更多。

相关问题