Dubbo框架應用之(三)--Zookeeper註冊中心、管理控制臺的安裝及解說
阿新 • • 發佈:2017-08-16
root pan rda 查詢 bsp err 封裝 form keep
配置:
假設須要集群。zoo.cfg的內容例如以下:(當中data文件夾和server地址需改成你真實部署機器的信息)
停止
訪問(註意我個人改動了默認的端口)(用戶:root,密碼:root)
進過抽象之後,用戶 僅僅須要實現相應的Registry和RegistryFactory就能夠了,ZooKeeper就是實現了ZookeeperRegistry,和ZookeeperRegistryFactory。 ZookeeperRegistryFactory的實現非常簡單。就是返回一個ZookeeperRegistry實例,所以基本的東西是在ZookeeperRegistry中實現的,在ZookeeperRegistry用戶須要實現註冊URL。註銷URL,URL訂閱,URL註銷訂閱和URL查詢,在這裏面設計到Zookeeper服務端的調用,都被封裝到ZookeeperClient中,ZookeeperClient服務進行Server連接,斷鏈。資源的CRUD。
首先是負載均衡。單註冊中心的承載能力是有限的,在流量達到一定程度的時候就須要分流,負載均衡就是為了分流而存在的,一個ZooKeeper群配合相應的Web應用就能夠非常easy達到負載均衡。
資源同步。單單有負載均衡還不夠。節點之間的數據和資源須要同步,ZooKeeper集群就天然具備有這種功能。
命名服務,將樹狀結構用於維護全局的服務地址列表,服務提供者在啟動的時候,向ZK上的指定節點/dubbo/${serviceName}/providers文件夾下寫入自己的URL地址,這個操作就完畢了服務的公布。其它特性還有Mast選舉。分布式鎖等。
我是在linux下使用dubbo-2.3.3以上版本號的zookeeper註冊中心客戶端。
Zookeeper是Apache Hadoop的子項目,強度相對較好,建議生產環境使用該註冊中心。
Dubbo未對Zookeeper服務器端做不論什麽侵入改動。僅僅需安裝原生的Zookeeper服務器就可以。全部註冊中心邏輯適配都在調用Zookeeper客戶端時完畢。
Zooleeper安裝
下載解壓
wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz tar zxvf zookeeper-3.3.3.tar.gz cd zookeeper-3.3.3 cp conf/zoo_sample.cfg conf/zoo.cfg
配置:
vi conf/zoo.cfg
zoo.cfg的內容例如以下:(當中data文件夾需改成你真實輸出文件夾)
# The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take #initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement #syncLimit=5 # the directory where the snapshot is stored. dataDir=/home/dubbo/zookeeper-3.3.3/data # the port at which the clients will connect clientPort=2181
假設須要集群。zoo.cfg的內容例如以下:(當中data文件夾和server地址需改成你真實部署機器的信息)
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/dubbo/zookeeper-3.3.3/data
clientPort=2181
server.1=ip1
server.2=ip2
並在data文件夾下放置myid文件:(上面zoo.cfg中的dataDir)
mkdir data
vi myid
啟動
./bin/zkServer.sh start
停止
./bin/zkServer.sh stop
管理控制臺安裝
管理控制臺為內部裁剪版本號,開源部分主要包括:路由規則。動態配置,服務降級。訪問控制。權重調整。負載均衡,等管理功能。
安裝
wget http://apache.etoak.com/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz
tar zxvf apache-tomcat-6.0.35.tar.gz
cd apache-tomcat-6.0.35
rm -rf webapps/ROOT
wget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-admin/2.4.1/dubbo-admin-2.4.1.war
unzip dubbo-admin-2.4.1.war -d webapps/ROOT
配置: (或將dubbo.properties放在當前用戶文件夾下)
vi webapps/ROOT/WEB-INF/dubbo.properties
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest
啟動
./bin/startup.sh
./bin/shutdown.sh
訪問(註意我個人改動了默認的端口)(用戶:root,密碼:root)
http://127.0.0.1:8090/
註冊中心抽象
Dubbo將註冊中心進行抽象,使得它能夠外接不同的存儲媒介給註冊中心提供服務,有ZooKeeper。Memcached,Redis等。Dubbo抽象後,用戶能夠進行擴展,我們通過分析ZooKeeper這個實現來了解註冊中心的低層。進過抽象之後,用戶 僅僅須要實現相應的Registry和RegistryFactory就能夠了,ZooKeeper就是實現了ZookeeperRegistry,和ZookeeperRegistryFactory。 ZookeeperRegistryFactory的實現非常簡單。就是返回一個ZookeeperRegistry實例,所以基本的東西是在ZookeeperRegistry中實現的,在ZookeeperRegistry用戶須要實現註冊URL。註銷URL,URL訂閱,URL註銷訂閱和URL查詢,在這裏面設計到Zookeeper服務端的調用,都被封裝到ZookeeperClient中,ZookeeperClient服務進行Server連接,斷鏈。資源的CRUD。
ZooKeeper的價值
因為引入了ZooKeeper作為存儲媒介,也就把ZooKeeper的特性引進來。首先是負載均衡。單註冊中心的承載能力是有限的,在流量達到一定程度的時候就須要分流,負載均衡就是為了分流而存在的,一個ZooKeeper群配合相應的Web應用就能夠非常easy達到負載均衡。
資源同步。單單有負載均衡還不夠。節點之間的數據和資源須要同步,ZooKeeper集群就天然具備有這種功能。
命名服務,將樹狀結構用於維護全局的服務地址列表,服務提供者在啟動的時候,向ZK上的指定節點/dubbo/${serviceName}/providers文件夾下寫入自己的URL地址,這個操作就完畢了服務的公布。其它特性還有Mast選舉。分布式鎖等。
Dubbo框架應用之(三)--Zookeeper註冊中心、管理控制臺的安裝及解說