SpringBoot集成Dubbo+Zookeeper

Spring版本

不知道为啥,新创建的Spring项目会报错,改一下Spring版本号就好了

      <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
!!!!!!!!!!
在pom文件里添加dubbo和zkclient依赖时,maven默认的maven仓库下载不下来,然后在setting.xml文件中添加了阿里的maven依赖仓库镜像

    <mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>*</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>


dubbo_zookeeper负责定义接口

添加一个接口

创建完成之后点击install,生成jar包,提供给其他两个依赖

dubbo_provider 服务提供者

springinit项目,勾上web

添加依赖

<!--引入dubbo-->
		<dependency>
			<groupId>com.alibaba.spring.boot</groupId>
			<artifactId>dubbo-spring-boot-starter</artifactId>
			<version>2.0.0</version>
		</dependency>
		<!--引入zookeeper-->
		<dependency>
			<groupId>com.101tec</groupId>
			<artifactId>zkclient</artifactId>
			<version>0.10</version>
		</dependency>
		<!--引入接口-->
		<dependency>
			<groupId>com.yuxi</groupId>
			<artifactId>dubbo-interface</artifactId>
			<version>1.0-SNAPSHOT</version>
		</dependency>

实现接口

配置application.properties

server.port=8060
# dubbo服务名
spring.dubbo.application.name=dubbo_provider
# 注册中心
spring.dubbo.registry.address=zookeeper://114.55.145.131:2181
# dubbo的RPC协议
spring.dubbo.protocol.name=dubbo
# dubbo的RPC端口
spring.dubbo.protocol.port=20880
# 远程服务超时时间
spring.dubbo.provider.timeout=5000
# 发布服务扫描的路径
spring.subbo.base-package=com.onepill.service.impl

dubbo_consumer服务使用者

服务器上安装dubbo管理控制台

装完登不进去,,
傻了,下面这个文件的意思是,root的密码是root,guest的密码是guest


验证:

  1. 启动consumer,provider
  2. 打开浏览器输入http://localhost:8061/hello/index?name=Charlotte

应该好了,还是有点懵

下面是服务器的环境搭建


阿里云,CentOS7

服务器安装Tomcat

  1. 下载tomcat压缩包

Tomcat下载连接

  1. 上传到服务器

上传到usr/local/tomcat

  1. 解压

执行tar -zxvf apache-tomcat-8.5.56.tar.gz

解压之后

进入解压文件的conf目录下

  1. 修改配置文件

vi service.xml打开配置文件,然后修改默认端口

按i进入输入模式

修改端口号

修改完之后输入:wq,回车,保存退出

  1. 启动tomcat

进入bin目录

sh startup.sh

使用命令:ps aux|grep tomcat 查看tomcat是否启动

使用命令netstat -lntp |grep java查看java的端口号情况

  1. 阿里云后台开放8080端口

  1. 访问tomvat启动页

阿里云安装zookeeper

  1. 下载页面

下载zookeeper-3.4.14.tar.gz压缩包

  1. 上传到服务器

  1. 解压

tar -zxvf zookeeper啥啥啥.tar.gz

  1. 进入conf目录

  1. 把目录下的zoo_sample.cfg复制一份

cp zoo_sample.cfg zoo.cfg

  1. 修改配置

vim zoo.cfg

dataDir=/usr/local/zookeeper/zookeeper-3.4.14/data
dateLogDir=/usr/local/zookeeper/zookeeper-3.4.14/logs

:wq

  1. 启动

进入bin目录./zkServer.sh start

  1. 将zookeeper修改为开机自启动

进入到 /etc/rc.d/init.d 目录下

[root@izbp17yvdyoa5hmes3buc3z etc]# cd /etc/rc.d/init.d
[root@izbp17yvdyoa5hmes3buc3z init.d]# ll
total 36
-rwxr-xr-x 1 root root  2230 Apr 22 00:57 aegis
-rw-r--r-- 1 root root 15131 Sep 12  2016 functions
-rwxr-xr-x 1 root root  2989 Sep 12  2016 netconsole
-rwxr-xr-x 1 root root  6643 Sep 12  2016 network
-rw-r--r-- 1 root root  1160 May 26  2017 README
[root@izbp17yvdyoa5hmes3buc3z init.d]# touch zookeeper
[root@izbp17yvdyoa5hmes3buc3z init.d]# vim zookeeper 
[root@izbp17yvdyoa5hmes3buc3z init.d]# chmod +x /etc/rc.d/zookeeper
chmod: cannot access ‘/etc/rc.d/zookeeper’: No such file or directory
[root@izbp17yvdyoa5hmes3buc3z init.d]# chmod +x /etc/rc.d/init.d/zookeeper 
[root@izbp17yvdyoa5hmes3buc3z init.d]# 
[root@izbp17yvdyoa5hmes3buc3z init.d]# chkconfig --add zookeeper

重启

后续加上监控中心


自己自学用

原文地址:https://www.cnblogs.com/charlottepl/p/13166415.html