nestjs中使用携程Apollo配置中心

本文探讨了在NestJS框架中如何利用携程Apollo作为配置中心,以解决本地配置文件带来的问题,如发布时配置遗漏或服务器直接修改配置导致的服务故障。文章通过代码示例解释了在Apollo配置未获取到时,数据库连接失败的问题,并提出使用异步动态连接作为解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nest框架官方文档中使用的是本地文件配置,也就是@nestjs/config包。本地配置文件的好处是简单,但是对于一些更新较快的项目,难免会增加配置数据,曾经吃过不少配置文件的亏,在发布的时候很容易因为缺少配置文件直接把服务发挂了,或者直接在服务器上修改配置很容易修改错误导致服务发布失败。

集中的配置中心可以解决上面问题,但前提是搭建配置中心。因公司已经有了配置中心,所以直接使用即可。

但是会出现这样的问题:从配置中心获取数据库连接信息,再去连接会连接失败,因为在连接的时候还没有获取到配置信息。

先看代码再解释。


// main.ts



import {
    NestFactory } from '@nestjs/core';

import {
    ExpressAdapter, NestExpressApplication } from '@nestjs/platform-express';

import {
    AppModule } from './app.module';

import {
    MyLogger } from './libs/mylog.service';

import {
    join } from 'path';

const Apollo = require('node-apollo');

const dotenv = require('dotenv');

async function bootstrap() {
   

    try {
   
        const root = join(__dirname, '../');
        let envFile = join(root, '.env')
        dotenv.config({
    "path": envFile })
        const {
   
            APOLLO_APPID,
            APOLLO_ENV,
            APOLLO_HOST,
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值