为什么Sparkjava不适合生产环境?

13

不是Apache Spark,而是Sparkjava。我发现它是API中最简单的方法,也是我最喜欢的方法,但是每个人都说它不应该用于生产,但没有人给我一个好的答案。你们有没有发现任何不稳定性、安全漏洞或其他问题?


6
你有任何关于谁说不应该将其用于生产的来源吗? - puhlen
2
我在生产中使用spark-java,并且对它感到满意! - cello
@cello,你能否提供更多关于你所使用的设置的细节,以便我可以有一个良好实际团队使用它的例子? - cody.tv.weber
5
虽然有些晚了,但我的团队自2015年以来一直在使用Spark Java运行系统。我们拥有超过3000万注册用户和每天50000个注册。谁需要依赖注入和所有那些臃肿的东西呢?简单胜过任何时候的“魔术”运行。 - paulrene
我同意你的看法。 - cody.tv.weber
显示剩余5条评论
2个回答

19

感谢你提出这样一个好问题,我想直接回答它并不简单。让我先说说,我们已经使用Java Spark进行微服务开发有一段时间了,期间遇到的挑战如下:

  1. 相对于其他框架(例如Spring Boot、restlet)来说,关于Java Spark 的材料在互联网上可用性较低。因此,大多数情况下,如果你遇到问题,你必须自己解决。

  2. 没有依赖注入机制。我们不得不与Spring一起使用Java Spark才能获得这个功能。

  3. 当你想将你的微服务与服务发现工具或API网关集成时,在互联网上很难找到足够的信息。

  4. 将Spark与swagger集成是一件头痛的事情。我们花了好几天的时间才弄清楚如何做。

  5. 作为仍在不断发展阶段的框架,我们不建议在生产中使用类似这样的框架。

尽管如此,使用Spark Java创建微服务应用程序非常容易。向他们致敬!

请参考以下链接获取更多信息:


谢谢,这有助于理解一个真实团队所面临的现实挑战,而不是我从其他人那里听到的许多猜测。 - cody.tv.weber
1
你可以放弃使用Spring Boot,直接使用Spark。 - LEMUEL ADANE
1
请查看 https://serol.ro/posts/2016/swagger_sparkjava/ 和 https://github.com/manusant/spark-swagger 上的 SparkJava + Swagger 解决方案。 - Zon

10

这完全取决于选择。Spark 旨在非常简单,只需要最少的依赖即可快速构建 Web 应用程序。使用 Spark 可以仅使用 JSE8 平台构建 Web 应用程序,而大多数其他现有技术则需要 JEE,这将会极大地增加使用它们的学习曲线。

在部署应用程序时,请注意大多数云服务器和主机商默认不支持轻量级框架 Spark,因此您最终需要自己实现部署策略。但是您可以轻松地在这些服务上部署 Apache 或 Java EE 应用程序,并且可以像文档中描述的那样将 Spark 轻松包装在 Apache 或 JEE Web 服务器中。


谢谢,这让我期待如果我选择传统的服务设置方式,那么设置将是一个问题。我可能会找到一个简单的方法或与可扩展容器有关的东西。 - cody.tv.weber

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接