在Java中创建微服务的正确途径是什么?Spring Boot或OSGI

Val*_*oks 8 spring osgi spring-dm spring-boot

我找到了一本书"Spring DM in action".当我开始检查Spring for OSGI的最新版本时,我发现Spring已经停止了这个项目.

由于我有一些在Spring中开发的经验,我想了解我是否应继续阅读有关Spring和OSGI或切换到Spring Boot作为创建模块化应用程序的方法?

Mar*_*ner 7

我想写一个评论,但它没有给我足够的字符.

如果你需要OSGi的模块化和动态,spring DM(现在的Gemini Blueprint)是一项不错的技术.我们用它来创建一个带有插件基础架构的高性能消息导向中间件.需要插件基础架构,因为客户希望能够在运行时通过Web界面添加/替换/更新模块和更改路由.每条消息也通过0-N groovy脚本进行转换(存储在db中,在运行时可更改).处理引擎基于弹簧批量和弹簧集成.

因此,如果您有一个真正的OSGi用例,它可能是一个不错的技术.

但是大多数时候人们都试图使用它来分离单片Web应用程序的各个层次,这是无用的,并且为您提供更多的工作而不是利润.一旦我看到一种方法,开发人员使用OSGi将他的每个域模型组分成一个小模块.这会损害您的应用程序设计,而不是从中获利,因为利润为空.

此外,本书可能是一个很好的主意,为您提供"如何开发"软件的不同方法.