Dubbo与 Zookeeper

一.zookeeper与dubbo的使用 zookeeper与dubbo的使用 零.前言 按照计划,本月开始学习总结分布式和集群的相关知识点。公司所在项目使用的分布式是基于zookeeper和dubbo,就以它们为例进行总结,zookeeper是对分布式服务进行协调的应用,dubbo是分布式服务框架。学习理论枯燥且难以直观理解,本篇只讲使用,续文再讲原理。 一.zookeeper安装 二.dubbo安装 三.dubbo se 阅读详情

dubbo是动物..zookeeper是动物园的管理员!

按我的理解,您可以把dubbo服务想象成学校里的一个学生,并且对应有一个学号,zookeeper则是想象成一个教务网管理系统。我们可以通过教务网管理系统,查找到对应的学生。我们首先通过注册入学,将学生和学号对应绑定。

比方说项目是一个分布式的项目,web层与 service层被拆分了开来, 部署在不同的tomcat中, 我在web层 需要调用 service层的接口,但是两个运行在不同tomcat下的服务无法直接互调接口,那么就可以通过zookeeper和dubbo实现。

我们通过dubbo 建立这个服务,并且到zookeeper上面注册,填写对应的zookeeper服务所在 的IP及端口号。【按照我上面的比喻就是,学生注册入学(接口是学号,学生本人是impl实现),填写学校教务网网址(就是zookeeper)】

 

Dubbo建议使用Zookeeper作为服务的注册中心。

1.   Zookeeper的作用:

        zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是ip地址和服务名称的对应关系。当然也可以 通过硬编码的方式把这种对应关系在调用方业务代码中实现,但是如果提供服务的机器挂掉调用者无法知晓,如果不更改代码会继续请求挂掉的机器提供服务。 zookeeper通过心跳机制可以检测挂掉的机器并将挂掉机器的ip和服务对应关系从列表中删除。至于支持高并发,简单来说就是横向扩展,在不更改代码 的情况通过添加机器来提高运算能力。通过添加新的机器向zookeeper注册服务,服务的提供者多了能服务的客户就多了。

 

2.  dubbo:

      是管理中间层的工具,在业务层到数据仓库间有非常多服务的接入和服务提供者需要调度,dubbo提供一个框架解决这个问题。

      注意这里的dubbo只是一个框架,至于你架子上放什么是完全取决于你的,就像一个汽车骨架,你需要配你的轮子引擎。这个框架中要完成调度必须要有一个分布式的注册中心,储存所有服务的元数据,你可以用zk,也可以用别的,只是大家都用zk。

3. zookeeper和dubbo的关系:
      Dubbo的将注册中心进行抽象,是得它可以外接不同的存储媒介给注册中心提供服务,有ZooKeeper,Memcached,Redis等。
      引入了ZooKeeper作为存储媒介,也就把ZooKeeper的特性引进来。首先是负载均衡,单注册中心的承载能力是有限的,在流量达到一定程度的时 候就需要分流,负载均衡就是为了分流而存在的,一个ZooKeeper群配合相应的Web应用就可以很容易达到负载均衡;资源同步,单单有负载均衡还不 够,节点之间的数据和资源需要同步,ZooKeeper集群就天然具备有这样的功能;命名服务,将树状结构用于维护全局的服务地址列表,服务提供者在启动 的时候,向ZK上的指定节点/dubbo/${serviceName}/providers目录下写入自己的URL地址,这个操作就完成了服务的发布。 其他特性还有Mast选举,分布式锁等。

 

 

【zookeeper面试】

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

1、zookeeper是一个开源的分布式协调服务框架。

2、应用场景:分布式通知/协调、负载均衡、配置中心、分布式锁、分布式队列等。

3、使用ZAB协议。

4、Paxos算法。

5、选举算法及流程。

6、节点类型:持久节点、持久顺序节点、临时节点、临时顺序节点。

7、不是永久的,一次性的,需要借助第三方工具实现重复注册。

8、部署模式:单机模式、伪集群模式、集群模式。

9、集群角色:leader、foller、observer。

10、集群规则为2N+1台,N>0,即3台。

11、集群需要一半以上的机器可用,所以,3台挂掉1台还能工作,2台不能。

12、3.5版本开始支持动态扩容。

13、java客户端:zk自带的zkclient及Apache开源的Curator。

14、chubby是google的,完全实现paxos算法,不开源。zookeeper是chubby的开源实现,使用zab协议,paxos算法的变种。

15、常用命令:ls get set create delete等。

 

【Dubbo面试题】

Spring Eureka 从开源转变为闭源,Consul 正在崛起,而Dubbo又开始重新更新。目前市场上仍有不少公司使用dubbo我们也需要继续学习。

1、默认也推荐使用netty框架,还有mina。

2、默认是阻塞的,可以异步调用,没有返回值的可以这么做。

3、推荐使用zookeeper注册中心,还有redis等不推荐。

4、默认使用Hessian序列化,还有Duddo、FastJson、Java自带序列化。

5、服务失效踢出基于zookeeper的临时节点原理。

6、采用多版本开发,不影响旧版本。

7、可以结合zipkin实现分布式服务追踪。

8、核心配置有 dubbo:service/ dubbo:reference/ dubbo:protocol/ dubbo:registry/ dubbo:application/ dubbo:provider/ dubbo:consumer/ dubbo:method/

9、默认使用dubbo协议。

10、可以直连,修改配置即可,也可以通过telnet直接某个服务。

11、读操作建议使用Failover失败自动切换,默认重试两次其他服务器。写操作建议使用Failfast快速失败,发一次调用失败就立即报错。

12、dubbox是当当网基于dubbo上做了一些扩展,如加了服务可restful调用,更新了开源组件等。

16、别的还有spring的spring cloud,facebook的thrift,twitter的finagle等。

Zookeeper与Dubbo ## 笔记整理 一、Zookeeper 首先Zookeeper是一个分布式应用程序协调服务(自身),为分布式应用提供一致性服务的软件。 提供功能包括:配置维护、域名服务、分布式同步、组服务等(存储数据和监听服务) 集群机制:半数存活机制(集群节点最好... 阅读详情

相关推荐

Python异步协程爬虫优化:解决aiohttp中ServerDisconnectedError的高效策略

本文深入探讨了在Python异步协程爬虫中使用aiohttp时,如何高效解决常见的ServerDisconnectedError问题。核心策略包括全局复用ClientSession、精细配置TCPConnector连接池、实施请求重试与速率限制,从而构建稳定、高效的异步爬虫架构,有效避免服务器断开连接错误。

pz890123的博客 857

服务框架Dubbo和ZooKeeper

本篇为动物园之旅~ dubbo看作动物园的动物,那么zookeeper就是动物园 如果有人想去动物园看小老虎,那么动物园中有小老虎才能看到,否则看不到~

m0_66689823的博客 7186

【AI智能体】图像处理-生成营销 Banner 图

生成营销 Banner 图是一款用于制作营销图片的智能体,它可以根据指定的营销活动内容,快速生成活动 Banner 图片,降低活动运营成本、提高制图效率。

AI创变工坊,和1000万新个体创业者一起成长!愿大家都能跟上时代的洪流,不被社会淘汰,愿大家的生活工作收入都能具备竞争力! 1175

Dubbo框架+zookeeper详解

Dubbo :是一个RPC框架,SOA框架: Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。 作为RPC:支持各种传输协议,如dubbo,hession,json,fastjson,底层采用mina,netty长连接进行传输!典型的provider和cusomer模式 作为SOA:具有服务治理功能,提供服务的注册和发现,用zookeeper实现注册中心,启动时候服务端会把所有接口注册到注册中心,并且订阅configurat

qq_22162093的博客 1万+

WRF和WPS模型在Ubuntu系统上的安装与常见问题解决指南

本文详细介绍了在Ubuntu系统上安装WRF和WPS模型的完整教程,涵盖系统环境配置、依赖库安装、源代码编译以及常见问题的解决方案。重点解决了WPS编译中intmath.f文件的修改、环境变量设置和编译器兼容性等关键难点,帮助用户高效部署气象研究与预报模型。

weixin_29213525的博客 381

数据库原理及应用教程课后习题答案 第4版 微课版 陈志泊主编

数据库原理及应用教程 第4版 微课版 陈志泊主编 习题参考答案

共同学习,心怀感激。 5万+

Apache Dubbo概述

DubboDubbo简介Dubbo架构服务注册中心ZookeeperZookeeper介绍Dubbo快速入门开发步骤 Dubbo简介 Apache Dubbo是一款高性能、轻量级的Java RPC框架。其前身是阿里巴巴公司开源的一个高性能、轻量级的开源Java RPC框架,可以和Spring框架无缝集成。 什么是RPC? RPC全称为remote procedure call,即远程过程调用。比如两台服务器A和B,A服务器上部署一个应用,B服务器上部署一个应用,A服务器上的应用想调用B服务器上的应用提供的方

Zhang_1024A的博客 618

2024高校网络安全管理运维赛题目--复现+题目+wp

官方writeup集思广益比较好的备份。

书山有路勤为径,学海无涯苦作舟 1321

dubbo和zookeeper概念简介

互联网项目目标,dubbo,zookeeper

weixin_41500775的博客 857

Zabbix安装与部署 系统环境:centos7.0

Zabbix安装与部署 系统环境:centos7.0

weixin_42485027的博客 2600

Python爬虫实战:使用最新技术爬取新浪新闻首页数据

本文详细介绍了三种爬取新浪新闻首页的技术方案,从简单的requests-html到强大的Playwright,再到分布式Scrapy架构。小规模爬取:requests-html或aiohttp方案需要JavaScript渲染:Playwright方案大规模分布式爬取:Scrapy-Redis方案。

2201_76125261的博客 1243

Zookeeper详细介绍+dubbo简单介绍+简单大白话讲解

Zookeeperzookeeper前言zookeeper简介绍dubbo中为何使用zookeeper(如果理解dubbo实现原理可以忽略)dubho好处简单介绍下dubbo如何使用zookeeper的zookeeper流程图dubbo和zookeeper简单大白话讲解zookeeper以什么形式保存service(interface)和serviceImpl(实现interface)宏观性结束语 zookeeper前言 很多初步了解zookeeper是什么时候一定很蒙圈,因为不知道是用在哪里?如果有使用过

weixin_40751916的博客 3973

基于高斯两步移动搜寻法(2SFCA)的城市绿地可达性分析

第二步,对于每一个街道i,给定空间距离阈值d0,便形成另一个空间作用域,同样对于落在空间作用域内的每块绿地l的供给比率(Rl)利用高斯方程赋以权重,然后对这些加权后的供给比率(Rl)进行加和,便得到每个街道i的绿地可达性Ai。图3与图4是高斯两步移动搜索法的示例。在图3中,以d0为阈值,有1、2、3 三个街道中心点落在了绿地a的空间作用域内。同样在图4中,以d0为阈值,有a、c两个绿地中心点落在了街道2的空间作用域内,根据公式(3),对a、c高斯方程加权后的供需比率进行累加,便得到了街道2 的绿地可达性。

2301_77310370的博客 2404

dubbo与zookeeper的关系

      dubbo与zookeeper的关系 - HolleJava-Like - 博客园 https://www.cnblogs.com/xiaofei1208/p/7077733.html   dubbo与zookeeper的关系     Dubbo建议使用Zookeeper作为服务的注册中心。 1.   Zookeeper的作用:         zookeepe...

我是guyue,guyue就是我O(∩_∩)O 762

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

初步理解 Dubbo 与 Zookeeper

个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一、dubbo 与 zookeeper 的本质及其关系? Dubbo是管理中间层的工具,在业务层到数据仓库间有非常多服务的接入和服务提供者需要调度,dubbo提供一个框架解决这个问题。 Zookeeper用来注册服务和进行负载均衡,哪一个服务有哪一个机器来提供必需让调用者知道,简单来说就是ip地址和服务名称的对应关系。 Dubbo和zookeeper的关系: dubbo会将注册中心进行抽象,使得它可以连接不同

web13618542420的博客 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Dubbo & Zookeeper

dubbo跟thrift都是比较常见的RPC框架。 Dubbo Dubbo只支持Java语言。 Dubbo 的架构主要包含四个角色,其中 Consumer 是服务消费者,Provider 是服务提供者,Registry 是注册中心,Monitor 是监控系统。具体的交互流程是 Consumer 一端通过注册中心获取到 Provider 节点后,通过 Dubbo 的客户端 SDK 与 Provider 建立连接,并发起调用。Provider 一端通过 Dubbo 的服务端 SDK 接收到 Consumer

wang_chaochen的博客 3241

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Dubbo和Zookeeper

总结:Dubbo负责服务管理,其中的服务注册可以交给Zookeeper。服务注册,即确定什么节点有什么服务。 dubbo支持多种类型的注册中心: Multicast注册中心 Zookeeper注册中心 Redis注册中心 Simple注册中心 从头开始搭建一个dubbo+zookeeper平台:https://www.cnblogs.com/ASPNET2008/p/5622005.html D...

haoranhaoshi的博客 967

【 dubbo 与 zookeeper 的关系】

请移步原文:https://www.cnblogs.com/xiaofei1208/p/7077733.html Dubbo建议使用Zookeeper作为服务的注册中心。 1. Zookeeper的作用: zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是ip地址和服务名称的对应关系。当然也可以 通过硬编码的方式把这种对应关系在调用方业务代码中实现,但是如果提供服务的机器挂掉调用者无法知晓,如果不更改...

piano_diano的博客 475

Dubbo及Zookeeper安装

Apache Dubbo 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面相接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 window下安装zookeeper 下载解压 下载地址 运行 /bin/zkServer.cmd,初次运行会报错,没有zoo.cfg文件; 可能遇到问题:闪退! 解决方案:编辑zkServer.cmd 文件末尾添加pause,这样运行就不会退出,会提示错误信息,方便找到原因 将conf文件夹下的zoo_sample.cfg复制一份改名为

Lifelong learning 601

Dubbo与Zookeeper

1、分布式系统 建立在网络上的若干独立计算机软件系统的集合; RPC:远程过程调用;服务器之间通信,参数传递通过对象的序列化与反序列化;序列化机制效率和通信机制是RPC的重要参考; 2、Dubbo 意义:面向接口代理的高性能RPC调用 智能的负载均衡:每个服务器有均衡的负载/工作量; 服务自动注入与注册:注册中心保存正常的服务,分发合适的服务; 运行期流量调度:主要为灰度发布,即一部分使用新服务,部分使用老服务,然后慢慢全部过度到新服务; 可视化的服务治理与运维; .

My优快云ok的博客 672

Dubbo及Zookeeper

系统间通信 1.   分析为什么要使用它 由于商城项目是基于soa的架构,表现层和服务层是不同的工程,所以要实现商品列表查询需要两个系统之间进行通信。 如何实现远程通信? 1、Webservice:效率不高基于soap协议。项目中不推荐使用。 2、使用restful形式的服务:http+json。很多项目中应用。如果服务太多,服务之间调用关系混乱,需要治疗服务。 3、使用dubbo。使...

wulitaot的博客 871

dubbo+Zookeeper

架构的演变 单一系统 扩展不易:添加某一个功能需要重新打包整个项目 开发不易:所有模块儿都需要同一个项目中开发 垂直架构 将所有功能拆分成若干个小程序,部署到不同的服务器上(解决了单一系统的问题) 页面和业务不分离,修改页面就得对整个模块进行部署 应用之间需要交互 分布式架构 抽出核心业务,供多方进行调用 但是问题来了不同服务器上如何调用? dubbo PRC基本原理:...

HYJ940228的博客 641

dubbo和zookeeper集成-dubbo系列一

dubbo集成zookeeper

weixin_39265427的博客 915

dubbo和zookeeper的关系

转载前言:网络上很多教程没有描述zookeeper和dubbo到底是什么关系、分别扮演了什么角色等信息,都是说一些似是而非的话,这里终于找到一篇文章,比较生动地描述了注册中心和微服务框架之间的关系,以及他们之间的合作分工。 下面附上我读完之后的理解: dubbo是一个远程调用服务的分布式框架,可以实现远程通讯、动态配置、地址路由等等功能。 比如在入门demo里的暴露服务,使得远程调用的协议可以使...

weixin_30383279的博客 532

zookeeper、dubbo、kafka

1 zookeeper如何实现高可用 1 zookeeper 多台构成集群实现高可用,有三种角色群首(leader),追随者(follower),观察者(observer)。 Leader作为整个ZooKeeper集群的主节点,负责响应所有对ZooKeeper状态变更的请求。它会将每个状态更新请求进行排序和编号,以便保证整个集群内部消息处理的FIFO Follower 的逻辑就比较简单了。除了响应...

iamdll的专栏 852
上一篇: Dubbo的介绍以及Dubbox的区别
下一篇: 分布式锁
GoldWashing
博客等级 码龄8年 18粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值