5. 应用服务器与微服务 - JavaEE基础系列

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 本文是JavaEE基础系列的第五节。Java EE简介 - JavaEE基础系列JSR简介 - JavaEE基础系列什么是JSR参考实现? - JavaEE基础系列什么是应用服务器? - JavaEE基础系列Microservices(微服务) 是当今世界最火爆的软件架构。

本文是JavaEE基础系列的第五节。

  1. Java EE简介 - JavaEE基础系列
  2. JSR简介 - JavaEE基础系列
  3. 什么是JSR参考实现? - JavaEE基础系列
  4. 什么是应用服务器? - JavaEE基础系列

Microservices(微服务) 是当今世界最火爆的软件架构。相比早期的软件工程, 微服务已经变成了一种新的 面向服务的架构(SOA)

本质上, 微服务是将系统拆分成多个不同的组件, 互相之间协调组织成为一个整体。有人认为, Java EE 应用服务器太重了, 只适合开发单体应用, 不再是企业级服务的核心。

但我认为这种说法是有问题的, Java EE 非常适用于微服务架构开发. 最最核心的是, 微服务的运行时是自包含的(self-contained), 代码和依赖都放在一起. 同时, 微服务占用的空间小, 理论上可以部署到任何平台上。

关于self-contained的介绍 ,请参考: 使用Java构建微服务: http://dockone.io/article/804

有很多支持 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日

原文链接: https://pedanticdevs.com/2017/07/java-ee-fundamentals-microservices.html

翻译日期: 2017年7月28日

翻译人员: 铁锚: http://blog.csdn.net/renfufei

目录
相关文章
|
24天前
|
存储 缓存 前端开发
如何优化 SSR 应用以减少服务器压力
优化SSR应用以减少服务器压力,可采用代码分割、缓存策略、数据预加载、服务端性能优化、使用CDN、SSR与SSG结合、限制并发请求、SSR与CSR平滑切换、优化前端资源及利用框架特性等策略。这些方法能有效提升性能和稳定性,同时保证用户体验。
|
1月前
|
运维 持续交付 开发工具
深入浅出:GitOps在微服务架构中的应用
【10月更文挑战第26天】本文深入探讨了GitOps在微服务架构中的应用,介绍了其核心理念、自动化部署流程和增强的可观测性。通过实例展示了GitOps如何简化服务部署、配置管理和故障恢复,并推荐了一些实用工具和开发技巧。
|
2月前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
78 2
|
27天前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
12天前
|
运维 Kubernetes Docker
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
29 1
|
26天前
|
监控 Go API
Go语言在微服务架构中的应用实践
在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出,成为构建微服务的理想选择。本文将探讨Go语言在微服务架构中的应用实践,包括Go语言的特性如何适应微服务架构的需求,以及在实际开发中如何利用Go语言的特性来提高服务的性能和可维护性。我们将通过一个具体的案例分析,展示Go语言在微服务开发中的优势,并讨论在实际应用中可能遇到的挑战和解决方案。
|
28天前
|
Go 数据处理 API
Go语言在微服务架构中的应用与优势
本文摘要采用问答形式,以期提供更直接的信息获取方式。 Q1: 为什么选择Go语言进行微服务开发? A1: Go语言的并发模型、简洁的语法和高效的编译速度使其成为微服务架构的理想选择。 Q2: Go语言在微服务架构中有哪些优势? A2: 主要优势包括高性能、高并发处理能力、简洁的代码和强大的标准库。 Q3: 文章将如何展示Go语言在微服务中的应用? A3: 通过对比其他语言和展示Go语言在实际项目中的应用案例,来说明其在微服务架构中的优势。
|
25天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
25天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
1月前
|
JavaScript 持续交付 Docker
解锁新技能:Docker容器化部署在微服务架构中的应用
【10月更文挑战第29天】在数字化转型中,微服务架构因灵活性和可扩展性成为企业首选。Docker容器化技术为微服务的部署和管理带来革命性变化。本文探讨Docker在微服务架构中的应用,包括隔离性、可移植性、扩展性、版本控制等方面,并提供代码示例。
57 1