是否可以将TCP和HTTP路由映射到Pivotal CF中的相同Spring引导应用程序?

时间:2018-03-26 11:55:32

标签: spring-boot pivotal-cloud-foundry

我的应用程序需要一个TCP端点和HTTP端点,PCF中是否可以将这两个路由绑定到同一个应用程序?

2 个答案:

答案 0 :(得分:2)

  

是否可以将TCP和HTTP路由映射到Pivotal CF中的相同Spring引导应用程序?

我做了一个快速测试,它对我有用。

$ cf app php-info-cf
Showing health and status for app php-info-cf in org cf-support / space dmikusa as dmikusa@gopivotal.com...

name:              php-info-cf
requested state:   started
instances:         1/1
usage:             128M x 1 instances
routes:            php-info-cf.cfapps.io, cf-tcpapps.io:3351
last uploaded:     Mon 26 Mar 09:18:59 EDT 2018
stack:             cflinuxfs2
buildpack:         https://github.com/dmikusa-pivotal/php-buildpack#v4.3.51_bonus

     state     since                  cpu    memory          disk         details
#0   running   2018-03-26T13:19:49Z   0.3%   23.8M of 128M   204M of 1G

注意"路线:"列出HTTP&的行TCP路由。

那就是说,我不确定它会完全按照你的意愿行事。在上面的示例中,两个路由最终都被定向到应用程序容器中的同一端口。因此,对php-info.cfapps.io的HTTP请求转到GoRouter,后者将其发送到正在侦听容器内端口8080的app实例。同样,如果您向cf-tcpapps.io:3351发送HTTP请求,它将被路由到同一个应用程序实例,该实例也在容器内的端口8080上进行侦听。不同之处在于第二个请求不会通过GoRouter。最终两者最终都会通过端口8080收听您的应用程序。

您目前无法做的是将您的HTTP路由转到容器内的端口8080,并将TCP路由转到端口8081或某个不同的端口。此时不支持应用容器内的多个侦听端口。您需要两个独立的应用程序。

答案 1 :(得分:0)

看起来可以映射到tcp端口,但是您需要使用cf curl来访问原始api。找到了这个要点,它适用于在gcp上运行的pcf 2.0。 gist