diamond_使用與簡介
它是什麼
diamond為應用系統提供了獲取配置的服務,應用不僅可以在啟動時從diamond獲取相關的配置,
而且可以在執行中對配置資料的變化進行感知並獲取變化後的配置資料.
為什麼需要它
diamond的特點是簡單、可靠、易用:
簡單:整體結構非常簡單,從而減少了出錯的可能性。
可靠:應用方在任何情況下都可以啟動,在承載阿里核心系統並正常執行多年來,沒有出現過任何重大故障。
易用:客戶端使用只需要兩行程式碼,暴露的介面都非常簡單,易於理解。
常見應用場景
- 分表分庫的DB伺服器地址.
- 中介軟體的服務地址.
- 經常變化的開關,配置.
簡單使用
引入
< dependency >
< groupId >com.taobao.diamond</ groupId >
< artifactId >diamond-client</ artifactId >
< version >2.0.5.4.taocode-SNAPSHOT</ version >
</ dependency >
|
客戶端程式碼(推薦使用方式3,若想繞過其它使用方式,強制使用方式三,DefaultDiamondManager最後一個引數寫成true):
DiamondClientExample
package com.taobao.diamond.client;
import java.util.concurrent.Executor;
import com.taobao.diamond.manager.DiamondManager;
import com.taobao.diamond.manager.ManagerListener;
import com.taobao.diamond.manager.impl.DefaultDiamondManager;
/**
* <pre>
* diamond-server的ip列表依次按如下方式<1>,<2>,<3>尋找,尋到配置的ip列表就結束尋找,沒尋找到就報異常. * 使用diamond時,
*
* 方式<1>:
* DefaultDiamondManager構造器中如果指定了ip列表,則以這個ip列表為準
* 方式<2>:
* 類路徑下,增加配置檔案ServerAddress,其中指定ip列表
* 新方式<3>(相容老方式):
* diamond-client首次啟用會自動新增.diamond.domain檔案到使用者目錄下
* 客戶端會使用檔案中配置的域名來訪問diamond-server
* 各環境域名:
* diamond.sit.ds.gome.com.cn
* diamond.uat.ds.gome.com.cn
* diamond.pre.ds.gome.com.cn
* diamond.live.ds.gome.com.cn
*
* 檔案.diamond.domain說明:
* (1)windows和mac的作業系統預設內容是diamond.sit.ds.gome.com.cn,可以自行修改
* (2)linux作業系統不設定預設內容,需要修改.diamond.domain來選擇域名
* (3)若要相容老的域名訪問方式,請在.diamond.domain中配置a.b.c,同時在/etc/hosts配置a.b.c指向自己的nginx
*
*
* </pre>
*
* @author liutingfeng
*
*/
public class DiamondTestClient {
public static DiamondManager manager;
public static void main(String[] str) {
initDiamondManager();
}
private static void initDiamondManager() {
manager = new DefaultDiamondManager( "group_test" , "dataId_test" , new
|