参考资料

  1. Pony 是一个高性能的 Python 异步网络框架
  2. Jenkins 是一个开源的持续集成和持续交付(CI/CD)工具
  3. Composer 是 PHP 的依赖管理工具
  4. Couchbase 是一个高性能、分布式 NoSQL 数据库,支持键值存储、文档存储和全文搜索功能。
  5. Neo4j 是一个高性能的 NoSQL 图形数据库
  6. SimpleDocker 是一个轻量级 Docker 管理工具
  7. Percona是一家提供开源数据库解决方案的公司,专注于MySQL、MongoDB、PostgreSQL等数据库的性能优化
  8. Wiki 是一个基于 Web 的协作式知识管理系统

Open Liberty简介

Open Liberty是由IBM开发的开源轻量级Java应用服务器,基于Jakarta EE和MicroProfile规范,专为云原生和微服务架构设计。

特点

  1. 模块化架构,按需加载功能

  2. 快速启动(通常<2秒)

  3. 低内存占用

  4. 支持热部署

  5. 内置配置服务器

  6. 支持Kubernetes和Docker

  7. 持续交付模式

最新更新

  • 最新稳定版本:23.0.0.6 (2023年5月发布)

  • 支持Java 17

  • 增强MicroProfile 6.0支持

  • 改进Kubernetes集成

下载地址

官网地址

https://openliberty.io/

文档地址

https://openliberty.io/docs/

Docker安装示例

docker pull icr.io/appcafe/open-liberty:full-java11-openj9-ubi
docker run -d -p 9080:9080 -p 9443:9443 --name liberty-server icr.io/appcafe/open-liberty:full-java11-openj9-ubi

server.yaml配置示例

server:
  httpPort: 9080
  httpsPort: 9443
  applications:
    - name: myapp
      location: /config/apps/myapp.war
  features:
    - mpHealth-3.0
    - jaxrs-3.0

常见问题

  1. 端口冲突错误:

    • 检查9080/9443端口是否被占用

    • 修改server.xml或server.yaml中的端口配置

  2. 类加载问题:

    • 检查jvm.options中的类路径设置

    • 确保依赖库版本兼容

  3. 启动超时:

    • 增加server.env中的START_TIMEOUT值

    • 检查应用初始化逻辑

  4. 内存不足:

    • 调整jvm.options中的-Xmx参数

    • 使用OpenJ9 JVM减少内存占用

  5. 配置错误:

    • 使用server dump命令检查配置

    • 验证server.xml/yaml语法