为什么要用dubbo?

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

单一应用架构

当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM) 是关键。

垂直应用架构

当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC) 是关键。

分布式服务架构

当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。

此时,用于提高业务复用及整合的分布式服务框架(RPC) 是关键。

流动计算架构

当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。

此时,用于提高机器利用率的资源调度和治理中心(SOA) 是关键。

废话不多说,先搭建一个看看是怎么一回事?–

目前对我来说就是,我A工程想调用B工程中的方法怎么办?我import不进来啊,这时候我就需要远程调用的方法了,怎么远程调用呢?dobbu给我提供了一个好的开源框架,那我就用它来操作吧!

dubbo和zookeeper啥关系?

简单来说打个比方:dubbo就是动物园的动物,zookeeper是动物园。如果游客想看动物的话那么就去动物园看。比如你要看老虎,那么动物园有你才能看到。换句话说我们把很多不同的dubbo(动物)放到zookeeper(动物园中)提供给我们游客进行观赏。这个过程中三个关键:场所、供给者、消费者。

再说一个分布式的项目,server(消费)层与 service(供给)层被拆分了开来, 部署在不同的tomcat中, 我在server层需要调用 service层的接口,但是两个运行在不同tomcat下的服务无法直接互调接口,那么就可以通过zookeeper和dubbo实现。就好比把动物放到动物园,我们要看了直接去动物园就行。而不能直接去动物生活的地方去看,会有性命安全之忧(比如你去看老虎)。

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

下面我们的server层需要来调用 service接口了,由于在不同的工程中,它是无法直接找到service接口的,我们使用dubbo再来引用注册进入的dubbo服务。

我们先填写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=D:\\server\\zookeeper-3.5.3-beta\\data

dataLogDir=D:\\server\\zookeeper-3.5.3-beta\\log

#dataDir=/tmp/zookeeper

从上面代码可以看到添加了两行。在本机里。zookeeper放在D盘里,然后就添加了dataDir及dataLogDir两个变量。与此同时在zookeeper文件根目录下新建data及log两个文件夹,如果不创建,后面运行脚本是地会报错。

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

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

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

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

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

下载下来是这样的一个目录结构:

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

打包war包,进入dubbo-admin这个文件目录 运行命令:

mvn package

如果看到下图结果,说明打包成功了:

打包成功之后,就会发现dubbo-admin下多了个target文件夹,打开target文件夹,发现里面有个war包:

把dubbo-admin-2.5.7.war文件复制到tomcat的webapps目录下,

在tomcat的bin目录下运行:tomcat8.0w.exe

它会自动在webapps下生成一个文件夹,然后关闭tomcat8.0w.exe,修改端口号改成9090

然后启动在bin目录下启动tomcat8.0.exe即可:

启动后,输入

http://localhost:9090/dubbo-admin-2.5.7/

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

这个和你的配置文件里面的内容是相关的:

D:\server\Tomcat 8.5\webapps\dubbo-admin-2.5.7\WEB-INF

我的目录如图上所示,里面有一个dubbo.properties的文件:

dubbo.registry.address=zookeeper://127.0.0.1:2181dubbo.admin.root.password=root dubbo.admin.guest.password=guest

成功输入以后:

官方说明
http://dubbo.apache.org/zh-cn/docs/user/preface/usage.html

为什么要用dubbo,dubbo和zookeeper关系,简单的dubbo搭建相关推荐

  1. Dubbo+zookeeper 最简单的分布式搭建

    介绍:本例采用 dubbo+zookeeper 搭建分布式系统,环境 jdk1.8 运行介绍:启动 zookeeper - 启动服务提供者 - 启动服务消费者 整个项目的代码已上传到github,ht ...

  2. 最全最简单的dubbo教程

    前言 网上看dubbo相关文章,都是一堆复制粘贴的,有的甚至直接复制官网的变成自己的博客.无奈之下只有自己学习,顺便把学习的结果分享给大家.全部案例均使用最新的springboot的形式,传统mian ...

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

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

  4. zookeeper 密码_阿里资深JAVA架构带你深度剖析dubbo和zookeeper关系

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

  5. dubbo 注册中心zookeeper 手册

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. zookeeper 注册中心 Zookeeper 是 Apacahe Hadoop 的子项目,是一个 ...

  6. 没有Dubbo Admin,怎么查看zookeeper中注册的dubbo服务?

    之前查看zookeeper中注册的dubbo服务,用的都是dubbo admin这种现成的工具. 旧版本dubbo admin长这样 (本图片来自网络) 新版本长这样 服务不太正常的时候,用dubbo ...

  7. springboot整合dubbo时连接zookeeper——天坑

    本文主要针对使用springboot整合dubbo框架时使用zookeeper作为注册中心,在服务启动连接zookeeper产生的问题做一个详细的讲解. 主要针对两个异常 (1)java.lang.I ...

  8. dubbo学习笔记 第四章构建dubbo的web应用 上

    上一章节介绍了dubbo的开源项目自带的例子,但是这些例子都是直接运行main方法来跑代码,实际应用中我们更多地是需要使用web应用来支撑,接下来介绍一下如何搭建dubbo的web应用,我们将用的sp ...

  9. dubbo学习笔记 第三章简介dubbo的工作原理

    一.工作原理图 这是dubbo官网的关于dubbo工作原理,其中最核心的应该是Registry注册中心,Monitor,Consumer消费者和Provider服务提供者四个部分,注册中心关系这消费者 ...

  10. dubbo k8s 服务发现_工商银行基于 Dubbo 构建金融微服务架构的实践-服务发现篇

    作者 | 张远征来源|阿里巴巴云原生公众号 导读:Dubbo 作为分布式微服务框架,众多公司在实践中基于 Dubbo 进行分布式系统架构.重启开源后,我们不仅看到 Dubbo 3.0 最新的 Road ...

最新文章

  1. 24个必须掌握的数据库面试问题~
  2. 数据结构 - 二叉排序树
  3. CodeForces - 363D Renting Bikes(二分+贪心)
  4. 程序开机全屏且不能见任何windows界面、不能使用系统热键
  5. DB排行榜更新,.NET Core+MySQL成主流!
  6. android磁场传感器页面布局在哪,基于磁场检测的寻线小车传感器布局研究
  7. 求1!+2!+3!+....20!的值
  8. 收集系统性能数据并通过gnuplot绘图
  9. 二十三种设计模式[4] - 原型模式(Prototype Pattern)
  10. Linux内存使用消耗高
  11. 如何给REED3阅读器都opml文件
  12. 泛微OA系统新增短信宝短信插件
  13. 【转】UEFI引导修复教程和工具
  14. Bluetooth Battery Monitor(蓝牙电量监控软件)
  15. 1小时,不会代码的我如何完成 网易云音乐 大作业网页制作?(IVX 第2篇)
  16. 4K、高清、无水印视频素材库
  17. 关于更换固态硬盘的一些经历...
  18. 局域网 --- 共享文件夹设置与访问
  19. php源生代码是什么,php源生分页代码+join连接多表
  20. JWT生成token与中间件验证

热门文章

  1. RedHat下通过Rdesktop连接window远程桌面
  2. 《啊哈!算法》-第 4 章:万能的搜索 - 宝岛冒险
  3. polymorphic-associations 多态关联实例 ruby on rails
  4. 操作系统原理常见面试题总结
  5. Android 开机自启动应用
  6. hdu 1242 Rescue(BFS入门)
  7. 一些TC内置的环境环境变量(注意字母必须大写,且只能在TC内用)
  8. WebSite设置首页或是加入收藏夹功能
  9. 解决Eclipse建Maven项目module无法转换为2.5
  10. 8.PHP核心技术与最佳实践 --- 缓存