无服务器计算:Cloud Foundry的Diego Elastic Runtime

时间:2019-03-15 22:36:01

标签: cloudfoundry serverless faas diego


我正在尝试理解无服务器架构,它指出了两点不同的内容:

  • 作为应用程序开发人员,您只考虑您的功能,而不考虑服务器的职责。嗯,服务器仍然必须存在。对于服务器,我在这里理解这两者的意思:

    • 在基础架构方面的物理服务器/ VM /容器
    • 以及软件方面的内容:例如Tomcat

    现在,我从事Cloud Foundry的研究,研究了ER,即Cloud Foundry的Diego体系结构以及Cloud Foundry的buildpack和开放式Service Broker API工具。实际上,Cloud Foundry还已经在“类似”模型上工作,其中应用程序开发人员专注于他的代码,并借助buildpack部署模型准备了具有所需Java运行时和Tomcat运行时的Droplet,然后使用它来创建花园容器服务用户请求。因此,开发人员不必担心Tomcat服务器或VM /容器来自何处。 那么,我们是否已经在Cloud Foundry中达到了这个要求?

  • 您的代码在执行期间就存在,然后死亡。我同意,这与我们在Cloud Foundry中编写的应用程序/微服务不同,因为它们是长时间运行的服务器进程。现在,如果要在Tomcat Web服务器上开发具有3个REST端点( myapp / resource1,myapp / resource2,myapp / resource3 )的Java Webapp /微服务,我需要:

    • 物理机,VM或容器
    • 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 个答案:

没有答案