首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NestJS微服务和云部署

NestJS微服务和云部署
EN

Stack Overflow用户
提问于 2019-12-17 16:21:07
回答 1查看 2.9K关注 0票数 1

我和一个朋友一起尝试开发一个移动应用程序。我的朋友有他的手在颤振-应用程序(前端),我做后端的东西与雀巢。我们的目标是在云中部署一个微服务架构(GCP / Firebase)。

当前体系结构:

  • 前端:一个只与面对API的公众交流的应用程序。
  • API:是提供用JWT保护的NestJS端点的GraphQL后端吗?
  • 数据库服务:所有数据处理都是在连接到MongoDB的单独的MongoDB微服务(参见下面)中完成的。
  • 更多服务:在未来,我希望添加更多的后端服务,并将它们与其他服务和API连接起来。

我的工作区是一个nx工作空间。因此,我认为我很容易创建多个nestjs应用程序,并为每个工作设置我自己的微服务。例如,前面提到的使用巢式微服务功能的数据库服务

在我的本地机器上,这是完美的,我喜欢NestJS和由此产生的微服务体系结构。现在我不知道如何将这个架构交付给云。在"Google术语“中,我把我的API想象成一个App实例,而所有连接的服务都是云函数。

Problem:还有我的主要问题:在NestJS中,使用配置对象创建微服务,如下所示:

代码语言:javascript
复制
//database-service: main.ts
createMicroservice(AppModule,{
    transport: Transport.TCP,
    {
        host:'127.0.0.1',
        port:4000
    }
})

//api: AppModule.ts
ClientsModule.register([
    {
        name: 'DATABASE_SERVICE',
        transport: Transport.TCP,
        options: {
            host: '127.0.0.1',
            port: 4000
        }
    }
])

如您所见,配置对象是静态的,对于服务和客户端也是如此。在云中,这些配置对象将由云决定,因此不是静态的。我也可以想象,在服务之间通过TCP进行这样的通信是不可能的。

所以最后:我如何解决这个配置和跨服务通信问题?还是我的做法总体上是错误的?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-11-17 13:29:27

您需要服务发现,下面是模式

然后,使用DNSRegistry (如Con领事)来查询您的服务。

GCP中的服务发现

示例:

  • 核对表-服务:4566
  • 8月-服务:3030
  • mongodb:27018

领事详细信息可查到这里

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59378250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档