SpringBoot与Dubbo的集成、配置与部署(1)准备工作
前言Dubbo是一款有阿里所开源的分布式服务框架,目前已提交至Apache。Apache Dubbo:https://dubbo.apache.org/Dubbo官方中文文档:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html在Dubbo官网的文档中,主要介绍的仍然是以传统Spring方式进行配置和使用。对于目前以升级到2.3版本的Sp
前言
Dubbo是一款由阿里所开源的分布式服务框架,目前已提交至Apache。
Apache Dubbo:https://dubbo.apache.org/
Dubbo官方中文文档:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html
在Dubbo官网的文档中,主要介绍的仍然是以传统Spring方式进行配置和使用。对于目前以升级到2.3版本的SpringBoot来说,很多项目已经使用其它一些服务治理架构,例如Eureka。
SpringCloudEureka服务发现的集成、配置和部署(1):Eureka服务端
SpringCloudEureka服务发现的集成、配置和部署(2):Eureka客户端——服务提供者
SpringCloudEureka服务发现的集成、配置和部署(3):Eureka客户端——消费者
两者所围绕的核心主要功能其实颇为类似。但鉴于很多已有的项目可能仍大量存在使用Dubbo框架来处理分布式的任务和调度,因此在这里对此做一些简单的记录。
环境
操作系统:Ubuntu 18.04
集成开发环境:MyEclipse
Java版本:1.8
Dubbo版本:2.7.7
ZooKeeper版本:3.6.1
ZooKeeper
有意思的是,相交于Eureka,Dubbo框架可以在脱离注册中心的情况下,以“服务者-消费者”这样点对点的模式运行和使用。而如果需要对分布式服务有一个集中的管控,那么就需要引入ZooKeeper。
下载ZooKeeper:Apache ZooKeeper
Ummm...一言难尽的阿帕奇设计风格...
我们可以下载最近的版本的压缩包:
将它解压后,放置到一个合适的目录下。进入其中的“/conf”目录,将“zoo_sample.xml”重命名为“zoo.xml”,并且打开进行编辑:
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
# dataDir=/tmp/zookeeper
dataDir=/home/freezingxu/jobs/ZooKeeper/zooKeeperData
dataLogDir=/home/freezingxu/jobs/ZooKeeper/zooKeeperData/logs
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true
在默认情况下,基本的配置项上都有英文的说明。需要提起注意的是,建议对默认的“dataDir”配置项作出修改,尽量不要使用默认配置下的“/tmp”路径。
另外,可以自行添加“dataLogDir”配置项,该配置项指明了ZooKeeper日志文件的所在。
另外,“clientPort”虽然名为“client”,但其实指的是ZooKeeper自身服务的端口。之所以起名叫做“client”,正如其上方的英文注释所表达的,是“客户端”可以通过这个端口来连接ZooKeeper。该端口默认为2181,可以无需修改。
保存该配置文件。
然后转至目录“/bin”下,该目录下有许多Bash脚本文件和cmd文件:
很显然,在Linux环境下,我们只需要关注.sh文件即可。
使用以下的命令来启动ZooKeeper服务:
./zkServer.sh start
启动成功后,会看到如下提示:
可以用下面的命令来查看服务状态:
./zkServer.sh status
以下是重启及关闭服务的基本命令:
./zkServer.sh restart
./zkServer.sh stop
我们还可以使用ZooKeeper Client来尝试连接服务,仍然是在目录“/bin”的位置,使用以下的命令进行连接:
./zkCli.sh -server 127.0.0.1:2181
经过一长串的信息输出后,最后得到以下的信息:
至此,ZooKeeper基本的准备已经完成。
关于ZooKeeper其它更多的使用方法,可以详见官方网站所提供的文档:
Dubbo Admin
Dubbo Admin是Dubbo团队所提供的一个可视化的dubbo管理控制台。在完成了ZooKeeper的安装、配置及启动后,就可以先准备好Dubbo Admin面板了。
下载地址:https://github.com/Radom7/dubbo-admin
下载得到一个压缩包文件,我们需要解压并提取其中的目录“dubbo-admin”:
将整个“dubbo-admin”复制到Tomcat的“webapps”目录下,并进入到其中的“/WEB-INF”目录,编辑其中的“dubbo.properties”文件:
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest
这个文件的内容非常简单,一共只有3行。我们仅需要修改ZooKeeper服务的地址和端口号即可。
完成之后,启动Tomcat,就能够在浏览器中访问Dubbo Admin了:
好了,一切准备工作都已就绪。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)