zoukankan      html  css  js  c++  java
  • archaius(1) 概述

      首先来看看Archaius解决了什么问题,在大型分布式系统中,在大型分布式系统中经常会存在下面的几类问题:

        1.需用从配置中新获取配置,加载到本地内存。

        2.配置中心的配置发生变化,需要动态更新本地内存中的配置。

        3.配置中心的配置发生变换,需要接收通知。

      archaius如何解决上面的问题:

        其实archaius解决方法很简单,就是定时从配置中心去读取数据,并且更新内存中相关配置,并且通知监听的监听器更新内容。

      通过archaius我们就可以实现动态配置了。下面是archaius使用的一个例子:

    一、引入archaius包

    <dependency>
      <groupId>com.netflix.archaius</groupId>
      <artifactId>archaius-core</artifactId>
      <version>0.6.0</version>
    </dependency>

    二、archaius默认会去读取类路径下的config.properties配置文件,在类路径下创建配置文件。

    myname=zwh

    三、使用DynamicPropertyFactory来获取属性,并获取值。

    public class RibbonMain {
        public static void main(String[] args) throws IOException {
            DynamicStringProperty timeToWait = DynamicPropertyFactory.getInstance().getStringProperty("myname", "default");
            System.out.println(timeToWait.get());
        }
    }

      


    用于管理java配置。主要功能是对apache common configuration类库进行扩展。提供以下特性:

    • 动态获取属性
    • 高效和线程安全的配置操作
    • 配置改变时提供回调机制
    • 可以通过jmx操作配置
    • 复合配置

    第一个Archaius实例

    复合配置例子

      Archaius的核心是复合配置。复合配置内部可以包含多个配置,每个配置读取不同的配置源并且会定时拉取和更新数据。如果多个配置源中存在同一个配置,会使用最顶层的那个配置。

  • 相关阅读:
    计算机语言的学习之道
    单麦克风远场语音降噪解决方案
    ESP8266 SPI 开发之软件驱动代码分析
    ESP8266 SPI 开发之软硬基础分析
    蓝牙5.0协议及下载地址
    python中往json中添加文件的方法
    Python isinstance() 函数含义及用法解析
    从一线方案商的角度来看高通QCC3020芯片
    Ubuntu18.04声卡配置问题解决
    python 音频通道分离的源码实现
  • 原文地址:https://www.cnblogs.com/zhangwanhua/p/8178853.html
Copyright © 2011-2022 走看看