程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-06(2)

Dubbo开源分布式框架

发布于2021-05-29 23:15     阅读(1280)     评论(0)     点赞(1)     收藏(1)


一、Dobbo简介

DUBBO是一个开源的分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是SOA服务化治理方案的核心框架。

使用流程:
第一步:要在系统中使用 dubbo 应该先搭建一个注册中心,一般推荐使用 zookeeper(redis 也可以)。
第二步:有了注册中心然后是发布服务,发布服务需要使用 spring 容器和 dubbo 标签来发布服务。并且发布
服务时需要指定注册中心的位置。
第三步:服务发布之后就是调用服务。一般调用服务也是使用 spring 容器和 dubbo 标签来引用服务,这样就
可以在客户端的容器中生成一个服务的代理对象,在 action 或者 Controller 中直接调用 service 的方法即可。
Zookeeper 注册中心的作用主要就是注册和发现服务的作用。类似于房产中介的作用,在系统中并不参与服务
的调用及数据的传输。

在这里插入图片描述
节点角色说明:

Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Container: 服务运行容器。

调用关系说明:

  1. 服务容器负责启动,加载,运行服务提供者。

  2. 服务提供者在启动时,向注册中心注册自己提供的服务。

  3. 服务消费者在启动时,向注册中心订阅自己所需的服务。

  4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

  5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

  6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计
    数据到监控中心

二、zookeeper集群的安装和部署

首先从zookeeper官网下载ZooKeeper压缩包,然后解压下载得到的ZooKeeper压缩包,发现有“bin,conf,lib”等目录。“bin目录”中存放有运行脚本;“conf目录”中存放有配置文件;“lib目录”中存放有运行所需要第三方库。

2.1 jdk的配置,vim的下载

2.1.1 vim文本编辑器下载

使用命令下载 vim 文本编辑器

yum install -y vim

2.1.2 jdk解压

下载 jdk ,使用Xftp文件传输软件,将压缩包导入服务器
在这里插入图片描述

解压jdk压缩包在当前目录

tar zxvf jdk-8u231-linux-x64.tar.gz

在这里插入图片描述

2.1.3 jdk环境变量配置

进入系统环境变量文件

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

在这里插入图片描述

2.2 zookeeper的配置步骤

2.2.1 导入zookeeper压缩包

(1)在home目录下创建application目录并进入

cd /home

 mkdir application

在这里插入图片描述

(2)把压缩包放入application目录
在这里插入图片描述

2.2.2 解压zookeeper压缩包,更改文件名

(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

在这里插入图片描述

2.2.3 修改zoo.cfg文件

(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 所用的端口

在这里插入图片描述

2.2.4 修改hosts文件

添加三台机器IP地址(包括本机IP地址)

# 进入hosts
 vim /etc/hosts

#添加三台机器IP地址
192.168.192.21 zookeeper01
192.168.192.22 zookeeper02
192.168.192.23 zookeeper03

在这里插入图片描述

2.2.5 新建myid文件

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

在这里插入图片描述

2.3 zookeeper集群的搭建

2.3.1 克隆两台zookeeper服务器,修改IP地址

(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,表示第二台机器,以此类推,第三台机器也是这样
在这里插入图片描述

2.3.2 scp远程复制

输入命令把三台机器连在一起

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

在这里插入图片描述

3.3.3 关闭防火墙

zookeeper做单机版,可以正常启动;但是zookeeper做集群后启动不了,大部分原因是防火墙未关闭,所以需要关闭防火墙 。

(1)查看防火墙状态,当前防火墙为开启状态

systemctl status firewalld

在这里插入图片描述

(2)关闭防火火墙

systemctl stop firewalld

在这里插入图片描述

3.3.4启动zookeeper,进行选举

#进入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黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

1 0
收藏该文
已收藏

评论内容:(最多支持255个字符)