dubbo简单使用(一)

笔者闲来无事了解下dubbo,这里做一些记录:

一、简介

阿里用户手册地址:http://dubbo.apache.org/books/dubbo-user-book/preface/background.html

具体介绍请看文档。

笔者没有接触过大型到需要服务(service)也分开管理的项目,个人理解是,一个大规模的项目,例如阿里巴巴,整体下面有许多的子模块(module),而部分子模块之间又相互联系(耦合),以至于复杂到准确调用服务也是一件困难的事。

注:module可以理解为一个独立的小系统,只是方法调用上可能有父子关系

这里调用者和被调用者之间发生矛盾,以常规思路解决就是引用第三者,通过第三者来管理服务,甚至抽取一些核心服务,简化服务的调用。

最后提一下服务集群,例如一个注册用户的服务A(国家考试一类),当天访问量有几千万,在一个机器上完成这个注册是低效的,甚至服务器宕机,这时由dubbo分离出来的服务A可以集群,只要将服务A部署到多台机器,然后分别注册,再修改配置文件端口即可,如机器一是20880,机器二是20881:


这样访问者就会根据权重随机分配到不同机器,减轻机器压力。

结构图如下:


这里的注册中心就是第三者,service接口(生产者)发布到注册中心,调用者从注册中心直接调用接口,然后执行接口实现,笔者觉得有些类似于webservice,即远程调用接口。

二、注册中心安装(zookeeper)

按照官方建议,笔者选择zookeeper作为注册中心,具体zookeeper的功能,笔者也不甚了解,不过只是学习dubbo知道简单安装启动即可。

zookeeper支持windows中运行,也支持linux中运行,项目部署使用linux,这里为了方便测试使用win运行。

zookeeper主页: http://zookeeper.apache.org/

1,下载一个稳定较新的版本,解压到本地非中文路径下。

2,执行zookeeper-3.4.11\bin路径下zkServer.cmd启动。

3,第一次启动可能闪退,打开zkServer.cmd,末尾加pause,防止闪退,查看报错信息。

4,笔者的问题是第一次启动,没有找到zoo.cfg文件,到zookeeper-3.4.11\conf路径下复制一份zoo_sample.cfg改名zoo.cfg即可

注:zoo_sample.cfg是一个demo配置文件,其中默认端口是2181,这里使用默认配置。

猜你喜欢

转载自blog.csdn.net/gcc_java/article/details/80001481
今日推荐