最新版本zookeeper+dubbo-admin
创始人
2024-03-17 16:20:05

zookeeper

下载地址 :https://archive.apache.org/dist/zookeeper/

  1. 修改conf下zoo_sample.cfg - >zoo.cfg
  2. bin下启动zkServer.cmd
  3. 启动成功 :binding to port 0.0.0.0/0.0.0.0:2181

问题1:zookeper安装

1.去官网下载apache-zookeeper-3.6.2-bin.tar.gz名字中带有bin的压缩包(就不会出现闪退)
2.将conf目录下zoo_sample.cfg文件重命名为zoo.cfg
3.双击zk.Server.cmd启动程序

问题2:注册中心推荐zookeeper

下载链接:在3.5.5版本后,官方提供了bin的包,可以不需要配置环境,直接上手查看

之后以管理员方式启动bin文件夹中的cmd文件

会报错,我们需要吧conf里的,zoo_simple复制一份,改成zoo.cof

问题3:修改zookeeper端口号

zoo.cfg添加

    admin.serverPort=8887

问题4:出现ZooKeeper audit is disabled.为日志记录,有无所谓

修改zkServer.cmd添加"-Dzookeeper.audit.enable=true",以管理员身份运行,

启动zkCli.cmd查看 ls /

Dubbo

下载地址 :https://github.com/apache/dubbo-admin/tree/master,Download-ZIP

1.dubbo为什么性能高

rpc框架的速度却决于序列化方式和网络传输方式

本地对象在网络上传输必须要实现serializable接口,序列化方案有xml,json,二进制流。。

dubbo采用二进制流(最快),并且dubbo采用socket通信能建立长连接,不用像http需要七步(三握手四挥手)

dubbo可视化管理,dubboAdmin和minitor。

dubbo-admin

链接:https://github.com/apache/dubbo-admin

下载好之后,这个是dubbo的一个服务管理中心,可以看到我们注册的服务
在这里插入图片描述

用cmd打开,mvn clean package -Dmaven.test.skip=true,打成jar包

过程可能有点慢,耐心等待

完成之后,把打包好的jar放入zookeeper根目录
在这里插入图片描述

之后先启动zookeeper,再跑jar包

访问:http://localhost:7001/

查看是否连接成功
在这里插入图片描述
注意端口号,8080,如果提示冲突,就是跟zookeeper服务端冲突,用上面zoo.cfg修改端口号即可

zookeeper:注册中心

dubbo-admin:是一个监控管理后台


举例

provider,服务端server
在这里插入图片描述

package com.tang.service;import org.apache.dubbo.config.annotation.Service;
import org.springframework.stereotype.Component;@Service//在项目一启动就注册到注册中心,导入dubbo包内的
@Component//为什么不加service注解,应为dubbo的注册service,用于区分
public class TicketServiceImpl implements TicketService{@Overridepublic String getTicket() {return "好好学习,天天向上";}
}
package com.tang.service;public interface TicketService {public String getTicket();
}

application.properties

server.port=8001#注册中心地址
dubbo.registry.address=zookeeper://127.0.0.1:2181
#服务名字
dubbo.application.name=privoder1
#那些服务要注册
dubbo.scan.base-packages=com.tang.service
# dubbo端口号修改,跟admin监控页面冲突
dubbo.protocol.port=20881

启动,启动后查看dubbo-admin
在这里插入图片描述

启动过程可能遇到端口冲突问题

windows查询端口占用命令 :netstat -ano | findstr 8080
干掉端口进程 :taskkill /f /pid 28808
linux相关命令 :netstat -anp | grep 8080
ps -ef | grep java
kill -9

pom.xml 依赖不能错


4.0.0org.springframework.bootspring-boot-starter-parent2.7.1 com.tangprovider-server0.0.1-SNAPSHOTprovider-serverDemo project for Spring Boot8org.apache.dubbodubbo-spring-boot-starter2.7.3com.github.sgroschupfzkclient0.1org.apache.curatorcurator-framework2.12.0org.apache.curatorcurator-recipes2.12.0org.apache.zookeeperzookeeper3.4.14org.slf4jslf4j-log4j12org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtestorg.springframework.bootspring-boot-maven-plugin

customer,客户端server:

package com.tang.service;import org.apache.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Service;@Service//这里要用spring的注解哟,只有spring可以字自动装配
public class UserService {//想拿到票,需要调用远程服务,拿到我们服务之者的方法,要去注册中心拿服务@Reference//引用 Pom坐标可以定义路径相同的接口名TicketService ticketService;public  void buyTicket(){String getTicket = ticketService.getTicket();System.out.println("注册中心zk拿到==> "+getTicket);}
}
package com.tang.service;public interface TicketService {public String getTicket();
}
package com.tang;import com.tang.service.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class ConsumerServerApplicationTests {@AutowiredUserService userService;@Testvoid contextLoads() {userService.buyTicket();}}

在这里插入图片描述

步骤:
前提:zookeeper服务已开启!

  1. 提供者服务
    1. 导入依赖
    2. 配置文件,注册中心地址,服务发现名和要扫描的服务
    3. 想要被注册的服务上加上dubbo的service注解和spring的compent注解
  2. 消费者如何消费
    1. 导入依赖
    2. 配置文件,服务发现名,注册中心地址
    3. 我们需要在客户端建立一个一样的服务者接口,直接远程注入就可以使用这个服务的方法了,远程调用注解dubbo的@Reference

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...