我的应用程序需要一个TCP端点和HTTP端点,PCF中是否有可能将这两种路由绑定到同一应用程序?
是否可以将TCP和HTTP路由映射到Pivotal CF中的同一Spring Boot应用程序?
我做了一个快速测试,对我有用。
$ 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上侦听的应用程序。同样,如果您将HTTP请求发送到cf-tcpapps.io:3351
,它将被路由到同一应用程序实例,该实例也在容器内的端口8080上侦听。不同之处在于,第二个请求不会通过gorouter。两者最终最终都可以在端口8080上聆听您的应用程序。
您目前无法做的是让您的HTTP路由转到容器内的端口8080,并拥有TCP路线转到端口8081或某些不同的端口。目前不支持应用程序容器中的多个侦听端口。您需要两个单独的应用程序。
看起来现在可以映射到TCP端口,但是您需要使用cf curl
访问RAW API。找到了这种要点,它对我在GCP上运行的PCF 2.0对我来说有用。要点