开发者社区 > 云原生 > Serverless > 正文

在Serverless 应用引擎中,java项目迁移到SAE上需要做些什么改造吗?

请教一下,我们的java项目现在是跑在ECS的docker里面的,不是微服务架构的,迁移到SAE上需要做些什么改造吗?目前配置文件是外置的,通过启动参数指定的。如果是镜像部署的话,理论上是不需要做什么改造的,配置文件外置的具体是什么形式?

展开
收起
崔问问 2023-11-06 19:28:02 62 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    将 Java 应用从 ECS 迁移到 SAE 的过程需要进行一定的改造,但难度相对较小。以下是需要关注的部分:

    • 配置文件外置:由于 SAE 提供了更灵活的方式配置应用,因此您不再需要将配置文件外置。您可以在 SAE 中通过 K8S 的 ConfigMap 或 Secret 进行配置文件管理。
    • 微服务架构:SAE 提供了微服务框架的支持,如果您的应用是基于微服务架构,建议您使用 Kubernetes 部署。
    • 日志管理:如果您的应用采用了文件日志记录,您可能需要将它们转换为标准的日志收集组件,例如 Fluentd。
    • 自定义端口映射:您可以通过 Ingress 或 Service 容器暴露应用端口,并使用 Service 对象在外部访问。
    2023-11-07 11:34:08
    赞同 展开评论 打赏
  • 您好!对于将Java项目从ECS的Docker迁移到SAE的过程,一般来说,您不需要做太多修改,但具体还取决于您的项目结构和依赖情况。以下是一些常见的注意事项:

    1. 配置文件:在SAE上,您可以将配置文件作为环境变量传入,也可以将其保存在SAE的存储空间中,并通过SLS获取配置信息。
    2. 端口映射:在ECS的Docker中,您可以直接将端口映射到宿主机上;但在SAE中,您需要将应用暴露给外部网络,并设置相应的安全组规则来允许外部访问。
    3. 数据库连接:在ECS的Docker中,您可以直接使用本地的数据库连接;但在SAE中,您需要配置远程数据库连接,并使用SAE的安全组规则来允许访问。
    4. 日志收集:在ECS的Docker中,您可以直接将日志输出到宿主机上的文件系统;但在SAE中,您需要配置SLS日志收集功能,并将日志发送到SLS服务器。
    2023-11-06 21:36:40
    赞同 展开评论 打赏
  • docker run \
    --name=business \
    --volume=/nas:/nas:rw \
    --volume=/oss:/oss:rw \
    --volume=/opt/business:/opt/business:rw \
    --cap-add=SYS_ADMIN \
    --workdir=/opt/business \
    -p 9077:9077 \
    --restart=always \
    --log-opt max-size=1024m \
    --runtime=runc \
    --detach=true \
    hididi/centos7_jdk8:1.1 \
    java -Xms256m -Xmx2048m -Xmn265m -Dlogging.path=logs_9077 -jar /opt/business/business-0.0.1.jar --spring.config.location=/opt/business/application.yml 你打包出来镜像,直接用这个镜像部署就行了 此回答整理自钉群:【3群】Serverless应用引擎(SAE)用户群

    2023-11-06 21:07:25
    赞同 1 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • Serverless 应用引擎
  • 相关电子书

    更多
    Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
    The Reactive Cloud Native Arch 立即下载
    JAVA开发手册1.5.0 立即下载