当前位置: 首页 > news >正文

apollo配置中心

apollo管理界面,应用程序要集成apollo的客户端。

apollo配置本地缓存文件。

apollo配置中心。

1,客户端和服务端交互的两种方式:服务端推送,客户端拉取。

2,程序员修改/发布配置到配置中心。

3,如何搭建apollo配置中心服务端?阿波罗配置中心的运行依赖数据库。

4,如何在应用程序中集成阿波罗客户端?如何通过日志判断应用程序已经拿到了配置中心的配置?

5,apollo管理控制台,apollo控制台的访问地址是什么? 对应哪个应用程序?

6,如何发布配置? 添加配置,发布配置.首先要创建一个项目。应用id就是应用的唯一标识.进入项目详情,看到的是项目信息和配置信息.

7,应用程序如何读取配置?

Config config=ConfigService.getConfig()类中.通过配置对象,获取配置信息.第一个参数是配置的key,第二个参数是配置的默认值.

springboot如何集成logstash ?

报错信息:app id is not set. 获取哪个项目的配置?

1)应用id是指应用的唯一标识;

2)应用环境.某个配置是隶属于某个项目的某个环境的.

3)还需要指定apollo配置中心的地址.

4)@EnableApolloConfig.

idea中:以系统属性的方式来配置,配置中心的地址.vm options.在生产环境怎么使用呢? 支持热发布.

从管理中心发布配置,到应用程序获取配置的过程。

apollo工作原理

系统架构图

1)Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端

2)Admin Service提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面)

Eureka提供服务注册和发现,为了简单起见,目前Eureka在部署时和Config Service是在一个JVM进程中的。Config Service和Admin Service都是多实例、无状态部署,所以需要将自己注册到Eureka中并保持心跳。在Eureka之上架了一层Meta Server用于封装Eureka的服务发现接口

3)Client通过域名访问Meta Server获取Config Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Client侧会做load balance、错误重试

4)Portal通过域名访问Meta Server获取Admin Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Portal侧会做load balance、错误重试

为了简化部署,我们实际上会把Config Service、Eureka和Meta Server三个逻辑角色部署在同一个JVM进程中。

核心概念:

1,application (应用):就是我们的工程,我们的项目。实际使用配置的应用,Apollo客户端在运行时需要知道当前应用是谁,从而可以去获取对应的配置。

关键字:appId。 如何理解应用id?客户端连接的时候要用。

2,environment (环境) 配置对应的环境,Apollo客户端在运行时需要知道当前应用处于哪个环境,从而可以去获取应用的配置。

关键字:env

3,cluster (集群) 一个应用下不同实例的分组,比如典型的可以按照数据中心分,把上海机房的应用实例分为一个集群,把北京机房的应用实例分为另一个集群。

关键字:cluster

4,namespace (命名空间):一个应用下不同配置的分组,可以简单地把namespace类比为文件,不同类型的配置存放在不同的文件中,如数据库配置文件,RPC配置文件,应用自身的配置文件等。(数据库配置,动态配置,分属不同的文件,和58的配置中心一样)

关键字:namespaces

apollo项目管理

如何配置部门:管理员工具------>系统参数

如何配置权限:管理员工具------>用户管理。创建项目的时候,可以添加zhangsan为负责人。不同的用户看到的项目多少不一样。

如何删除应用:管理员工具------>删除应用。

apollo配置管理

如何添加namespace? 默认的命名空间是application。命名空间有公共和私有的区别。

命名空间的名称是什么?

如何读取指定命名空间的配置?读取默认命名空间下的配置。

公共配置的使用? 需要先创建一个公共项目,能够让其他项目继承。创建一个命名空间,命名空间类型需要选择共有。

环境下包含集群,如果不创建集群,会存在默认集群。

在不同的集群下,进行同步配置。

如何读取这个新的集群的配置?

配置发布的主要过程:

1,用户在Portal操作配置发布,

2,Portal调用Admin Service的接口操作发布,

3,Admin Service发布配置后,发送ReleaseMessage给各个Config Service,

4,Config Service收到ReleaseMessage后,通知对应的客户端。

分布式环境下使用apollo系统

1,指定appId,和配置中心保持一致。

2,开启apollo配置。 @EnableApolloConfig。通过@Value读取配置信息。

3,配置对应的命名空间。获取哪些命名空间的配置。

4,创建apollo-env.properties

5,本地缓存文件地址。

本地缓存目录的配置

本地缓存路径:Apollo客户端会把从服务端获取到的配置,在本地文件系统缓存一份,用于在遇到服务不可用,或网络不通的时候,依然能从本地恢复配置,不影响应用正常运行。本地配置文件会以下面的文件名格式放置于配置的本地缓存路径下:{appId}+{cluster}+{namespace}.properties

可以通过如下方式指定缓存路径,通过Java System Property的apollo.cacheDir:-Dapollo.cacheDir=/opt/data/apollo-config

公司是什么切换阿波罗环境的?

两套环境,测试环境和生产环境不同。新建项目的时候,要对两个环境进行配置。

公司是如何做灰度发布的?

apollo 灰度只是配置的灰度,不是代码的灰度,功能有些鸡肋。

本地启动需要配置apollo地址。

有几个客户端连接到配置中心?实例列表tab选项卡。

通过apollo进行灰度发布,其实只是针对配置的灰度,生产中需要的是对代码的灰度,先升级一台机器,观察日志。

配置灰度规则,灰度发布,全量发布。

-Dapp.id=account-service -Denv=DEV -Dapollo.cluster=SHAJQ -Ddev_meta=http://10.141.48.10:18070

-Dapp.id=case1 -Denv=DEV -Ddev_meta=http://10.141.48.10:18070

应该是地址错了,服务器端地址和管理控制台地址不同。地址配置

-Dapp.id=case1 -Dapollo.configService=http://10.141.48.10:18080 -Dapollo.cacheDir=/tmp

就是地址没搞明白。

已经可以获取到配置了,测试环境怎么规范使用这个组件?

相关文章:

  • 华为CSE框架的一些知识点
  • vxe-table 将表格指定行设置颜色后,选中行、悬浮行样式失效解决。
  • 这些提高摸鱼效率的自动化测试技巧,提高打工人幸福感~
  • HelloSpring
  • Vite为啥如此之快
  • 从二值 Mask 获取外接矩形坐标
  • Tomcat 的本地部署及 SmartTomcat 的使用
  • Unity Shader LightMode 标签
  • linux搭建docker镜像服务
  • 解决mybatis用Map返回的字段全变大写的问题
  • 交联剂134272-64-3,MAL-NH2 HCl 在抗体的标记上面效果明显
  • mybatis第一次课
  • 全民拼购模式:社交电商与拼购新玩法
  • Linux笔记系列
  • 机器人冗余自由度优化过程中的零空间概念
  • [译]如何构建服务器端web组件,为何要构建?
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【node学习】协程
  • Apache的80端口被占用以及访问时报错403
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • Docker 笔记(2):Dockerfile
  • k8s如何管理Pod
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • markdown编辑器简评
  • rabbitmq延迟消息示例
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • vue-cli3搭建项目
  • 包装类对象
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 利用DataURL技术在网页上显示图片
  • 聊聊flink的BlobWriter
  • 排序算法之--选择排序
  • 判断客户端类型,Android,iOS,PC
  • 使用parted解决大于2T的磁盘分区
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 正则与JS中的正则
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​什么是bug?bug的源头在哪里?
  • #ifdef 的技巧用法
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (27)4.8 习题课
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (Forward) Music Player: From UI Proposal to Code
  • (二)fiber的基本认识
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (十) 初识 Docker file
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • /proc/stat文件详解(翻译)
  • @media screen 针对不同移动设备