将微服务部署到 Cloud Foundry
Posted
技术标签:
【中文标题】将微服务部署到 Cloud Foundry【英文标题】:Deploying microservices to Cloud Foundry 【发布时间】:2019-02-15 09:41:41 【问题描述】:我使用 Spring Cloud 和 OSS 库开发了一个完整的微服务架构的简单原型,我可以在我的计算机上流畅地运行它。我正在尝试将整个东西部署到 Cloud Foundry,并通过文档我发现了很多讨论如何使用 PCF 发现服务的文章,但是如何使用我们的 eureka 服务器呢?我尝试使用user provided service
,但即使重新暂存它们,我的微服务也无法绑定到 URL。我怎样才能做到这一点?
第二个问题是(如果我能让 eureka 工作):我是否应该将我的配置服务器也声明为用户提供的服务?
【问题讨论】:
你看到这篇文章了吗?它有点特定于 Pivotal,但您应该能够通过一些额外的工作对所有 OSS 软件做同样的事情:content.pivotal.io/blog/… 【参考方案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 在用户提供的服务中,并将您的多个应用程序连接到此服务。
【讨论】:
以上是关于将微服务部署到 Cloud Foundry的主要内容,如果未能解决你的问题,请参考以下文章
Spring cloud开发的微服务部署到Linux上内存过高的问题
spring cloud构建全球多租户分布式微服务部署的方案