• Apollo使用和安装


    项目管理

    部门添加

    img

    img

    • 使用json格式编辑即可
      • img

    用户管理

    添加用户

    img

    img

    img

    创建项目

    • 对项目进行管理授权

      • 在创建应用的时候,授权
        • img
      • 在项目页面中授权
        • img

        • img

      • 用户只能看见自己负责的项目

      • 管理员可以看到所有项目
        • img
    • 删除项目

      • img

      • 先输入AppId 查询应用

        • img
      • 点击删除应用,即可删除

    配置管理

    新增配置对

    img

    img

    • 新添的和修改的配置项需要发布,才能生效

    客户端读取配置项

    • 在启动的时候,指定AppId

    • 通过API接口读取配置

    • 输出
      • img
    • 热发布: 我们在Apollo中修改了配置为 true时,应用可以实时读取到配置

    删除配置

    • 也需要发布,才能生效

      • img

    添加namespace

    img

    img

    • 类型:

      • 假如为public的话,其他 部门可以继承该 namespace
      • 私有则不能
    • 创建成功,自动跳转到关于namespace的权限操作页面

    • 快速添加配置

      • img

      • 直接复制配置文件中的文本,即可快速添加配置

      • img

      • 发布即可生效

    客户端读取

    • 读取指定 narespace下的配置信息
      • Config appconfig = Confieservice.getConfig(nannesbace)
    • 读取默认namespace下的配置信息
      • Config appConfig = ConfigService.getAppConfig();
    • 获取配置信息
      • 第一个参数: 配置的key,第二个参数: 默认值
        • String value = appConfig.getProperty( key , null);
        • Systen. out.printf('enable: %s",value);

    公共配置

    1111111

    添加公共配置

    1. 创建项目

    img

    1. 添加namespace

    img

    1. 选择public

    img

    1. 提交后,应用首页即可看到

    img

    1. 利用文本快速添加配置

    img

    img

    • 点击发布,使配置生效
      • img
    1. 其他项目关联公共的namespace
    • 点击关联公共namespace
      • img
    • 即可选择配置创建的公共namespace
      • img
    • 在项目首页,即可看到关联的公共配置
      • 点击展开,即可看到之前配置公共配置的内容
        • img
    1. 其他项目覆盖公共配置

    img

    • 例:
      • 修改server.servlet.context-path为:/account-service
        • img
    1. 发布修改的配置项

    img

    1. 客户端读取
    • 读取指定 narespace下的配置信息
      • Config appconfig = Confieservice.getConfig(namespace名字)
    • 读取默认namespace下的配置信息
      • Config appConfig = ConfigService.getAppConfig();
    • 获取配置信息
      • 第一个参数: 配置的key,第二个参数: 默认值
        • String value = appConfig.getProperty( key的名字, null);
        • Systen. out.printf('enable: %s",value);

    集群

    • 一个应用下不同实例的分组

    新建集群

    img

    • 输入集群名称SHAJQ,选择环境并提交:添加上海金桥数据中心为例
      • img
    • 首页即可看到,除了一个默认的集群,还有一个SHAJQ集群
      • img

    • 新增的集群会继承私有的namespace,但配置信息没有了
      • 并且关联的namespace也没了,需要重新关联
      • default的namespace
        • img
      • 新增的集群的namespace

    • 我们可以通过添加的方式或者同步的方式进行配置新集群

    同步配置

    img

    1. 选择同步信息

    img

    1. 确认没有问题,点击同步

    img

    1. 在新集群中,即可看见同步的配置信息

    img

    p s:

    1. 同步过来的配置是不生效的,需要手动发布

    img

    1. 关联namespace需要先添加,然后才能同步,不然就会出现以下情况:
    • 添加关联namespace后,即可正确同步
      • img

    客户端读取

    • 读取某个集群的配置,需要启动应用时指定具体的应用、环境和集群
      • 在 VM options 中 指定集群,不指定则是默认的集群
        • ‐Dapp.id=account‐service ‐Denv=DEV ‐Dapollo.cluster=SHAJQ ‐Ddev_meta=http://localhost:8080
          • -Dapp.id=应用名称
          • -Denv=环境名称
          • -Dapollo. cluster=指定集群名字
          • -D环境_meta=meta地址

    安装

    环境

    • 需要mysql数据库
      • https://blog.csdn.net/dair6/article/details/123556603
    • Java 1.8
      • https://blog.csdn.net/Dwj1212/article/details/123452141

    端口

    • 要确保8070,8080,8090未被占用
    • 查看端口:
      • Lsof -i :端口
    • 杀死端口
      • sudo kill -9 端口对应的PID

    Docker 快速部署

    1. 安装docker
      1. https://blog.csdn.net/weixin_44621343/article/details/117825601
    2. 安装docker-compose
      1. sudo apt install docker-compose
    3. 根据文档部署即可
      1. https://www.apolloconfig.com/#/zh/deployment/quick-start-docker
        1.
  • 相关阅读:
    【云原生 | 从零开始学Kubernetes】二、使用kubeadm搭建K8S集群
    【Python学习笔记】深拷贝和浅拷贝
    0024 Ugly Numbers UVA - 136 算法竞赛入门经典系列源码解析 算法竞赛入门经典第2版 p120
    Java项目---图片服务器
    electron调用dll文件
    高效的测试覆盖率:在更短的时间内最大化提高测试覆盖率
    Cobalt Strike(十三)内网隧道通信
    3D游戏开发中的矩阵详解
    Redisson批量操作类RBuckets和管道利器RBatch
    AQS实现原理
  • 原文地址:https://blog.csdn.net/yin_ming_hui/article/details/132895556