Apollo使用和安装

2023-09-15 09:47:26

项目管理

部门添加

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.
更多推荐

微信CRM系统致力于帮助金融保险行业

在当今信息化的时代,金融保险行业面临着越来越大的竞争与挑战,那么微信CRM系统是怎么帮助金融保险行业解决问题的呢?金融保险行业面临的困难①销售管理困难,企业资源容易流失;金融保险业通过在线销售实现业务。电话销售、微信沟通难以监控管理,销售部员工流动性大,导致监管风险和客户资源流失。②客户营销困难,用户意向定位模糊;由于

《golang设计模式》第二部分·结构型模式-06-享元模式(Flyweight)

文章目录1.概述1.1角色1.2类图2.代码示例2.1设计2.2代码2.3类图示例1.概述享元(Flyweight)模式采用共享方式向客户端提供数量庞大的细粒度对象。所谓细粒度对象,是指实现了业务细节并相互独立的对象。细粒度对象是一种相对概念,一般不会进行更小粒度的拆分。1.1角色抽象享元(Flyweight):通常是

【跟小嘉学 Rust 编程】三十、Rust 使用 Slint UI

系列文章目录【跟小嘉学Rust编程】一、Rust编程基础【跟小嘉学Rust编程】二、Rust包管理工具使用【跟小嘉学Rust编程】三、Rust的基本程序概念【跟小嘉学Rust编程】四、理解Rust的所有权概念【跟小嘉学Rust编程】五、使用结构体关联结构化数据【跟小嘉学Rust编程】六、枚举和模式匹配【跟小嘉学Rust

(vue2)面经基础版-案例效果分析

配路由先配一级,一级里面配二级。一级路由:首页(二级:嵌套4个小页面)、详情页高亮a->router-link,高亮效果对自带高亮类名router-link(-exact)-active设置注:通过children配置项,可以配置嵌套子路由。并在该组件中准备路由出口<router-view></router-view>

「聊设计模式」之 设计模式的前世今生

🏆本文收录于《聊设计模式》专栏,专门攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎持续关注&&收藏&&订阅!目录:一、什么是设计模式设计模式的定义设计模式的作用二、设计模式的发展历程设计模式的起源设计模式的发展阶段三、设计模式的分类创建型模式结构型模式行为型模式四、常用的设计模式工厂模式单例模式装饰器模式代理模

【SpringBoot项目】SpringBoot+MyBatis+MySQL电脑商城

在b站听了袁老师的开发课,做了一点笔记。01-项目环境搭建_哔哩哔哩_bilibili基于springboot框架的电脑商城项目(一)_springboot商城项目_失重外太空.的博客-CSDN博客项目环境搭建1.项目分析1.项目功能:登录、注册、热销商品、用户管理(密码、个人信息、头像、收货地址)、购物车(展示、增加

Promise的链式调用

catch方法.catch(onRejected)=.then(null,onRejected)链式调用then方法必定会返回一个新的Promise可理解为后续处理也是一个任务新任务的状态取决于后续处理:若没有相关的后续处理,新任务的状态和前任务一致,数据为前任务的数据若有后续处理但还未执行,新任务挂起。若后续处理执行

C++笔记之文档术语——将可调用对象作为函数参数

C++笔记之文档术语——将可调用对象作为函数参数相关博文:C++笔记之函数对象functors与可调用对象文章目录C++笔记之文档术语——将可调用对象作为函数参数1.在函数参数中传递可调用对象2.‘在参数中传入可调用对象’和‘将可调用对象作为函数参数’哪个描述更加专业官方?3."将可调用对象作为函数参数"是不是和‘回调

【Java 基础篇】Java网络编程基础知识详解

网络编程是现代软件开发中不可或缺的一部分,它使我们能够在不同的计算机之间实现数据传输和通信。Java作为一种强大的编程语言,提供了丰富的网络编程库,使开发者能够轻松地创建网络应用程序。本文将介绍Java网络编程的基础知识,面向初学者,详细讨论网络通信的概念、Socket编程、服务器和客户端编程等内容。1.网络通信的基本

二刷力扣--栈和队列

栈和队列栈和队列基础(Python)栈一种先进后出,队列先进后出。Python中可以用list实现栈,用append()模拟入栈,用pop()模拟出栈。也可以用list实现队列,但是效率较低,一般用collections.deque模拟(双端)队列。5.数据结构—Python3.11.5文档使用list进行栈的操作st

git 命令总结

git初始化gitinit添加文件gitadd<file>添加注释gitcommit-m"注释"重新提交覆盖上一次提交内容gitcommit--amend查看当前所处状态gitstatus克隆仓库gitclone<remoteURL>关联远程仓库gitremoteadd<remote><remoteURL>查看git对

热文推荐