【问题标题】:Deploying microservices to Cloud Foundry将微服务部署到 Cloud Foundry
【发布时间】:2019-02-15 09:41:41
【问题描述】:
我使用 Spring Cloud 和 OSS 库开发了一个完整的微服务架构的简单原型,我可以在我的计算机上流畅地运行它。我正在尝试将整个东西部署到 Cloud Foundry,并通过文档我发现了很多讨论如何使用 PCF 发现服务的文章,但是如何使用我们的 eureka 服务器呢?我尝试使用user provided service,但即使重新暂存它们,我的微服务也无法绑定到 URL。我怎样才能做到这一点?
第二个问题是(如果我能让 eureka 工作):我是否应该将我的配置服务器也声明为用户提供的服务?
【问题讨论】:
标签:
java
spring-boot
microservices
spring-cloud
cloud-foundry
【解决方案1】:
关注文档create-user-provided-service
你应该首先像这样创建杯子:
- cf cups SERVICE_INSTANCE -p PATH_TO_FILE
该文件可以是一个 json 文件,其内容如下:{"key1":"value1","key2":"value2"}
- 通过位于您的应用目录中的 manifest.yml 文件将您的应用绑定到服务
services:
-SERVICENAME
-
像这样通过 application.yml 文件属性获取服务值
网址:${vcap.services.servicename.key1}
对于默认值,你可以这样做
网址:${vcap.services.servicename.key1:defaultURL}
在您创建了 cups、manifest.yml 和 aplication.yml 之后,您必须推送您的应用程序或重新启动它。
我是否应该将我的配置服务器也声明为用户提供的服务?
我相信你应该这样做,你的配置服务器可能会被
多个微服务,因此您应该保留配置服务器 url
在用户提供的服务中,并将您的多个应用程序连接到此服务。