链接:https://pan.baidu.com/s/1IllSy9dOQDsswu38XNyA1w
提取码:8zrz
- Dubbo资源下载
- Dubbo从入门到精通
- dubbo环境搭建window
- 1,下载并安装zookepper
- 1.2、解压zookeeper
- 1.3、修改zoo.cfg配置文件
- 1.4、使用zkCli.cmd测试
- dubbo环境搭建Window
- 下载并安装dubbo-admin
- 1、下载dubbo-admin
- 2、进入目录,修改dubbo-admin配置
- 3、打包dubbo-admin
- 4、运行dubbo-admin
- dubbo环境搭建Linux
- 安装JDK+zookeeper
- 1.1,安装JDK
- 1.1.1,下载JDK
- 1.1.2,使用XFTP工具导入linux
- 1.1.3,解压到/root/software目录
- 1.1.4,配置环境变量并测试
- 让环境变量生效,执行下面的命令
- 安装zookeeper
- 1.2.1,下载
- 1.2.2,解压并修改位置
- 1.2.3,修改配置文件
- 1.2.4, 开机启动zookeepr脚本
- 1.2.5,启动zookeeper
- 2,安装dubbo监控【常规安装】
- 2.1、下载dubbo-admin (百度网盘)
- 2.2,解压![在这里插入图片描述](https://img-blog.csdnimg.cn/20210303152020155.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzI0NzgwMw==,size_16,color_FFFFFF,t_70)
- 2.3,修改配置文件并打包
- 3,安装dubbo监控【使用docker安装】
- 3.1,安装zookeeper
- 3.2,拉取镜像
- 3.3,启动容器
- 3.4,环境参数
- dubbo-helloworld
- 1,提出需求
- 2,工程架构
- 3,创建模块
- 3.0 创建maven项目(先用spring方式)
- 3.1、ego-interface:公共接口层(model,service,exception…)
- 2、ego-user-service-provider:用户服务模块(对用户接口的实现)
- 3、ego-order-service-consumer:订单模块(调用用户模块)
- 4,使用dubbo改造
- 1、改造ego-user-service-provider作为服务提供者
- 2、配置提供者provider.xml
1.1、下载zookeeper
网址 https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/
1.2、解压zookeeper解压运行zkServer.cmd ,初次运行会报错,没有zoo.cfg配置文件
1.3、修改zoo.cfg配置文件将conf下的zoo_sample.cfg复制一份改名为zoo.cfg即可。
注意几个重要位置:
dataDir=./ 临时数据存储的目录(可写相对路径)
clientPort=2181 zookeeper的端口号
修改完成后再次启动zookeeper
1.4、使用zkCli.cmd测试ls /:列出zookeeper根下保存的所有节点
create –e /sxt 123:创建一个sxt节点,值为123
get /sxt:获取/sxt节点的值
dubbo环境搭建Window 下载并安装dubbo-admin
1、下载dubbo-admindubbo本身并不是一个服务软件。它其实就是一个jar包能够帮你的java程序连接到zookeeper,并利用zookeeper消费、提供服务。所以你不用在Linux上启动什么dubbo服务。
但是为了让用户更好的管理监控众多的dubbo服务,官方提供了一个可视化的监控程序,不过这个监控即使不装也不影响使用。
网盘下载
链接:https://pan.baidu.com/s/1IllSy9dOQDsswu38XNyA1w
提取码:8zrz
修改 srcmainresourcesapplication.properties 指定zookeeper地址
rcesapplication.properties 指定zookeeper地址
mvn clean package -Dmaven.test.skip=true mvn installl
或者
mvn package4、运行dubbo-admin
/target下面
java -jar dubbo-admin-0.0.1-SNAPSHOT.jar
注意:【有可能控制台看着启动了,但是网页打不开,需要在控制台按下ctrl+c即可】
http://127.0.0.1:7001/
默认使用root/root 登陆
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
1.1.2,使用XFTP工具导入linux 1.1.3,解压到/root/software目录
mkdir /root/software #在root下面创建software目录 tar -zxvf jdk-8u181-linux-x64.tar.gz -C /root/software #解压到指定目录1.1.4,配置环境变量并测试
打开控制台,运行$ sudo vi /etc/profile,在最后插入下面要配置的内容 ,按Esc键 ,输入( :wq 保存并退出)
JAVA_HOME=/root/software/jdk1.8.0_181 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH让环境变量生效,执行下面的命令
source /etc/profile
验证
java -version安装zookeeper 1.2.1,下载
可以从 (百度网盘)
https://apache.org/dist/zookeeper/stable http://mirror.bit.edu.cn/apache/zookeeper/stable/
在linux上使用 wget
http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz 来下载
建议使用镜像
推荐下载好了再使用xftp传到linux如果使用wget会丢失jar包[亲测过]
1.2.2,解压并修改位置#解压到/usr/local下面 tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local #进入目录 cd /usr/local/ #修改名字 mv zookeeper-3.4.14/ zookeeper1.2.3,修改配置文件
1 #打开zk的配置文件目录 cd /usr/local/zookeeper/conf #修改zoo_sample.cfg 为zoo.cfg [一定要改] mv zoo_sample.cfg zoo.cfg #编辑zoo.cfg vi zoo.cfg1.2.4, 开机启动zookeepr脚本
1 #!/bin/bash #chkconfig:2345 20 90 #description:zookeeper #processname:zookeeper ZK_PATH=/usr/local/zookeeper export JAVA_HOME=/root/software/jdk1.8.0_181 case in start) sh $ZK_PATH/bin/zkServer.sh start;; stop) sh $ZK_PATH/bin/zkServer.sh stop;; status) sh $ZK_PATH/bin/zkServer.sh status;; restart) sh $ZK_PATH/bin/zkServer.sh restart;; *) echo "require start|stop|status|restart" ;; esac
打开/etc/init.d/
把脚本注册为Service
增加权限
如果出现连接不上在问题修改etc/hosts
删除第一行里面的127.0.0.1
2,安装dubbo监控【常规安装】
dubbo本身并不是一个服务软件。它其实就是一个jar包能够帮你的java程序连接到zookeeper,并利用zookeeper消费、提供服务。所以你不用在Linux上启动什么dubbo服务。
但是为了让用户更好的管理监控众多的dubbo服务,官方提供了一个可视化的监控程序,不过这个监控即使不装也不影响使用。
2.1、下载dubbo-admin (百度网盘)https://github.com/apache/dubbo-admin/tree/master
配置参考文档
http://dubbo.apache.org/zh-cn/docs/admin/introduction.html
在window系统打爆成jar
dubbo-admin 管理项目
dubbo-monitor-simple监控统计项目
dubbo-registry-simple 简单的注册中心,开发中一般使用zk
2.3,修改配置文件并打包
配置密码和注册中心,在启动之前一定要启动注册中心,要不然无法访问哦
使用mvn install 打包(或者 mvn package)
把包好的jar包放到linux上去使用java -jar 运行
在Winows里面使用http://xxx.xxx.xxx:7001/去访问
用户名:root
密码:root
测试
3,安装dubbo监控【使用docker安装】 3.1,安装zookeeper
docker pull zookeeper:3.4.14#拉取镜像 docker run --name zookeeper -p 2182:2181 -v /root/zookeeper/data:/data -d zookeeper:3.4.14#启动容器3.2,拉取镜像
https://hub.docker.com/r/chenchuxin/dubbo-admin
docker pull webuilder/dubboadmin3.3,启动容器
docker run -itd -p 8080:8080 -e ZOOKEEPER_SERVER=your_zookeeper_ip:2181 dubboadmin --name=dubbo-name or docker run -itd -p 8080:8080 --add-host zookeeper-server:your_zookeeper_ip dubboadmin --name=dubbo-name3.4,环境参数
ZOOKEEPER_SERVER (必选) Zookeeper's IP and PORT, sparated by a colon. Default is 'zookeeper-server:2181' ROOT_PASSWORD (可选) Dubbo Admin's root user's password, default is 'root' GUEST_PASSWORD (可选) Dubbo Admin's guest user's password, default is 'root'
dubbo-helloworld 1,提出需求
某个电商系统,订单服务需要调用用户服务获取某个用户的所有地址;
我们现在 需要创建两个服务模块进行测试
测试预期结果:
订单服务web模块在A服务器,用户服务模块在B服务器,A可以远程调用B的功能。
2,工程架构
根据 dubbo《服务化最佳实践》
2.1,分包
建议将服务接口,服务模型,服务异常等均放在 API 包中,因为服务模型及异常也是 API 的一部分,同时,这样做也符合分包原则:重用发布等价原则(REP),共同重用原则(CRP)。
如果需要,也可以考虑在 API 包中放置一份 spring 的引用配置,这样使用方,只需在 spring 加载过程中引用此配置即可,配置建议放在模块的包目录下,以免冲突,如:com/alibaba/china/xxx/dubbo-reference.xml。
2.2,粒度
服务接口尽可能大粒度,每个服务方法应代表一个功能,而不是某功能的一个步骤,否则将面临分布式事务问题,Dubbo 暂未提供分布式事务支持。
服务接口建议以业务场景为单位划分,并对相近业务做抽象,防止接口数量爆炸。
不建议使用过于抽象的通用接口,如:Map query(Map),这样的接口没有明确语义,会给后期维护带来不便。
3,创建模块 3.0 创建maven项目(先用spring方式)
作用:定义公共接口,也可以导入公共依赖
①Bean模型
@Data @AllArgsConstructor//生成全参数构造函数 @NoArgsConstructor // 生成无参构造函数 public class UserAddress implements Serializable{ private Integer id; private String userAddress; private String userId; }
②Service接口UserService
public ListgetUserAddressList(String userId)
③Service接口OrderService
public interface OrderService { public List2、ego-user-service-provider:用户服务模块(对用户接口的实现)initOrder(String userId); }
1、pom.xml
com.sxt ego-interface0.0.1-SNAPSHOT
2、Service
public class UserServiceImpl implements UserService{ public static List3、ego-order-service-consumer:订单模块(调用用户模块)address=new ArrayList<>(); static { address.add(new UserAddress(1, "湖北省武汉市东湖高新区金融港B22栋11楼", "whsxt")); address.add(new UserAddress(2, "北京市海淀区西三旗街道建材城西路中腾建华商务大厦东侧二层尚学堂", "bjsxt")); } @Override public List getUserAddressList(String userId) { //讲道理要是去数据库里面去查询的 return address; } }
1、pom.xml
com.sxt ego-interface0.0.1-SNAPSHOT
2、测试
com.sxt ego-interface0.0.1-SNAPSHOT
现在这样是无法进行调用的。我们ego-order-web引入了ego-interface,但是interface的实现是ego-user,我们并没有引入,而且实际他可能还在别的服务器中
4,使用dubbo改造 1、改造ego-user-service-provider作为服务提供者1、引入dubbo和其它的修改pom.xml
4.0.0 com.sxt ego-user-service-provider0.0.1-SNAPSHOT com.sxt ego-interface0.0.1-SNAPSHOT com.alibaba dubbo2.6.7 com.101tec zkclient0.11 org.apache.curator curator-framework4.1.0 io.netty netty-all4.1.32.Final
由于我们使用zookeeper作为注册中心,所以需要 *** 作zookeeper
dubbo 2.6以前的版本引入zkclient *** 作zookeeper
dubbo 2.6及以后的版本引入curator *** 作zookeeper
下面两个zk客户端根据dubbo版本2选1即可
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)