我的应用程序需要一个TCP端点和HTTP端点,PCF中是否可以将这两个路由绑定到同一个应用程序?
答案 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