dubbo + zookeeper + spring Boot框架整合与dubbo泛型调用演示1

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: dubbo + zookeeper + spring Boot框架整合与dubbo泛型调用演示

dubbo +zookeeper +spring Boot框架整合与dubbo泛型调用演示

 

By:客 授客 QQ:1033553122  欢迎加入全国软件测试交流 QQ  群:7156436

测试环境 1

实践过程 2

Java运行配置 2

zookeeper运行与配置 2

配置 2

运行 3

测试 3

Maven运行与配置 5

配置 5

Repository设置(可选) 6

利用maven打dubbo-admin-0.0.1-SNAPSHOT.jar包 8

dubbo-admin控制台运行与配置 9

配置(可选) 9

运行 9

编码 11

Maven mirrors配置 11

Idea maven运行环境配置 12

新建项目 14

新建父项目 14

新建模块 19

dubbo-demo-api模块编码 23

dubbo-demo-provider模块编码与配置 23

dubbo-dubbo-consumer模块编码 28

参考链接 32

Dubbo特性-泛型调用 32

依赖spring配置文件的泛型调用 32

不依赖Spring配置文件的泛型调用 33

泛型调用-传递更复杂的参数类型 34

参考链接 39

 

 

测试环境

服务端

CentOS 7操作系统(CentOS-7-x86_64-DVD-1503-01.iso)

下载地址:http://ftp.riken.jp/Linux/centos/7/isos/x86_64/

 

zookeeper-3.4.13.tar.gz

下载地址:

http://zookeeper.apache.org/releases.html

http://mirror.bit.edu.cn/apache/zookeeper/

https://pan.baidu.com/s/1Ug4hQ6PVQJmIhghyX4UIkQ

 

Java(jdk-8u65-linux-x64.tar.gz)

下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

incubator-dubbo-ops-master.zip

下载地址:

https://github.com/apache/incubator-dubbo-ops

https://pan.baidu.com/s/10Qu9IQa9RCmUyeSQLFpSkQ

 

 

客户端

Win7

 

apache-maven-3.5.4-bin.zip

https://maven.apache.org/download.cgi

https://pan.baidu.com/s/1OUNC0kZNduXJJLbpw76GZA

 

ideaIU-2018.2.1.exe

 

 

实践过程

Java运行配置

 

zookeeper运行与配置

配置

注:以下为单例模式运行下的配置

# tar xvzf zookeeper-3.4.13.tar.gz

# mkdir -p /var/lib/zookeeper

 

# cd zookeeper-3.4.13/

 

// 手工创建zoo.cfg配置

# cd conf/

# vim zoo.cfg //内容如下

tickTime=2000

dataDir=/var/lib/zookeeper

clientPort=2181

 

说明:

dataDir

 

tickTime 供Zookeeper使用的基本时间单位(单位毫秒),用于执行心跳,同时最小会话超时时间将会是tickTime的两倍。

 

dataDir 必须指向一个已存在目录,用于存在内存数据库快照,除非特别指明,否则为更新至数据库的事务日志(the location to store the in-memory database snapshots and, unless specified otherwise, the transaction log of updates to the database.)

 

clientPort 用于监听客户端连接的端口。

 

 

运行

# cd ../bin

# pwd

/usr/local/zookeeper/zookeeper-3.4.13/bin

# ls

README.txt  zkCleanup.sh  zkCli.cmd  zkCli.sh  zkEnv.cmd  zkEnv.sh  zkServer.cmd  zkServer.sh  zkTxnLogToolkit.cmd  zkTxnLogToolkit.sh

 

# zkServer.sh start

ZooKeeper JMX enabled by default

Using config: /usr/local/zookeeper/zookeeper-3.4.13/bin/../conf/zoo.cfg

Starting zookeeper ... STARTED

 

注:停止运行 zkServer.sh stop

 

测试

连接到ZooKeeper

# zkCli.sh -server 127.0.0.1:2181

Connecting to 127.0.0.1:2181

2017-09-15 20:48:06,986 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 04:05 GMT

……(略)

Welcome to ZooKeeper!

2017-09-15 20:48:07,153 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1029] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)

JLine support is enabled

 

……(略)

ZooKeeper -server host:port cmd args

stat path [watch]

set path data [version]

ls path [watch]

delquota [-n|-b] path

ls2 path [watch]

setAcl path acl

setquota -n|-b val path

history

redo cmdno

printwatches on|off

delete path [version]

sync path

listquota path

rmr path

get path [watch]

create [-s] [-e] path data acl

addauth scheme auth

quit

getAcl path

close

connect host:port

 

[zk: 127.0.0.1:2181(CONNECTED) 1] ls /

[zookeeper]

[zk: 127.0.0.1:2181(CONNECTED) 2] create /zk_test my_data

Created /zk_test

[zk: 127.0.0.1:2181(CONNECTED) 3] ls /

[zookeeper, zk_test]

[zk: 127.0.0.1:2181(CONNECTED) 4] get /zk_test

my_data

cZxid = 0x2

ctime = Fri Sep 15 20:52:32 CST 2017

mZxid = 0x2

mtime = Fri Sep 15 20:52:32 CST 2017

pZxid = 0x2

cversion = 0

dataVersion = 0

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 7

numChildren = 0

[zk: 127.0.0.1:2181(CONNECTED) 5] set /zk_test junk

cZxid = 0x2

ctime = Fri Sep 15 20:52:32 CST 2017

mZxid = 0x3

mtime = Fri Sep 15 20:54:39 CST 2017

pZxid = 0x2

cversion = 0

dataVersion = 1

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 4

numChildren = 0

[zk: 127.0.0.1:2181(CONNECTED) 6] get /zk_test

junk

cZxid = 0x2

ctime = Fri Sep 15 20:52:32 CST 2017

mZxid = 0x3

mtime = Fri Sep 15 20:54:39 CST 2017

pZxid = 0x2

cversion = 0

dataVersion = 1

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 4

numChildren = 0

[zk: 127.0.0.1:2181(CONNECTED) 7] delete /zk_test

 

参考链接:

http://zookeeper.apache.org/doc/current/zookeeperStarted.html

http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_systemReq

http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_configuration

 

Maven运行与配置

确保安装了java jdk并正确设置了JAVA_HOME

配置

下载bin.zip压缩包,解压到目标路径(例中 D:\Program Files\apache-maven-3.5.4\

),设置MAVEN_HOME环境变量,如下

 

Cmd输入mvn -v测试


1569452-20181231093726119-1317628689.png

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
8天前
|
Dubbo Java 应用服务中间件
微服务框架Dubbo环境部署实战
微服务框架Dubbo环境部署的实战指南,涵盖了Dubbo的概述、服务部署、以及Dubbo web管理页面的部署,旨在指导读者如何搭建和使用Dubbo框架。
56 17
微服务框架Dubbo环境部署实战
|
3月前
|
NoSQL Dubbo 应用服务中间件
Dubbo Zookeeper(一)Zookeeper初识
Dubbo Zookeeper(一)Zookeeper初识
|
27天前
|
XML Java 数据格式
Spring Cloud全解析:注册中心之zookeeper注册中心
使用ZooKeeper作为Spring Cloud的注册中心无需单独部署服务器,直接利用ZooKeeper服务端功能。项目通过`spring-cloud-starter-zookeeper-discovery`依赖实现服务注册与发现。配置文件指定连接地址,如`localhost:2181`。启动应用后,服务自动注册到ZooKeeper的`/services`路径下,形成临时节点,包含服务实例信息。
123 3
|
29天前
|
开发框架 Dubbo 应用服务中间件
微服务开发框架-----Apache Dubbo
这篇文章介绍了Apache Dubbo微服务开发框架,它提供RPC通信和微服务治理能力,支持服务发现、负载均衡和流量治理等功能,并强调了Dubbo在微服务规模化实践和企业级治理方面的优势。
微服务开发框架-----Apache Dubbo
|
29天前
|
缓存 负载均衡 监控
Dubbo框架整体认知
该文章主要介绍了Dubbo框架的整体认知,包括Dubbo的概念、产生的背景、解决的问题、架构以及功能特性等。
Dubbo框架整体认知
|
1月前
|
负载均衡 Dubbo 应用服务中间件
框架巨擘:Dubbo如何一统异构微服务江湖,成为开发者的超级武器!
【8月更文挑战第8天】在软件开发中,微服务架构因灵活性和可扩展性备受欢迎。面对异构微服务的挑战,Apache Dubbo作为高性能Java RPC框架脱颖而出。它具备服务注册与发现、负载均衡及容错机制等核心特性,支持多种通信协议和序列化方式,能有效连接不同技术栈的微服务。Dubbo的插件化设计保证了面向未来的扩展性,使其成为构建稳定高效分布式系统的理想选择。
33 5
|
2月前
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
56 3
|
27天前
|
Dubbo Java Nacos
【实战攻略】破解Dubbo+Nacos+Spring Boot 3 Native打包后运行异常的终极秘籍——从零开始彻底攻克那些让你头疼不已的技术难题!
【8月更文挑战第15天】Nacos作为微服务注册与配置中心受到欢迎,但使用Dubbo+Nacos+Spring Boot 3进行GraalVM native打包后常遇运行异常。本文剖析此问题及其解决策略:确认GraalVM版本兼容性;配置反射列表以支持必要类和方法;采用静态代理替代动态代理;检查并调整配置文件;禁用不支持的功能;利用日志和GraalVM诊断工具定位问题;根据诊断结果调整GraalVM配置。通过系统排查方法,能有效解决此类问题,确保服务稳定运行。
48 0
|
3月前
|
Dubbo Java 应用服务中间件
Spring Boot 调用 Dubbo 接口与编写 Dubbo 接口实战
Spring Boot 调用 Dubbo 接口与编写 Dubbo 接口实战
284 1
|
2月前
|
存储 Java Spring
使用Spring Boot和Zookeeper实现服务协调
使用Spring Boot和Zookeeper实现服务协调