基于Java构建微服务 -- 初步认识

  • Container-less的微服务是将应用程序以及所有的依赖库打包到单个的JAR文件中。

    Container-less方法使得所谓的单一JAR部署成为可能(也称作“fat JAR”部署),这意味着,应用及其依赖可以打包在一个单一的JAR文件,并作为一个独立的Java程序运行。

这种方法的优点是:当应用在进行扩展和收缩时,服务的启动和停止是极其轻松的。另一个优点是部署简单,你只需传递一个JAR文件。

该方法的缺点是lib库的兼容性,你需要自己独立解决一些像事务处理之类的事情,或者需要引入第三方lib库为方案提供支持。随后,如果你需要像持久性之类的支持,你可能需要面对lib库兼容性的问题。

  • Self-contained的微服务也是把所有打包到单个的JAR文件中,但是它包含一个嵌入式的框架,这个框架含有可选的兼容第三方库。

在此方法中,框架提供了所需服务的实现方法,开发者可以选择在项目中包括哪些服务。

该方法可能涉及Spring Boot、Wildfly Swarm之类的工具。

Spring Boot
Spring Boot和Spring Cloud Netflix的项目对使用Java来构建微服务提供了很好的支持。Spring Boot允许你挑选各种Spring生态系统中的工具,以及流行的第三方工具,并将这些工具和你的应用打包在一起。Spring Initializr使得你可以使用简单复选框列表的方式完成这一工作。

Wildfly Swarm
在Java EE中,和Spring Boot相对应是WildFly Swarm。它允许你根据自己的需求挑选Java EE 规范,然后把它们和你的应用程序打包成一个 jar 文件。

self-contained 方法的优点是你可以自主选择用于服务运行的项目。
这种方法的缺点是配置更加复杂,由于它在实际的服务中构建所需的容器功能,由此产生的 jar 文件也会稍大一些。

  • In-container的微服务则是把整个Jave EE容器以及其服务实现打包成单个Docker镜像。

微服务架构中的软件测试 http://geek.csdn.net/news/detail/80234

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值