摘要:一簡介是淘寶研發的分布式配置管理系統。使用可以讓集群中的服務進程動態感知數據的變化,無需重啟服務就可以實現配置數據的更新。
一、簡介
Diamond是淘寶研發的分布式配置管理系統。使用Diamond可以讓集群中的服務進程動態感知數據的變化,無需重啟服務就可以實現配置數據的更新。
具有簡單、可靠、易用等特點
二、使用方法 服務端搭建 1 準備工作安裝jdk
安裝maven
安裝tomcat
安裝mysql
2 啟動mysql并創建數據庫和表-- 創建Diamond數據庫 CREATE DATABASE IF NOT EXISTS `diamond` /*!40100 DEFAULT CHARACTER SET utf8 */; USE `diamond`; -- 配置表 CREATE TABLE IF NOT EXISTS `config_info` ( `id` bigint(64) unsigned NOT NULL AUTO_INCREMENT, `data_id` varchar(255) NOT NULL DEFAULT "", `group_id` varchar(128) NOT NULL DEFAULT "", `content` longtext NOT NULL, `md5` varchar(32) NOT NULL DEFAULT "", `src_ip` varchar(20) DEFAULT NULL, `src_user` varchar(20) DEFAULT NULL, `gmt_create` datetime NOT NULL DEFAULT "2010-05-05 00:00:00", `gmt_modified` datetime NOT NULL DEFAULT "2010-05-05 00:00:00", PRIMARY KEY (`id`), UNIQUE KEY `uk_config_datagroup` (`data_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- 組表 CREATE TABLE IF NOT EXISTS `group_info` ( `id` bigint(64) unsigned NOT NULL AUTO_INCREMENT, `address` varchar(70) NOT NULL DEFAULT "", `data_id` varchar(255) NOT NULL DEFAULT "", `group_id` varchar(128) NOT NULL DEFAULT "", `src_ip` varchar(20) DEFAULT NULL, `src_user` varchar(20) DEFAULT NULL, `gmt_create` datetime NOT NULL DEFAULT "2010-05-05 00:00:00", `gmt_modified` datetime NOT NULL DEFAULT "2010-05-05 00:00:00", PRIMARY KEY (`id`), UNIQUE KEY `uk_group_address` (`address`,`data_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;3 下載源碼
git clone https://github.com/gzllol/diamond.git4 打包
修改diamond-server/src/main/resources/system.properties文件,將diamond.server.addr的值換成Diamond服務器所在機器的ip地址
修改diamond-server/src/main/resources/jdbc.properties文件,配置mysql服務器的url,用戶名和密碼
在根目錄執行打包命令
mvn clean package -Dmaven.test.skip=true5 用tomcat加載diamond-server/target/diamond-server.war 客戶端使用 1 將diamond-client jar包發布到maven倉庫
mvn clean deploy -Dmaven.test.skip=true2 在工程中引入jar包
3 使用例子com.taobao.diamond diamond-client 2.0.5.4.taocode-SNAPSHOT
DiamondManager manager = new DefaultDiamondManager("${your_config_data_id}", new ManagerListener() { @Override public Executor getExecutor() { return null; } @Override public void receiveConfigInfo(String configInfo) { System.out.println("receive config: " + configInfo); } });4 在配置中心界面添加一個配置
登陸配置中心(本機是127.0.0.1:8080),用戶名abc,密碼123
點擊左側“配置信息管理”
點擊添加配置信息
輸入data_id(就是配置的id,3中的${your_config_data_id})和配置內容
點擊“提交”
在更新配置時,客戶端會調用ManagerListener的回調函數receiveConfigInfo,參數就是最新的配置內容
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67173.html
摘要:摘要在月日召開的第二屆研發效能嘉年華中,云效邀請了阿里云產品團隊的伏羿和來自阿里巴巴中間件技術部的彥林帶來了如何借助配置中心加速企業服務快速迭代的主題分享。 摘要: 在5月29日召開的第二屆研發效能嘉年華中,云效邀請了阿里云產品團隊的伏羿和來自阿里巴巴中間件技術部的彥林帶來了如何借助配置中心ACM加速企業IT服務快速迭代的主題分享。 分別對配置中心ACM和ACM技術進行了講解,并且對A...
摘要:而且,用友云配置中心以服務的方式提供統一的管理界面,結合用友云的認證中心可以提供可靠的安全保障。 微服務架構是這幾年IT領域的一個高頻詞匯,越來越多的項目和應用正在以微服務的思想進行重構。相比于單體應用和SOA架構,微服務優勢也逐漸凸顯,被廣大架構師和技術人員引入和推崇。當然,單體應用、SOA、微服務等各有優勢和不足。單體架構在早期的企業內部信息化或者搭建中小型項目時很常見,簡單說就是...
摘要:典型的配置中心產品,包括如上文提到的阿里云早期稱為,攜程,百度的,或者,等。而最近,作為一款配置中心產品,阿里云應用配置管理簡稱發布了一項加密配置功能,就旨在讓用戶更加安全的在配置中心存放配置。這在阿里云的安全體系中,通過的角色授權來實現。 摘要: 如果您現在正開始著手準備解決自己的生產數據泄露問題,那么您可能需要看下這篇文檔,了解如何可以從配置著手來改善下您目前的情況。 您是否在您的...
摘要:我們是不是很好奇配置中心如何做到實時更新并且通知到客戶端的這也是一個面試中經常會問到的題目。客戶端得到狀態碼是并且會根據立即去服務端拉取最新的配置。引言 記得我們那時候剛開始學習Java的時候都只是一個單體項目,項目里面的配置基本都是寫在項目里面的properties文件中,比如數據庫配置啥的,各種邏輯開關,一旦這些配置修改了,還需要重啟項目這修改才會生效。隨著各種微服務的誕生,服務的...
摘要:我們是不是很好奇配置中心如何做到實時更新并且通知到客戶端的這也是一個面試中經常會問到的題目。雖然是攜程開源的,但是攜程內部也不用它。客戶端得到狀態碼是并且會根據立即去服務端拉取最新的配置。通過定時任務的補充,可以讓配置達到最終的一致性。 引言記得我們那時候剛開始學習Java的時候都只是一個單體項目,項目里面的配...
閱讀 1354·2021-09-10 10:51
閱讀 2829·2019-08-30 15:54
閱讀 3367·2019-08-29 17:11
閱讀 926·2019-08-29 16:44
閱讀 1391·2019-08-29 13:47
閱讀 1086·2019-08-29 13:47
閱讀 1485·2019-08-29 12:23
閱讀 1038·2019-08-28 18:18