将微服务部署到 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微服务配置

spring cloud构建全球多租户分布式微服务部署的方案

Spring Cloud 数据流——微服务部署

爱油科技基于Docker和Spring Cloud的微服务实践

Spring Cloud 微服务(五) 部署到AWS ECS