我和一个朋友一起尝试开发一个移动应用程序。我的朋友把手放在Flutter-App(Frontend)上,我使用NestJs做后端工作。我们的目标是在云(GCP / Firebase)中部署微服务架构。
当前体系结构:
我的工作区是nx workspace。因此,我认为我很容易为自己的微服务的每个作业创建多个nestjs应用程序并进行设置。例如,前面提到的使用Nest microservice functionality
的数据库服务在我的本地计算机上,它可以完美工作,我喜欢NestJS和由此产生的微服务架构。现在我不知道如何将这种架构交付到云中。在“ Google Cloud术语”中,我将我的API想象成一个App Engine实例,并将所有连接的服务看作是Cloud Functions。
问题:这是我的主要问题:在NestJS中,微服务是使用如下配置对象创建的:
//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进行此类通信。
总结: 如何解决此配置和跨服务通信问题?还是我的方法总体上是错误的?
谢谢。