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

目录
  • Dubbo+zookeeper 最简单的分布式搭建
  • Dubbo 是什么
  • Dubbo 架构流程图
  • 架构搭建案例
    • 1.zookpeeper 安装
    • 2.创建maven工程
    • 3.dubbo-admin 搭建

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

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

运行介绍:启动 zookeeper - 启动服务提供者 - 启动服务消费者
整个项目的代码已上传到github,https://github.com/brotherAndy/dubbo,欢迎查看。
整个项目的代码已上传csdn下载频道,http://xiazai.jb51.net/202204/yuanma/dubbo_master_jb51.rar,欢迎下载。

分布式架构:
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,如图:

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

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

加入公共接口所在的依赖

接口实现

用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

效果图:
服务列表

服务详细

整个项目的代码已上传到github,https://github.com/brotherAndy/dubbo,欢迎查看。
整个项目的代码已上传csdn下载频道,http://xiazai.jb51.net/202204/yuanma/dubbo_master_jb51.rar,欢迎下载。

(0)

相关推荐

  • Dubbo+zookeeper搭配分布式服务的过程详解

    目录 分布式架构: Dubbo 是什么 Dubbo: 思想: 依赖: 分布式架构: 1.当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,前端应用能更快速的响应多变的市场需求. 2.此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键. Dubbo 是什么 一款分布式服务框架 高性能和透明化的RPC远程服务调用方案 SOA服务治理方案 Dubbo: 作为分布式架构比较后的框架,同时也是比较容易入手的框架,适合作为分布式的入手框架,下

  • SpingBoot+Dubbo+Zookeeper实现简单分布式开发的应用详解

    开始接触分布式概念,学习之前要准备搭建Dubbo和Zookeeper环境的简单搭建. Window下安装Zookeeper和Dubbo-admin 1.Apache官网下载Zookeeper 点击官网地址下载最新版 下载完成后,打开apache-zookeeper-3.6.2-bin\bin下zkServer.cmd,正常第一次都会闪退的,因为没有配置好zoo.cfg配置文件. 将conf目录下的zoo_sample.cfg文件,复制一份,重命名为zoo.cfg 在apache-zookeepe

  • springBoot+dubbo+zookeeper实现分布式开发应用的项目实践

    目录 环境搭建 1.我们首先做好服务端 2.启动服务端 3.我们再来做客户端 4.总结 环境搭建 项目结构图: 1.我们首先做好服务端 pom.xml <dependencies> <!--导入依赖:Dubbo + zookeeper--> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifac

  • SpringBoot中dubbo+zookeeper实现分布式开发的应用详解

    总体实现思路是启动一个生产者项目注册, 将所含服务注册到zookeeper的注册中心, 然后在启动一个消费者项目,将所需服务向zookeeper注册中心进行订阅, 等待注册中心的通知 注册中心基于负载均衡算法给消费者匹配到合适的生产者主机,然后通知消费者可以使用 实现生产者 导入zookeeper依赖包 <!-- Dubbo Spring Boot Starter --> <dependency> <groupId>org.apache.dubbo</groupI

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

    目录 Dubbo+zookeeper 最简单的分布式搭建 Dubbo 是什么 Dubbo 架构流程图 架构搭建案例 1.zookpeeper 安装 2.创建maven工程 3.dubbo-admin 搭建 Dubbo+zookeeper 最简单的分布式搭建 介绍:本例采用 dubbo+zookeeper 搭建分布式系统,环境 jdk1.8 运行介绍:启动 zookeeper - 启动服务提供者 - 启动服务消费者整个项目的代码已上传到github,https://github.com/broth

  • SpringBoot+Dubbo+Zookeeper实现简单分布式开发的应用详解

    开始接触分布式概念,学习之前要准备搭建Dubbo和Zookeeper环境的简单搭建. Window下安装Zookeeper和Dubbo-admin 1.Apache官网下载Zookeeper 点击官网地址下载最新版 下载完成后,打开apache-zookeeper-3.6.2-bin\bin下zkServer.cmd,正常第一次都会闪退的,因为没有配置好zoo.cfg配置文件. 将conf目录下的zoo_sample.cfg文件,复制一份,重命名为zoo.cfg 在apache-zookeepe

  • springboot+dubbo+zookeeper的简单实例详解

    目录 服务端 消费端 在dubbo-admin-0.0.1-SNAPSHOT.jar的路径下启动dubbo,java -jar dubbo-admin-0.0.1-SNAPSHOT.jar dubbo-admin-0.0.1-SNAPSHOT.jar的包需要提前打好 启动zookeeper的zkServer.cmd和zkCli.cmd 需要的依赖 <!-- 导入依赖:zookeeper + dubbo --> <!-- https://mvnrepository.com/artifact

  • Spring与Dubbo搭建一个简单的分布式详情

    目录 一.zookeeper 环境安装搭建 二.实现服务接口 dubbo-interface 1. dubbo-interface 项目创建 2. 创建接口类 3. 将项目打成 jar 包供其他项目使用 三.实现服务提供者 dubbo-provider 1. dubbo-provider 项目创建 2. pom 文件引入相关依赖 3. 在 application.properties 配置文件中配置 dubbo 相关信息 4. 实现接口 5. 服务提供者启动类编写 四.实现服务消费者 dubbo

  • 分布式服务Dubbo+Zookeeper安全认证实例

    前言 由于之前的服务都是在内网,Zookeeper集群配置都是走的内网IP,外网不开放相关端口.最近由于业务升级,购置了阿里云的服务,需要对外开放Zookeeper服务. 问题 Zookeeper+dubbo,如何设置安全认证?不想让其他服务连接Zookeeper,因为这个Zookeeper服务器在外网. 查询官方文档: Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并推荐使

  • Springboot 整合 Dubbo/ZooKeeper 实现 SOA 案例解析

    一.为啥整合 Dubbo 实现 SOA Dubbo 不单单只是高性能的 RPC 调用框架,更是 SOA 服务治理的一种方案. 核心: 远程通信,向本地调用一样调用远程方法. 集群容错 服务自动发现和注册,可平滑添加或者删除服务提供者. 我们常常使用 Springboot 暴露 HTTP 服务,并走 JSON 模式.但慢慢量大了,一种 SOA 的治理方案.这样可以暴露出 Dubbo 服务接口,提供给 Dubbo 消费者进行 RPC 调用.下面我们详解下如何集成 Dubbo. 二.运行 spring

随机推荐