一.名称解释
1. ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。
2.Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。
二. ZooKeeper安装和配置
1.目前使用的是zookeeper3.4.6稳定最新版本,只需要解压缩后,简单配置一下即可以启动ZooKeeper服务器进程。
如解压目录为:/zookeeper
cd /zookeeper/zookeeper-3.4.6/
bin/zkServer.sh start
查看是否启动成功
./zkServer.sh status
[root@localhost bin]# ./zkServer.sh status
JMX enabled by default
Using config: /zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
以上表示启动成功
查看zookeeper目录下是否 存在data、logs目录,如没有请自行创建
drwxr-xr-x. 3 root root 4096 Jun 17 20:41 data
drwxr-xr-x. 3 root root 4096 Mar 6 14:20 logs
drwxr-xr-x. 10 root root 4096 Feb 20 2014 zookeeper-3.4.6
集群配置
在 /zookeeper/data目录下,创建一个myid文件,里面内容为一个数字,用来标识当前主机
cd /zookeeper/data
vim myid
如zookeeper节点为1,以此类推2、3
将/zookeeper/zookeeper-3.4.6/conf目录下面的 zoo_sample.cfg修改为zoo.cfg,配置文件内容如下所示:
# Zookeeper服务器心跳时间,单位毫秒
tickTime=2000
# 投票选举新leader的初始化时间
initLimit=10
# Leader与Follower之间的最大响应时间单位,响应超过syncLimit*tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer
syncLimit=5
# 数据持久化路径
dataDir=/zookeeper/data
# 日志保存路径 这个要自己新建
dataLogDir=/zookeeper/logs
# 服务端口号
clientPort=2181
#集群配置 配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,
#conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字
server.1=xxx.xxx.xxx.xxx:2888:3888
server.2= xxx.xxx.xxx.xxx:2888:3888
server.3= xxx.xxx.xxx.xxx:2888:3888
三. Dubbo服务部署
部署方式分两种 :
1、 容器加载(tomcat)
完全按照当前的开发模式进行,建议基于当前系统开发的服务消费类的系统都采用该方式
2、 main守护线程加载
部署、开发大致和容器加载一样,优点不需要容器节省资源,数据库不再使用jndi,数据库配置信息放在系统内部处理,数据库参数统一放在properties文件管理
四.Dubbo管理平台
dubbo管理控制台开源部分主要包含: 提供者 路由规则 动态配置 访问控制 权重调节 负载均衡 负责人,等管理功能。
通过异步形式和注册中心通讯,不会对服务提供者和消费者造成影响。