• 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
    

    重启

    后续加上监控中心


    自己自学用

  • 相关阅读:
    常用设计模式
    文件上传相关报错: The current request is not a multipart request或is a MultipartResolver configured?
    Intellij IDEA 与 Gitlab 实现代码上传与下载
    Oracle两表关联,只取B表的第一条记录
    notepad++ 调整行间距
    Ubuntu18.04直接安装python3.7或者升级自带的python3.6版本之后导致终端无法打开的解决办法
    黑苹果之DELL台式机安装Mac OS X 10.13.6版本操作系统
    Windows Ping | Tracert 's Bat 脚本并行测试
    centos 7 修改 sshd | 禁止 root 登录及 sshd 端口脚本定义
    C语言中malloc函数的理解
  • 原文地址:https://www.cnblogs.com/charlottepl/p/13166415.html
Copyright © 2020-2023  润新知