广告位联系
返回顶部
分享到

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

java 来源:互联网 作者:秩名 发布时间:2022-04-03 18:38:30 人浏览
摘要

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

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,如图:

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 服务

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

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

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

效果图:
服务列表

dubbo-admin

服务详细

dubbo-admin

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


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://blog.csdn.net/hua1586981/article/details/79195111
相关文章
  • SpringBoot自定义错误处理逻辑介绍

    SpringBoot自定义错误处理逻辑介绍
    1. 自定义错误页面 将自定义错误页面放在 templates 的 error 文件夹下,SpringBoot 精确匹配错误信息,使用 4xx.html 或者 5xx.html 页面可以打印错误
  • Java实现手写一个线程池的代码

    Java实现手写一个线程池的代码
    线程池技术想必大家都不陌生把,相信在平时的工作中没有少用,而且这也是面试频率非常高的一个知识点,那么大家知道它的实现原理和
  • Java实现断点续传功能的代码

    Java实现断点续传功能的代码
    题目实现:网络资源的断点续传功能。 二、解题思路 获取要下载的资源网址 显示网络资源的大小 上次读取到的字节位置以及未读取的字节
  • 你可知HashMap为什么是线程不安全的
    HashMap 的线程不安全 HashMap 的线程不安全主要体现在下面两个方面 在 jdk 1.7 中,当并发执行扩容操作时会造成环形链和数据丢失的情况 在
  • ArrayList的动态扩容机制的介绍

    ArrayList的动态扩容机制的介绍
    对于 ArrayList 的动态扩容机制想必大家都听说过,之前的文章中也谈到过,不过由于时间久远,早已忘却。 所以利用这篇文章做做笔记,加
  • JVM基础之字节码的增强技术介绍

    JVM基础之字节码的增强技术介绍
    字节码增强技术 在上文中,着重介绍了字节码的结构,这为我们了解字节码增强技术的实现打下了基础。字节码增强技术就是一类对现有字
  • Java中的字节码增强技术

    Java中的字节码增强技术
    1.字节码增强技术 字节码增强技术就是一类对现有字节码进行修改或者动态生成全新字节码文件的技术。 参考地址 2.常见技术 技术分类 类
  • Redis BloomFilter布隆过滤器原理与实现

    Redis BloomFilter布隆过滤器原理与实现
    Bloom Filter 概念 布隆过滤器(英语:Bloom Filter)是1970年由一个叫布隆的小伙子提出的。它实际上是一个很长的二进制向量和一系列随机映射
  • Java C++算法题解leetcode801使序列递增的最小交换次

    Java C++算法题解leetcode801使序列递增的最小交换次
    题目要求 思路:状态机DP 实现一:状态机 Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 class Solution { public int minSwap(int[] nums1, int[] nums2) { int n
  • Mybatis结果集映射与生命周期介绍

    Mybatis结果集映射与生命周期介绍
    一、ResultMap结果集映射 1、设计思想 对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了 2、resultMap的应用场
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计