Dubbo与Zookeeper伪集群部署

2023-10-30

1.美图

在这里插入图片描述

官网:http://dubbo.apache.org/#!/docs/user/preface/background.md?lang=zh-cn

1.准备Zookeeper

zookeeper伪集群模式

2.dubbo安装

git clone https://github.com/apache/incubator-dubbo.git
cd incubator-dubbo
运行 dubbo-demo-provider中的com.alibaba.dubbo.demo.provider.Provider
如果使用Intellij Idea 请加上-Djava.net.preferIPv4Stack=true

Idea下

这里写图片描述

2.1 配置

2.1.1 首先要添加Zookeeper的依赖

/Users/lcc/IdeaProjects/incubator-dubbo-master/dubbo-demo/dubbo-demo-provider/pom.xml

添加
 <dependency>
    <groupId>com.github.sgroschupf</groupId>
     <artifactId>zkclient</artifactId>
     <version>0.1</version>
</dependency>

2.1.2 然后配置高可用zookeeper

/Users/lcc/IdeaProjects/incubator-dubbo-master/dubbo-demo/dubbo-demo-provider/src/main/resources/META-INF/spring/dubbo-demo-provider.xml

修改

<!-- 配置zookeeper的地址,集群地址用逗号隔开 -->
<dubbo:registry protocol="zookeeper" address="lcc:2888,lcc:4888,lcc:6888" />

这一点我入坑了,配置错误了,应该是clientPort端口,所以配置应该是如下,不然会报错

org.apache.curator.CuratorConnectionLossException: KeeperErrorCode = Connect

正确配置

<!-- 配置zookeeper的地址,集群地址用逗号隔开 -->
    <dubbo:registry protocol="zookeeper" address="lcc:2181,lcc:2182,lcc:2183" />

然后直接运行org.apache.dubbo.demo.provider.Provider#main方法,不报错

3. 查看

lcc@lcc zookeeper$  zookeeper1/zookeeper-3.4.12/bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 0] ls /
[cluster, controller_epoch, brokers, zookeeper, admin, isr_change_notification, dubbo, consumers, log_dir_event_notification, latest_producer_id_block, config]
[zk: localhost:2181(CONNECTED) 2] ls /dubbo
[org.apache.dubbo.demo.DemoService]
[zk: localhost:2181(CONNECTED) 3] ls /dubbo/org.apache.dubbo.demo.DemoService
[configurators, providers]
[zk: localhost:2181(CONNECTED) 4] ls /dubbo/org.apache.dubbo.demo.DemoService/configurators
[]
[zk: localhost:2181(CONNECTED) 5] ls /dubbo/org.apache.dubbo.demo.DemoService/providers
[dubbo%3A%2F%2F192.168.1.47%3A20880%2Forg.apache.dubbo.demo.DemoService%3Fanyhost%3Dtrue%26application%3Ddemo-provider%26dubbo%3D2.0.2%26generic%3Dfalse%26interface%3Dorg.apache.dubbo.demo.DemoService%26methods%3DsayHello%26pid%3D3812%26side%3Dprovider%26timestamp%3D1531798607317]
[zk: localhost:2181(CONNECTED) 6]

然后可以看到恰好是我们配置的服务

<!-- use dubbo protocol to export service on port 20880 -->
<dubbo:protocol name="dubbo" port="20880"/>

<!-- service implementation, as same as regular local bean -->
<bean id="demoService" class="org.apache.dubbo.demo.provider.DemoServiceImpl"/>

<!-- declare the service interface to be exported -->
<dubbo:service interface="org.apache.dubbo.demo.DemoService" ref="demoService"/>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Dubbo与Zookeeper伪集群部署 的相关文章

  • wsl访问Win10中MySQL_在 Windows 10 上安装适用于 Linux 的 Windows 子系统 (WSL)

    适用于 Linux 的 Windows 子系统安装指南 Windows 10 Windows Subsystem for Linux Installation Guide for Windows 10 09 15 2020 本文内容 安装适
  • 腾讯云轻量应用服务器性能测评(全网超详细)

    腾讯云轻量应用服务器性能如何 CPU型号主频 内存 公网带宽和系统盘存储多维对比 轻量应用服务器会不会比云服务器CVM性能差 相对于CVM云服务器轻量服务器更适合轻量级的应用 轻量服务适合中小企或个人开发者用于搭建We网站b应用 小程序 A
  • Base64FileUtils工具类

    package com ruoyi common utils import org apache commons codec binary Base64 import java io public class Base64FileUtils
  • 报错注入的原理分析

    SQL报错注入就是利用数据库的某些机制 人为地制造错误条件 使得查询结果能够出现在错误信息中 这种手段在联合查询受限且能返回错误信息的情况下比较好用 01使用报错注入的前提 页面上没有显示位但是有sql语句执行错误信息输出位 使用mysql
  • android 标题栏,状态栏和导航栏的区别

    http blog csdn net baidu 26352053 article details 53025912 标题栏是手机左上最顶上 显示中国移动 安全卫士 或者当前运行软件的地方 手机的顶部 右边显示信号 电量 网速等等是状态栏
  • linux docker常用命令

    docker ps 显示当前正在运行的容器 docker ps a 显示所有状态的容器 docker images 列出本地镜像 docker port 容器Id 查看容器端口 lsof i 容器端口 检查容器端口是否可用 docker s
  • Prometheus 安装部署监控JMX

    系统环境 系统版本 centos7 Prometheus版本 2 20 1 服务器ip 192 168 0 226 客户端ip 192 168 10 62 一 服务器端系统安装 192 168 0 226 1 将下载好的包文件上传到服务器并
  • 前端学习之原生JS实现attr方法的封装

    HTML代码 img src images 1 jpg alt JS代码 功能 1 参数为2个 设置 2 参数为1个 设置批量属性 获取属性 function attr property value console log property
  • ubuntu18.04配置Swin Transformer环境

    1 安装pytorch pip install torch 1 8 1 i https pypi douban com simple pip install torchvision 0 9 1 i https pypi douban com
  • 电脑打开计算机显示远程过程调用失败,win7系统电脑弹出提示“远程过程调用失败且未执行”的解决方法...

    win7系统使用久了 好多网友反馈说win7系统电脑弹出提示 远程过程调用失败且未执行 的问题 非常不方便 有什么办法可以永久解决win7系统电脑弹出提示 远程过程调用失败且未执行 的问题 面对win7系统电脑弹出提示 远程过程调用失败且未
  • java 原始套接字编程_套接字编程原理

    6 多路复用 select 功能 用来检测一个或多个套接字状态 格式 int PASCAL FAR select int nfds fd set FAR readfds fd set FAR writefds fd set FAR exce
  • android里面layer-list中的inset和clip到底有什么作用

    Inset Drawable 用于通过指定的间距把图片插入到XML中 它在View需要比自身小的背景时常用 有些像padding的作用 例子 第一步 drawable文件中建立inset drawable xml
  • DB与缓存一致性

    一般方案中的设计均有其缺陷 要么会产生脏数据 要么会产生不一致 不同的是代价和概率 更新数据时 是先删除缓存再更新DB 还是先更新DB再删除缓存 https blog csdn net qq 33999844 article details
  • unity 如何获取到屏幕中间_Unity UGUI获取鼠标在屏幕的准确点击位置

    想要获取鼠标在屏幕的准确点击位置 千万不要胡乱写 什么转化坐标系 什么Ray射线检测都是浮云 1 转化坐标系只是相对而言 并不能准确实现当前鼠标点击在屏幕的位置 2 Ray检测 hit是需要碰撞的 没碰撞 获取的是什么 0 0 0 所以 请
  • css的选择器

    一 基本标签 标签选择器 格式 标签名 h1 文本内容 h1 类名选择器 格式 类名
  • Eclipse中断点调试详解

    小编是刚学习Java两个月 在学习视频中看到老师玩断点6到飞起 自己也就各种查资料 实施并总结了一下断点的调试 找到需要设置断点的位置 你可能会问 我怎么知道在哪设置断点呢 如果你实在不知道在哪设置断点 那你完全可以多设置几个断点 单步调试
  • Power小型机概念输理

    一 基本概念 一 Power System服务器POWER AIX RISC CISC SMT QCM SP Hypervisor LPAR POWER Performance Optimization With Enhanced RISC
  • Vue的样式绑定

    一 绑定class 1 第一种 样式和数据的绑定 通过对象方式 v bind class设置一个对象 当isActivated为true的时候 div上会增加一个class属性 属性名称为activated 如果再在css里加上activa

随机推荐