本文是JavaEE基础系列的第五节。
Microservices(微服务) 是当今世界最火爆的软件架构。相比早期的软件工程, 微服务已经变成了一种新的 面向服务的架构(SOA) 。
本质上, 微服务是将系统拆分成多个不同的组件, 互相之间协调组织成为一个整体。有人认为, Java EE 应用服务器太重了, 只适合开发单体应用, 不再是企业级服务的核心。
但我认为这种说法是有问题的, Java EE 非常适用于微服务架构开发. 最最核心的是, 微服务的运行时是自包含的(self-contained), 代码和依赖都放在一起. 同时, 微服务占用的空间小, 理论上可以部署到任何平台上。
有很多支持 Java EE 的工具, 可以快速开发面向微服务的系统。下面是创建微服务的4种常用工具。
Payara Micro
Payara Micro 基于 Glassfish 开发, 是一款开源的 microservices 创建工具, 当前是 geared 版本. Payara Micro 专为容器/虚机环境设计, 支持各种配置管理工具, 如Chef, Ansible 和 Puppet 等. 可以非常方便地创建 java -jar 方式的企业级应用。
JBoss Wildfly Swarm
WildFly Swarm 使用一种全新的方法来打包和运行 Java EE 应用, 通过 “java -jar” 的方式即可启动服务. 本质是将 Java EE 依赖全部打包, 使得应用程序 war/jar 自包含(self contained)。
KumuluzEE
KumuluzEE 是一款开源的轻量级微服务框架. 其目的是通过 Java EE 技术开发微服务, 并将现有的 Java EE 应用迁移到 microservices 架构中。
Apache Meecrowave
Apache Meecrowave 是一款轻量级的 JAX-RS, CDI 和 JSON 服务器. 适用于 mentioned 方式的微服务开发。事实上, CDI运行时支撑了 Meecrowave - OpenWebBeans , 现在已经支持 CDI 2.0 (JSR 365)。
在后续文章中, 我们将依次介绍这些工具, 并通过实例进行讲解。
原文日期: 2017年7月23日
翻译日期: 2017年7月28日