【问题标题】:Containers (Kubernetes) vs Web service (REST APIs)容器 (Kubernetes) 与 Web 服务 (REST API)
【发布时间】:2021-03-25 03:14:24
【问题描述】:

我有一个用 Java 开发的单屏桌面应用程序。它是一个转换文件的工具,给定一个 .abc 格式的文件,该工具会将其转换为 .xyz 格式。基本上,该工具可以离线工作并充当翻译器,将文件从一种形式转换为另一种形式。

所以现在,为了改进基础设施,有人讨论将该工具移至 Kubernetes 或为文件转换提供 REST 服务。作为前端开发人员,我完全不了解容器和 REST API。

关于该工具的更多信息,正如我之前所说,该工具是一个单页应用程序,非常轻巧,工作量极少,大约有 200 个用户使用。那么,这就是应用程序的形状和大小,哪一个是最好的方法,为什么?基本上,我正在寻找一份关于 Kubernetes vs REST 服务和架构推荐的简短评估报告。

【问题讨论】:

  • 你可以在 kubernetes 上运行一个 REST 服务就好了,所以这不是一个非此即彼的情况。你想解决什么问题?大多数人不需要 Kubernetes。这是一个很难理解的复杂系统,它实际上只对 1% 最大的安装有好处。前面还有很多更简单的事情。

标签: rest web-services kubernetes containers


【解决方案1】:

目前您的应用程序是一个独立的应用程序,这是一个相当古老的概念。 我可以提一下,当您的文件转换逻辑将通过 Kubernetes 世界中的 Rest Api 公开时,需要进行高级别的更改。

您可以逐一浏览以下提到的领域,以更好地理解设计:

  1. java 代码将是一个后端代码,其从 UI 操作获取输入的公共方法将通过 rest API 公开。 有多个 rest API(jersey、rest easy 等,或者 spring/spring-boot 框架也提供了 rest API 支持),您可以通过其中任何一个来了解。
  2. 一旦您的后端通过其余 API 公开,则需要对其进行容器化,这意味着您的后端将在容器下运行。可以浏览 docker 文档并可以构建一个示例容器化应用程序。该区域存在大量材料。
  3. 一旦你的后端被容器化,它就会被安装在一个 Kubernetes 集群中 Kubernetes 基本上是一个容器编排工具,它是一个相当广泛的东西。大家可以通过它的官方文档进行基本的了解。
  4. SPA 将像今天一样在客户端计算机上运行,​​您也可以从桌面启动,但它会与您的应用程序当前打包在容器中的 Kubernetes 集群通信。

参考资料: 码头工人: https://docs.docker.com/

Kubernetes: https://kubernetes.io/

【讨论】:

    猜你喜欢
    • 2019-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    • 2018-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多