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

1人阅读 评论(0) 收藏 举报

介绍:本例采用 dubbo+zookeeper 搭建分布式系统,环境 jdk1.8


运行介绍:启动 zookeeper - 启动服务提供者 - 启动服务消费者
整个项目的代码已上传到github,https://github.com/brotherAndy/dubbo,欢迎查看。


分布式架构:
1.当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,前端应用能更快速的响应多变的市场需求。
2.此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键。

Dubbo 是什么

  • 一款分布式服务框架
  • 高性能和透明化的RPC远程服务调用方案
  • SOA服务治理方案

Dubbo 架构流程图

这里写图片描述

Provider:服务提供方
Consumer:服务消费者
Registry:注册中心
Monitor:统计服务调用次数和调用时间的监控中心

调用流程
0.启动服务提供者。
1.服务提供者在启动时,向注册中心注册自己提供的服务。
2.服务消费者在启动时,向注册中心订阅自己所需的服务。
3.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

注册中心
服务提供方:针对所提供的服务到注册中心发布。
服务消费方:到服务中心订阅所需的服务。
对于任何一方,不论服务提供方或者服务消费方都有可能同时兼具两种角色,即需要提供服务也需要消费服务。

架构搭建案例

1.zookpeeper 安装

去官网下载 zookpeeper

把包下载后,解压到目录,例如:D:\software\work\zookeeper (解压后更名为zookeeper)
修改zoo_sample.cfg 文件名(D:\software\work\zookeeper\conf) 为 zoo.cfg
主要更改配置文件里面的日志目录,如下:
dataDir=D:\zookeeper\data
dataLogDir=D:\zookeeper\log

启动
进入到bin目录,并且启动zkServer.cmd,如图:
zookeeper运行效果

2.创建maven工程

工程分为4个结构

  • dubbo 工程,主工程,主要导入公共jar包等
  • dubbo-api 工程,公共接口
  • dubbo-provider 工程,服务提供者
  • dubbo-consumer-user 和 dubbo-consumer 工程,服务消费者
    项目结构

(注:每个工程都是独立的,通过maven 引入父子关系)
1.创建dubbo 的maven 主工程
创建步骤省略,主要导入相关jar包等,具体请查看给到源码的pom.xml,此工程暂仅配置pom.xml,没有其他操作

2.创建dubbo-api 的maven 接口工程
主要定义接口,并配置好pom.xml
api工程目录user接口

3.创建dubbo-provider 的maven 工程
服务提供者,实现公共接口的实现,此实现对消费者隐藏

加入公共接口所在的依赖
工程依赖
接口实现
user实现
用Spring配置声明服务
Spring声明服务
服务者启动(前提启动 zookeeper)
服务者启动

4.创建dubbo-consumer-user 的maven 工程(可以有多个consumer,配置跟上)
服务消费者,实现公共接口的实现,调用服务

通过Spring引用服务
服务引用
启动consumer ,调用服务
调用服务

5.运行项目,顺序:zookeeper –> dubbo-provider –> dubbo-consumer-user

运行结果
运行结果

3.dubbo-admin 搭建

提供界面化管理dubbo 服务

下载地址
https://itmayun.ctfile.com/fs/3011962-230676583

下载后把war包放入tomcat的webapps目录下,启动tomcat

浏览器输入:http://localhost:8080/dubbo-admin/
默认账号: root 密码:root

效果图:
服务列表
dubbo-admin
服务详细
dubbo-admin

整个项目的代码已上传到github,https://github.com/brotherAndy/dubbo,欢迎查看。

查看评论

dubbo+zookeeper 分布式项目搭建

dubbo简介:            系统间服务调用方式有三种,浏览器直接访问,通过ajax或者jsonp方式请求。第二种,httpclient方式发起http协议的请求,是后台调用。第三...
  • u012904383
  • u012904383
  • 2017-02-16 11:05:48
  • 6973

Dubbo+zookeeper入门示例搭建

参考文章:http://blog.csdn.net/doegoo/article/details/49679781 http://www.cnblogs.com/ASPNET2008/p/56220...
  • qi531621028
  • qi531621028
  • 2016-11-24 17:14:04
  • 1919

Dubbo分布式框架入门简单例子(附工程源码)

要想了解Dubbo是什么,我们不防先了解它有什么用。  使用场景:比如我想开发一个网上商城项目,这个网上商城呢,比较复杂,分为pc端web管理后台,微信端销售公众号,那么我们分成四个项目,pc端网站,...
  • Jason763
  • Jason763
  • 2017-06-11 21:54:13
  • 634

java简单搭建分布式架构

一般来说,数据库的数据过多,查询效率就很慢,这时候我们如果把表分库到不同的数据库,这时候访问速度就会快很多,如果并且采用多线程去访问的话,查询速度也会提高的更快,我这里是运行内存8核电脑进行测试的单个...
  • qq_27026603
  • qq_27026603
  • 2018-03-20 20:28:50
  • 132

Dubbo入门-分布式原理详解--搭建一个最简单的Demo框架

Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起。 1,单一应用框架(ORM)  当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部...
  • xfl4629712
  • xfl4629712
  • 2017-10-25 17:26:26
  • 296

简单分布式架构(附源码)

使用Oracle、Tomcat、Modjk、SpringMVC、Hibernate3、ActiveMQ技术搭建一个(最)简单的分布式小说爬虫项目。...
  • u013292160
  • u013292160
  • 2017-03-30 17:43:38
  • 974

dubbo+zookeeper的分布式部署

1 启动zookeeper   ############################################################# [root@dataNode6 bin]#...
  • dl0246
  • dl0246
  • 2017-09-14 21:47:46
  • 350

zookeeper+Dubbo环境搭建及简单Demo

一、运行环境 本文运行环境:windows 7  + JDK1.8 + zookeeper-3.3.6 + dubbo-admin-2.5.4 (支持JDK 1.8)+ dubbo 2.5.3 所需工...
  • zgsdzczh
  • zgsdzczh
  • 2017-11-29 14:43:12
  • 3311

Dubbo基于Zookeeper实现分布式服务:Dubbo+Zookeeper+Spring整合应用

Dubbo基于Zookeeper实现分布式服务:Dubbo+Zookeeper+Spring整合应用。 Dubbo 是阿里巴巴公司开源的一个高性能优秀的分布式服务框架,高性能和透明化的RPC远程服务...
  • JavaWebRookie
  • JavaWebRookie
  • 2017-03-26 20:51:39
  • 3571

一个简单的案例带你入门Dubbo分布式框架

相信有很多小伙伴都知道,dubbo是一个分布式、高性能、透明化的RPC服务框架,提供服务自动注册、自动发现等高效服务治理方案,dubbo的中文文档也是非常全的,中文文档可以参考这里dubbo.io。由...
  • u012702547
  • u012702547
  • 2017-08-26 19:13:49
  • 2521
    个人资料
    持之以恒
    等级:
    访问量: 2022
    积分: 233
    排名: 34万+
    文章分类
    文章存档