Apollo 配置中心 .Net 5

主要是有三个服务。

apollo-configservice

apollo-adminservice

apollo-portal

其中   apollo-configservice,apollo-adminservice 是单个环境的数据服务,apollo-portal是统一的Web服务

要先git 获取 源码信息,然后,找到 sql,导入到自己的mysql数据库里

git clone https://github.com/ctripcorp/apollo.git

具体的sql路径

apollo/scripts/sql/apolloportaldb.sql
apollo/scripts/sql/apolloconfigdb.sql

生成后如下所示

 然后,开始部署docker

配置服务

apolloconfig/apollo-configservice

docker run -p 8080:8080  -d \
    -e SPRING_DATASOURCE_URL="jdbc:mysql://127.0.0.1:3306/ApolloConfigDB?characterEncoding=utf8" \
    -e SPRING_DATASOURCE_USERNAME=root \
    -e SPRING_DATASOURCE_PASSWORD=123456 \
    -v /tmp/logs:/opt/logs \
    --name apollo-configservice \
    apolloconfig/apollo-configservice

管理服务

apolloconfig/apollo-adminservice

docker run -p 8090:8090 -d  \
    -e SPRING_DATASOURCE_URL="jdbc:mysql://127.0.0.1:3306/ApolloConfigDB?characterEncoding=utf8" \
    -e SPRING_DATASOURCE_USERNAME=root \
    -e SPRING_DATASOURCE_PASSWORD=123456 \
    -v /tmp/logs:/opt/logs \
    --name apollo-adminservice 
    apolloconfig/apollo-adminservice

web服务

docker run -p 8070:8070 -d  ^
     -e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.4.40:3306/ApolloPortalDB?characterEncoding=utf8" ^
    -e SPRING_DATASOURCE_USERNAME=root ^
    -e SPRING_DATASOURCE_PASSWORD=123456 ^
    --name apollo-portal  ^
    apolloconfig/apollo-portal

访问127.0.0.1:8070,账号/密码:apollo/admin。

.net  5 web 需要的配置

 

appsetting

 "apollo": {
    "AppId": "123",
    "Cluster": "default",
    "MetaServer": "http://192.168.4.40:8080/",
    //"Secret": "ffd9d01130ee4329875ac3441c0bedda",
    "Namespaces": [ "TEST1.one" ],
    "Env": "Dev",
    "Meta": {
      "DEV": "http://192.168.4.40:8080/"
    }
  }

           CreateHostBuilder

            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                }).ConfigureAppConfiguration((hostingContext, builder) =>
                {
                    builder
                    .AddApollo(builder.Build().GetSection("apollo"))
                    .AddDefault();//                    .AddNamespace("application")
                });

     HomeController

  private readonly IConfiguration _configuration;
        public HomeController(ILogger<HomeController> logger, IConfiguration configuration)
        {
            _logger = logger;
            _configuration = configuration;
        }

        public IActionResult Index(string key = null)
        {
            if (string.IsNullOrWhiteSpace(key))
            {
                return Content("无key信息!");
            }
            return Content(_configuration[key]);
        }

posted @ 2021-12-06 13:43  蓝创精英团队  阅读(12)  评论(0)    收藏  举报  来源