dubbo学习(上)

本文介绍了RPC的基本概念和理解,重点讲解了Dubbo这款高性能的Java RPC框架,包括其核心能力和服务容器、服务提供者和消费者的角色。此外,还详细阐述了在Linux环境下安装Zookeeper和设置Dubbo管理控制台的步骤。
摘要由CSDN通过智能技术生成

1. 基本理论

1.1 RPC概念

RPC【Remote Procedure Call】是指远程过程调用,是一种进程间通信方式,他是一种技术的思想,而不是规范。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上编写的调用代码基本相同。

1.2 RPC理解

RPC图示

理解:
(1).客户端调用client端接口
(2).client stub 将消息编码(序列化)并传输给服务方(socket)
(3).server stub 将消息解码(反序列化)并调用服务端接口
(4).服务端处理业务并返回处理结果到 server stub
(5).server stub 将消息编码(序列化)并传输给客户端(socket)
(6).client stub 接收消息解码(反序列化)并返回结果
核心模块:序列化、通讯

2.Dubbo理解

dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
在这里插入图片描述
0:服务容器(Container):服务容器负责启动,加载,运行服务提供者。
1:服务提供者(Provider):服务提供者在启动时,向注册中心注册自己提供的服务。
2:服务消费者(Consumer): 服务消费者在启动时,向注册中心订阅自己所需的服务。
3:注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4:服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5:服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

3.环境搭建(linux)

3.1 安装zookeeper

1).下载zookeeper (Linux直接下载zookeeper稳定版)
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
在这里插入图片描述
2).解压文件并移动到 /usr/local目录下,重命名为 zookeeper
在这里插入图片描述
3).开机启动zookeeper,并注册到service服务
在 /etc/rc.d/init.d目录下添加 zookeeper文件,复制如下启动脚本


#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
ZK_PATH=/usr/local/zookeeper
export  JAVA_HOME=/usr/local/java/jdk1.8.0_171
case $1 in
    start)
	      echo "Starting zookeeper ..."
	      $ZK_PATH/bin/zkServer.sh start && echo "start zookeeper success"
		  ;;
	stop)
	      echo "Stopping zookeeper ..."
	      $ZK_PATH/bin/zkServer.sh stop && echo "stop zookeeper success"
		  ;;
	status)
	      echo "Loading zookeeper status ..."
	      $ZK_PATH/bin/zkServer.sh status && echo "load zookeeper status success"
		  ;;
	restart)
	      echo "Restarting zookeeper ..."
	      $ZK_PATH/bin/zkServer.sh restart && echo "restart zookeeper success"
		  ;;
	*)  echo "Usage: service zookeeper {start|stop|status|restart"}
	    exit 1
	;;
esac

添加服务:
在这里插入图片描述
增加权限:

chmod  +x  /etc/init.d/zookeeper

4).启动服务
在这里插入图片描述
发现直接启动报错,我们需要修改配置文件:
① 初始化zookeeper配置文件
拷贝/usr/local/zookeeper/conf/zoo_sample.cfg 到同一个目录下改个名字叫zoo.cfg
在这里插入图片描述
如上,我们可以在这个文件配置临时文件目录和端口号
集群配置:

配置Zookeeper集群:
在这里插入图片描述
配置详情参考官网:官网配置说明
① 使用server.id=host:port:port 完成配置操作。(id在集成中必须是惟一的,其值应该在1到255之间;第一个端口:followers连接到leader,第二个端口:选举leader)
② 通过创建myid文件为每台机器赋予服务器id的属性(每台服务器在配置文件参数dataDir指定的目录创建该文件)
项目配置文件:官网文档指南
<dubbo:registry address=“zookeeper://10.20.153.10:2181?backup=10.20.153.11:2181,10.20.153.12:2181” />
Or:
<dubbo:registry protocol=“zookeeper” address=“10.20.153.10:2181,10.20.153.11:2181,10.20.153.12:2181” />
yml文件配置也是类似!

② 启动zookeeper服务
在这里插入图片描述

3.2安装管理控制台(dubbo-admin)

1). 下载dubbo-admin
下载地址:https://github.com/apache/incubator-dubbo-ops
网盘地址:https://pan.baidu.com/s/1l8-uajexSJ9MtPKDM2EPOw
2). 进入dubbo-admin项目,修改文件配置
修改 src\main\resources\application.properties 指定zookeeper地址
在这里插入图片描述3).打包dubbo-admin项目(也可以用idea导入项目打包)
mvn clean package -Dmaven.test.skip=true
4).上传到服务器并启动
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值