发布于2021-05-29 23:15 阅读(1501) 评论(0) 点赞(1) 收藏(1)
DUBBO是一个开源的分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是SOA服务化治理方案的核心框架。
使用流程:
第一步:要在系统中使用 dubbo 应该先搭建一个注册中心,一般推荐使用 zookeeper(redis 也可以)。
第二步:有了注册中心然后是发布服务,发布服务需要使用 spring 容器和 dubbo 标签来发布服务。并且发布
服务时需要指定注册中心的位置。
第三步:服务发布之后就是调用服务。一般调用服务也是使用 spring 容器和 dubbo 标签来引用服务,这样就
可以在客户端的容器中生成一个服务的代理对象,在 action 或者 Controller 中直接调用 service 的方法即可。
Zookeeper 注册中心的作用主要就是注册和发现服务的作用。类似于房产中介的作用,在系统中并不参与服务
的调用及数据的传输。
节点角色说明:
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Container: 服务运行容器。
调用关系说明:
服务容器负责启动,加载,运行服务提供者。
服务提供者在启动时,向注册中心注册自己提供的服务。
服务消费者在启动时,向注册中心订阅自己所需的服务。
注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计
数据到监控中心
首先从zookeeper官网下载ZooKeeper压缩包,然后解压下载得到的ZooKeeper压缩包,发现有“bin,conf,lib”等目录。“bin目录”中存放有运行脚本;“conf目录”中存放有配置文件;“lib目录”中存放有运行所需要第三方库。
使用命令下载 vim 文本编辑器
yum install -y vim
下载 jdk ,使用Xftp文件传输软件,将压缩包导入服务器
解压jdk压缩包在当前目录
tar zxvf jdk-8u231-linux-x64.tar.gz
进入系统环境变量文件
vim /etc/profile
`注意:` 路径是jdk文件所在路径
export JAVA_HOME=/home/application/jdk1.8.0_231
下面两个不变
export CLASSPATH=.
export PATH=$PATH:$JAVA_HOME/bin
保存环境变量配置,然后输入java能运行,配置成功
source /etc/profile
(1)在home目录下创建application目录并进入
cd /home
mkdir application
(2)把压缩包放入application目录
(1)进入application目录,解压apache-zookeeper-3.6.3-bin.tar.gz
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /usr/local/
(2)解压的文件放在 /usr/local/ 下面,更改一下文件的名字
cd /usr/local/
mv apache-zookeeper-3.6.3-bin/ zookeeper3.6.3
(1)在/home/wusc/zookeeper-3.4.6 目录下,创建以下目录:
cd /usr/local/zookeeper3.6.3/
mkdir data
mkdir logs
(2)进入zoo.cfg文件,修改配置
vim conf/zoo.cfg
(3)修改dataDir路径,添加一个dataLogDir的路径
dataDir=/usr/local/zookeeper3.6.3/data
dataLogDir=/usr/local/zookeeper3.6.3/logs
(4)配置三台zookeeper机器(包括本机)
server.1=zookeeper01:2881:3881
server.2=zookeeper02:2881:3881
server.3=zookeeper03:2881:3881
server.1 表示是第几号服务器
zookeeper01 表示服务器的IP地址
2881 第一个端口用来集群成员的信息交换,
3881 是在 leader 挂掉时专门用来进行选举 leader 所用的端口
添加三台机器IP地址(包括本机IP地址)
# 进入hosts
vim /etc/hosts
#添加三台机器IP地址
192.168.192.21 zookeeper01
192.168.192.22 zookeeper02
192.168.192.23 zookeeper03
在 dataDir=/home/wusc/zookeeper-3.4.6/data 下创建 myid 文件
#进入data目录
cd /usr/local/zookeeper3.6.3/data
#创建myid文件
touch myid
#向myid里面添加数据1
echo "1">myid
#一次性显示整个文件
cat myid
(1)在刚刚搭建好的服务器上克隆出两台服务器
(2)修改新克隆两台的服务器的ip地址
#进入liunx的网卡配置
#ip为刚刚在hosts文件中配置的ip地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
(3)ping一下百度,能ping同说明配置成功
(4)修改myid文件
cd /usr/local/zookeeper3.6.3/
#进入myid文件
vim data/myid
将上面添加的 1 修改为 2,表示第二台机器,以此类推,第三台机器也是这样
输入命令把三台机器连在一起
scp /etc/hosts root@192.168.192.22:/etc/hosts
scp /etc/hosts root@192.168.192.23:/etc/hosts
在一个窗口输入执行,会作用于打开的所有窗口
实现同步
测试: ping 一下三台机器,看是否连通
ping zookeeper01
ping zookeeper02
ping zookeeper03
zookeeper做单机版,可以正常启动;但是zookeeper做集群后启动不了,大部分原因是防火墙未关闭,所以需要关闭防火墙 。
(1)查看防火墙状态,当前防火墙为开启状态
systemctl status firewalld
(2)关闭防火火墙
systemctl stop firewalld
#进入zookeeper3.6.3目录
cd /usr/local/zookeeper3.6.3/
#启动zookeeper服务
bin/zkServer.sh start
#查看显示当前所有java进程
jps
#启动zookeeper状态
bin/zkServer.sh statu
zookeeper启动自动就会选举,使用bin/zkServer.sh statu
命令查看选举结果
zookeeper01为:为 follower
zookeeper02:为 follower
zookeeper03:为 leader
原文链接:https://blog.csdn.net/qq_53449032/article/details/116739623
作者:skdk
链接:http://www.javaheidong.com/blog/article/207730/9a0bd37c736f8624541a/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!