为什么要用dubbo,dubbo和zookeeper关系

为什么要用dubbo?
当网站规模达到了一定的量级的时候,普通的MVC框架已经不能满足我们的需求,于是分布式的服务框架
和流动式的架构就凸显出来了。

单一应用架构
当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。

垂直应用架构
当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。

分布式服务架构
将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。

流动计算架构
提高机器利用率的资源调度和治理中心(SOA) 是关键。

A工程想调用B工程中的方法怎么办?我import不进来啊,这时候我就需要远程调用的方法了,怎么远程调用呢?

dubbo和zookeeper啥关系?

dubbo就是动物园的动物,zookeeper是动物园。如果游客想看动物的话那么就去动物园看。比如你要看老虎,
那么动物园有你才能看到。

这个过程中三个关键:场所、供给者、消费者。

就好比把动物放到动物园,我们要看了直接去动物园就行。而不能直接去动物生活的地方去看,会有
性命安全之忧(比如你去看老虎)。

通过dubbo 建立service这个服务,并且到zookeeper上面注册,填写对应的zookeeper服务所在 的IP
及端口号。

搭建简单的dubbo
1.下载zookeeperhttp://mirrors.hust.edu.cn/apache/zookeeper/
zookeeper-3.5.3-beta/zookeeper-3.5.3-beta.tar.gz

2.配置:
zookeeper的配置文件在conf目录,有zoo_sample.cfg 和 log4j.properties,将zoo_sample.cfg 
重命名成zoo.cfg,因为 zookeeper 在启动时会找这个文件作为默认配置文件。

3.修改zoo.cfg.
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/usr/local/software/zookeeper-3.4.6/data
# the port at which the clients will connect
clientPort=2181

完成后,进入bin目录,运行zkServer.sh脚本,让后就可以在单机上将zookeeper跑起来了。

剩下来的事情就是去配置DUBBO的XML文件了,通过IP地址的设置,提供本地的服务。

管理中心(动物园)和供给者(各种动物),消费者(万千游客)

dubbo的使用,其实只需要有管理中心(动物园)和供给者(各种动物),消费者(万千游客)这三个就可以
使用了,但是并不能看到有哪些消费者和提供者,为了更好的调试,发现问题,解决问题,因此引入dubbo-admin。

dubbo-admin的下载,可自行到官网下载:https://github.com/alibaba/dubbo

这里我们只关心dubbo-admin这个文件夹,将dubbo-addmin打成war包,war包网上也有,但是下载了很多
下来都会有问题,原因是每个人的电脑配置环境不一样,因此我们自己打包一个war就好。

然后会提示你输入用户名和密码—-都是root

dubbo为什么用到了zookeeper

简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,
才有dubbo这样的分布式服务框架的需求
告别Web Service模式中的WSdl,以服务者与消费者的方式在dubbo上注册

利用zookeeper生成的节点树,服务器提供者在启动的时候,将提供的服务名称和地址以节点的方式注册
都服务器zookeeper服务器配置中心

 

你可能感兴趣的:(为什么要用dubbo,dubbo和zookeeper关系)