文章图片
在过去的五年中 , 随着专门为支持新的微服务而构建的技术的发展 , 该行业出现了爆炸式的发展 。 但这并不意味着它们最适合每个人的需要 。 事实上 , 与通常在考虑技术堆栈的情况下开发的Monolith不同 , 微服务体系结构中的每个服务都可以使用基于其自身功能的不同框架构建 。 我们将介绍一些最流行的构建微服务的java框架——传统框架和容器专用框架 。 想学习java技术 , 建议考虑报名参加Java培训 , 有明确的学习路线和全面系统的课程 , 能获得较快提升 。
1.用于微服务的JakartaEE/Java EE
经典的JavaEE(现在称为JakartaEE(JEE))构建应用程序的方法是面向独石的 。 传统上 , 使用JavaEE构建的企业应用程序将打包到单个EAR(企业存档)部署单元中 , 其中包括WAR(Web存档)模块和JAR(Java存档)文件 。
尽管没有任何技术限制排除在微服务体系结构中使用JEE的可能性 , 但存在着巨大的间接成本 。 每个服务都需要打包为一个独立的单元 , 这意味着它应该部署在自己的JEE服务器中 。 这可能意味着部署几十台甚至数百台应用服务器来支持典型的企业应用程序 。
幸运的是 , 社区很早就注意到标准JEE没有解决微服务引入的新构建挑战 。 自2016年以来 , 许多额外的开源项目已经开始支持JEE中构建的微服务 。
EclipseMicropofile是一组基于JEE技术的不断增长的API 。 它是一个用于构建企业Java微服务的操作系统社区规范 , 由业内一些知名公司支持 , 包括Oracle、RedHat和IBM 。
2.Spring(Spring Boot 和Spring Cloud)
Spring是构建Java应用程序最流行的框架之一 , 与Java/JakartaEE一样 , 它也可以用于构建微服务 。 正如他们所说 , “[微服务
在流程级别上做的事情 , 与Spring在组件级别上做的事情一样 。 ”通过java培训 , 你可以学习更多java工具 , 以提高java技能 。
不过 , 要在Spring框架上启动并运行具有微服务体系结构的应用程序 , 这并不是最简单的过程……你需要使用Spring云(充分利用Spring引导)、几个NetflixOSS项目 , 最后还要使用一些Spring“配置魔法” 。
Spring为微服务的开发做好了充分的准备 , 并提供了一个围绕外部开源项目的产品 , 以解决运营角度的问题 。 但这并不意味着这会很容易 。
3.Lagom(Lightbend)
Lightbend为我们提供了另一种选择 。 继续使用相同的主题 , Lagom在Lightbendstack上包裹Play和Akka , 以提供一种更简单的方式构建微服务 。 他们的重点不仅是为那些转向微服务的人提供一个简单的解决方案 , 而且要确保这些微服务易于扩展和响应 。
“大多数微服务框架都专注于简化单个微服务的构建——这是最简单的部分 。 Lagom将其扩展到了微服务系统和大型系统——这是最困难的部分 , 因为我们面临着分布式系统的复杂性 。 ”
Lagom在一个框架中利用了Lightbend的功能 , 专门为构建跨大型部署有效扩展的反应式微服务而设计 。 他们不仅关注单个微服务 , 而且关注整个系统 。
4.Dropwizard
与本文中介绍的其他框架不同 , Dropwizard是一个Java框架 , 用于开发操作友好、高性能、RESTfulweb服务 。 一个固执己见的Java库集合 , 使构建生产就绪的Java应用程序变得更加容易 。
Dropwizard模块允许连接Dropwizard核心以外的其他项目 , 还有一些由社区开发的模块用于连接NetflixEureka等项目 , 类似于SpringCloud 。 想要学习java更多知识和技能 , 在java培训中 , 也有很多关于java安全工具的学习 , 理论知识+实践项目 , 双管齐下 , 学以致用 , 让你深入浅出地学习java 。
- javascript|Web前端培训:什么是 MEAN Stack?
- javascript|奢侈品级别音响B&W加持,峰米向行业第一发起冲击?
- 大数据|山东拟新开通5G基站6万个,新培育5个以上工业互联网园区
- Java|带你入门Java之每日3分钟Java——数据类型和常量变量
- Java|慎入慎入!!又是被互联网“美人”诈骗的一天!
- Java|假如让谷歌浏览器进入中国市场,国产浏览器会受到很大影响吗?
- javascript|帕特·基辛格被任命为英特尔CEO已有一年
- Java|重磅丨屯粮积草网与腾讯达成2022年度战略合作,实现主流搜索引擎全覆盖!
- 阿里巴巴|Java程序员从携程、美团、阿里面试回来,这些面经分享给大家
- 软件|ui设计培训需要学什么软件?