代码之家  ›  专栏  ›  技术社区  ›  Sheel Pancholi

无服务器计算:Cloud Foundry的Diego Elastic运行时

  •  0
  • Sheel Pancholi  · 技术社区  · 7 年前

    我试图理解无服务器体系结构,它表达了两种截然不同的东西:

    • 作为一名应用程序开发人员,你只考虑自己的功能,而不考虑服务器的责任。 服务器肯定还在某个地方。说到服务器,我明白这意味着:

      • 在基础设施端,物理服务器/VM/容器
      • 还有软件方面的问题:比如Tomcat

      现在,我在Cloud Foundry工作,研究了Cloud Foundry的ER即Diego架构,以及Cloud Foundry的buildpack和open Service Broker API工具。实际上,Cloud Foundry也已经在一个“类似”的模型上工作,应用程序开发人员在buildpack的帮助下专注于自己的代码和部署模型,准备一个包含所需Java运行时和Tomcat运行时的水滴,然后使用它创建一个花园容器,为用户请求提供服务。因此,开发人员不必担心Tomcat服务器或VM/容器来自哪里。 那么,我们不是已经在Cloud Foundry中完成了这项任务了吗?

    • 代码在执行期间存在,然后消亡 .我同意这与我们在Cloud Foundry中编写的应用程序/微型设备不同,因为它们是长期运行的服务器进程。现在,如果我要开发一个带有3个REST端点的Java webapp/microservice( myapp/resource1、myapp/resource2、myapp/resource3 )可能在Tomcat Web服务器上,我需要:

      • 物理机器、虚拟机或容器,
      • Java运行时
      • Tomcat容器可以运行我的war文件。

      按照Serverless的建议,我推断我应该只专注于非常具体的功能,比如处理请求 myapp/resource1 .现在,在这种情况下:

      • 我对应的Java类应该是什么样子?
      • 在哪里可以访问由Tomcat运行时创建的J2EE对象,如HttpServletRequest或HttpServletResponse对象以及其他http或servlet或JAX-RS或Spring MVC提供的对象?
      • 我的Java类是否在一个容器中执行,该容器在执行期间创建,然后在执行后销毁?如果是,由谁管理此类容器的创建/销毁?
      • 甚至需要Tomcat吗?有没有一种完全不同的通用方式来处理对这三个REST端点的请求?它是否有点像使用python/Java CGI脚本处理http请求的httpd服务器?
    0 回复  |  直到 7 年前
    推荐文章