编程语言
首页 > 编程语言> > Asp.Net Core Apollo

Asp.Net Core Apollo

作者:互联网

Asp.Net Core Apollo

1.1 Apollo简介

git地址:https://github.com/apolloconfig

Apollo(阿波罗)是携程框架部研发并开源的一款生产级的配置中心产品,它能够集中管理应用在不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

namespace:

这里不做过多介绍,主要是记录asp.net core中使用Apollo,偏操作。

1.2 docker安装Apollo

环境说明:vmware16 Pro + centos7

(1)docker安装mysql

(2)执行sql

地址:https://github.com/apolloconfig/apollo/tree/master/scripts/docker-quick-start/sql

(3)docker安装Apollo Config Service

参数说明:

拉取镜像

docker pull apolloconfig/apollo-configservice

运行容器

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

image-20220401144427763

(4)docker安装Apollo Admin Service

参数说明:

拉取镜像

docker pull apolloconfig/apollo-adminservice

运行容器

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

image-20220401155432023

(5)docker安装Apollo Portal

参数说明:

拉取镜像

docker pull apolloconfig/apollo-portal

运行容器

docker run -p 8070:8070 \
    -e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.188.180:3306/ApolloPortalDB?characterEncoding=utf8" \
    -e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=root \
    -e APOLLO_PORTAL_ENVS=dev,pro \
    -e DEV_META=http://192.168.188.180:8080 -e PRO_META=http://192.168.188.180:8080 \
    -d -v /tmp/logs:/opt/logs --name apollo-portal apolloconfig/apollo-portal

image-20220401155524348

(6)查看防火墙,因为模拟内网,所以直接关闭了防火墙

# 查看防火墙状态
firewall-cmd --state

# 关闭防火墙
systemctl stop firewalld

(7)访问:http://192.168.188.180:8070/

用户名:apollo

密码:admin

image-20220401155256640

(8)如果登陆后出现错误,请联系管理员之类的,可以检查一下数据表中该配置项,需要修改数据库,然后重启三个服务

image-20220402181845655

因为是单机服务,改成和apollo-configservice一样的IP:Port即可

image-20220401173117851

(8)常用命令

# 强制删除
docker rm -f apollo-configservice
docker rm -f apollo-adminservice
docker rm -f apollo-portal

# 重启容器
docker restart apollo-configservice
docker restart apollo-adminservice
docker restart apollo-portal

# 容器随docker启动自动运行
docker update apollo-configservice --restart=always
docker update apollo-adminservice --restart=always
docker update apollo-portal --restart=always

1.3 Asp.Net Core 中使用Apollo

(1)创建NameSpace

image-20220401174550884

image-20220401174624687

(2)Asp.NetCore程序读取

安装包:

Install-Package Com.Ctrip.Framework.Apollo.Configuration

代码:

builder.Host.ConfigureAppConfiguration((context, configurationBuilder) =>
{
    var apolloConfig = configurationBuilder.Build().GetSection("Apollo");         configurationBuilder.AddApollo(apolloConfig).AddDefault().AddNamespace("TEST1.dev.json");
});

截图:

image-20220401194431829

Apollo:

image-20220401194601356

标签:Core,Asp,Apollo,SPRING,namespace,DATASOURCE,Net,apollo,docker
来源: https://www.cnblogs.com/pengboke/p/16118720.html