天天看点

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

Dubbo

  • 第一章、Dubbo介绍
    • 1.1 什么是分布式框架
    • 1.2 应用架构的发展演变
    • 1.3 Dubbo框架
      • 1.3.1 为什么Dubbo说自己性能高
      • 1.3.2 别的RPC框架
      • 1.3.3 Dubbo的前世今生
      • 1.3.4 Dubbo的概述
      • 1.3.4 Dubbo的基本架构
      • 1.3.5 Dubbo支持的协议
      • 1.3.6 Dubbo直连方式案例(了解)
        • 1.3.6.1 创建服务提供者
          • 1.利用Maven创建web项目001-link-userservice-provider
          • 2.在Maven中添加spring和dubbo的依赖
          • 3.创建User实体类
          • 4.创建UserService接口和实现类
          • 5.创建dubbo配置文件dubbo-userservice-provider.xml
          • 6.在web.xml中添加spring监听器
          • 7.添加服务提供者的Tomcat
        • 1.3.6.2 创建服务消费者
          • 1.利用Maven创建web项目002-link-comsumer
          • 2.在Maven中添加spring、dubbo和前面创建的服务提供者的依赖
          • 3.创建dubbo配置文件
          • 4.在web.xml中配置中央调度器
          • 5.创建UserController类
          • 6.创建userDetail页面
          • 7.创建服务消费者的Tomcat
          • 8.在浏览器访问,先启动提供者的Tomcat,再启动消费者的Tomcat
      • 1.3.7 Dubbo服务化最佳实践(了解)
        • 1.3.7.1 分包
        • 1.3.7.2 粒度
        • 1.3.7.3 版本
        • 1.3.7.4 改造Dubbo项目
          • 1.3.7.4.1 创建公共资源项目
          • 1.3.7.4.2 创建服务提供者004-link-userservice-provider
          • 1.在pom.xml中添加依赖
          • 2.创建dubbo-userservice-provider.xml
          • 3.在web.xml中配置监听器
          • 4.创建service接口的实现类
          • 5.创建提供者的Tomcat
        • 1.3.7.4.3 创建服务消费者005-link-cosumer
          • 1.在pom.xml中添加依赖
          • 2.创建aubbo-consumer.xml
          • 3.创建applicationContext.xml
          • 4.在web.xml中配置中央调度器
          • 5.创建UserController类
          • 6.创建结果页面
          • 7.配置消费者的Tomcat
          • 8.浏览器访问,先启动提供者的Tomcat,再启动消费者的Tomcat
  • 第二章、注册中心-Zookeeper
    • 2.1 注册中心概述
    • 2.2 注册中心工作方式
    • 2.3 Zookeeper注册中心
    • 2.4 Windows平台Zookeeper安装,配置
      • 2.4.1 下载Zookeeper
      • 2.4.2 配置Zookeeper
        • 1.下载的文件zookeeper-3.5.8-beta.tar.gz. 解压后到目录就可以了,例如D:\Program Files\zookeeper\apache-zookeeper-3.5.8-bin\conf修改zookeeper-3.5.8/conf/目录下配置文件
        • 2.复制zoo-sample.cfg改名为zoo.cfg文件内容
        • 3.打开bin目录中的,zkServer.cmd
    • 2.6 改造dubbo—使用Zookeeper(了解)
      • 2.6.1 启动zookeeper
      • 2.6.2 创建公共资源
        • 1.创建user实体类
        • 2.创建service包下的userService接口
      • 2.6.3 创建服务提供者
        • 1.在pom.xml添加依赖
        • 2.创建dubbo-zk-userservice-provider.xml
        • 3.在web.xml中注册监听器
        • 4.创建service的实体类UserServiceImpl
        • 5.创建服务提供者的Tomcat
      • 2.5.4 创建服务消费者
        • 1.在pom.xml中添加依赖
        • 2.创建dubbo-zk-consumer.xml
        • 3.创建applicationContext.xml
        • 4.在web.xml中注册中央调度器
        • 5.创建UserController类
        • 6.创建结果页面
        • 7.创建服务消费者的Tomcat
        • 8.先启动提供者的Tomcat,再启动消费者的Tomcat,浏览器访问
    • 2.7 使用version版本号(掌握)
  • 第三章、dubbo的配置
    • 3.1 配置原则
    • 3.2 关闭检查
    • 3.3 重试次数
    • 3.4 超时时间
        • 1.dubbo服务端
        • 2.dubbo消费端
  • 第四章、监控中心
    • 4.1 什么是监控中心
    • 4.2 发布配置中心
      • 4.2.1 下载监控中心
      • 4.2.2 修改配置dubbo-properties文件,运行即可

第一章、Dubbo介绍

1.1 什么是分布式框架

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.2 应用架构的发展演变

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.3 Dubbo框架

1.3.1 为什么Dubbo说自己性能高

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.3.2 别的RPC框架

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.3.3 Dubbo的前世今生

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.3.4 Dubbo的概述

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.3.4 Dubbo的基本架构

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.3.5 Dubbo支持的协议

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.3.6 Dubbo直连方式案例(了解)

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.3.6.1 创建服务提供者

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
1.利用Maven创建web项目001-link-userservice-provider
2.在Maven中添加spring和dubbo的依赖
<dependencies>
      <!--spring依赖-->
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>5.3.2</version>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>5.3.2</version>
      </dependency>
      <!--Dubbo依赖-->
      <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>dubbo</artifactId>
          <version>2.6.2</version>
      </dependency>
  </dependencies>
  <build>
      <!--jdk1.8编译插件-->
      <plugins>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.1</version>
              <configuration>
                  <source>1.8</source>
                  <target>1.8</target>
              </configuration>
          </plugin>
      </plugins>
  </build>
           
3.创建User实体类

只要是分布式开发,实体类必须进行序列化操作 Implements Serializable

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
4.创建UserService接口和实现类

UserService接口

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

UserServiceImp实现类

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
5.创建dubbo配置文件dubbo-userservice-provider.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">

    <!--服务提供者声明名称:必须保证服务名称的唯一性,它的名称是dubbo内部使用的唯一标识-->
    <dubbo:application name="001-link-userservice-provider"/>

    <!--
        访问服务协议的名称及端口号,dubbo官方推荐使用的是dubbo协议
        端口号默认为:20880
        name:指定协议的名称
        port:指定协议的端口号(默认20880)
    -->
    <dubbo:protocol name="dubbo" port="20880"/>
    
    <!--
        暴露服务接口==>dubbo:service
        interface:暴露服务接口的全限定类名
        ref:接口引用的实现类在spring容器中的标识
        registry:如果不使用中心,则值为:N/A
    -->
    <dubbo:service interface="com.wangbeita.dubbo.service.UserService" ref="userService" registry="N/A" />

    <!--将接口的实现类加载到spring容器中-->
    <bean id="userService" class="com.wangbeita.dubbo.service.impl.UserServiceImpl"/>
</beans>
           
6.在web.xml中添加spring监听器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
     http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
  
    <!--注册监听器-->
    <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:dubbo-userservice-provider.xml</param-value>
    </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
</web-app>
           
7.添加服务提供者的Tomcat
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.3.6.2 创建服务消费者

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
1.利用Maven创建web项目002-link-comsumer
2.在Maven中添加spring、dubbo和前面创建的服务提供者的依赖

先将前面的服务提供者进行打包后缀是.jar

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
<dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.3.2</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.3.2</version>
    </dependency>
    <!--Dubbo依赖-->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>dubbo</artifactId>
      <version>2.6.2</version>
    </dependency>

    <!--添加服务提供者
      这样才能使用它中的实体类
    -->
    <dependency>
      <groupId>com.wangbeita</groupId>
      <artifactId>001-link-userservice-provider</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>
  <build>
    <!--jdk1.8编译插件-->
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
           
3.创建dubbo配置文件
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
4.在web.xml中配置中央调度器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
     http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

  <!--配置中央调度器-->
  <servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:application.xml,classpath:dubbo-consumer.xml</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

           
5.创建UserController类
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
6.创建userDetail页面
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
7.创建服务消费者的Tomcat
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
8.在浏览器访问,先启动提供者的Tomcat,再启动消费者的Tomcat
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.3.7 Dubbo服务化最佳实践(了解)

不是工作中使用

直连方法存在的问题,消费者可以不面向接口,直接访问接口的实现类

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.3.7.1 分包

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.3.7.2 粒度

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.3.7.3 版本

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.3.7.4 改造Dubbo项目

1.3.7.4.1 创建公共资源项目

注意:003-link-interface是一个Maven java项目

创建entity包下的User实体类

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

创建service包下的UserService接口

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
1.3.7.4.2 创建服务提供者004-link-userservice-provider
1.在pom.xml中添加依赖
<dependencies>
    <!--spring依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.3.2</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.3.2</version>
    </dependency>
    <!--Dubbo依赖-->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>dubbo</artifactId>
      <version>2.6.2</version>
    </dependency>

    <dependency>
      <groupId>com.wangbeita</groupId>
      <artifactId>003-link-interface</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>
  <build>
    <!--jdk1.8编译插件-->
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
           
2.创建dubbo-userservice-provider.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

    <!--声明dubbo服务提供者的名称:保证唯一性-->
    <dubbo:application name="004-link-userservice-provider"/>

    <!--
        访问服务协议的名称及端口号,dubbo官方推荐使用的是dubbo协议
        端口号默认为:20880
        name:指定协议的名称
        port:指定协议的端口号(默认20880)
    -->
    <dubbo:protocol name="dubbo" port="20880"/>
    
    <!--暴露端口服务-->
    <dubbo:service interface="com.wangbeita.dubbo.service.UserService" ref="userService" registry="N/A"/>

    <!--加载业务实现类到spring容器中-->
    <bean id="userService" class="com.wangbeita.dubbo.service.impl.UserServiceImpl"/>
    
</beans>
           
3.在web.xml中配置监听器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
     http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

  <!--注册监听器-->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:dubbo-userservice-provider.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
</web-app>

           
4.创建service接口的实现类
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
5.创建提供者的Tomcat
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.3.7.4.3 创建服务消费者005-link-cosumer

1.在pom.xml中添加依赖
<dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.3.2</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.3.2</version>
    </dependency>
    <!--Dubbo依赖-->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>dubbo</artifactId>
      <version>2.6.2</version>
    </dependency>

    <!--添加003的接口工程-->
    <dependency>
      <groupId>com.wangbeita</groupId>
      <artifactId>003-link-interface</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>

  </dependencies>
  <build>
    <!--jdk1.8编译插件-->
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
           
2.创建aubbo-consumer.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

    <!--声明服务消费者名称:保证唯一性-->
    <dubbo:application name="005-link-cosumer"/>

    <!--引用远程接口服务-->
    <dubbo:reference
            id="userService"
            interface="com.wangbeita.dubbo.service.UserService"
            url="dubbo://localhost:20880"
            registry="N/A"
    />

</beans>
           
3.创建applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--扫描组件-->
    <context:component-scan base-package="com.wangbeita.dubbo.web"/>

    <!--配置注解驱动-->
    <mvc:annotation-driven/>

    <!--配置视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>
           
4.在web.xml中配置中央调度器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
     http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

  <!--配置中央调度器-->
  <servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:applicationContext.xml,classpath:dubbo-consumer.xml</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

           
5.创建UserController类
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
6.创建结果页面
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
7.配置消费者的Tomcat
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
8.浏览器访问,先启动提供者的Tomcat,再启动消费者的Tomcat
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

第二章、注册中心-Zookeeper

2.1 注册中心概述

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

2.2 注册中心工作方式

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

2.3 Zookeeper注册中心

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

2.4 Windows平台Zookeeper安装,配置

2.4.1 下载Zookeeper

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

2.4.2 配置Zookeeper

1.下载的文件zookeeper-3.5.8-beta.tar.gz. 解压后到目录就可以了,例如D:\Program Files\zookeeper\apache-zookeeper-3.5.8-bin\conf修改zookeeper-3.5.8/conf/目录下配置文件

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

2.复制zoo-sample.cfg改名为zoo.cfg文件内容

再修改dataDir,添加admin.serverPort=8888

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

3.打开bin目录中的,zkServer.cmd

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

看到红框的内容就说明配置成功

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

2.6 改造dubbo—使用Zookeeper(了解)

2.6.1 启动zookeeper

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心
Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

2.6.2 创建公共资源

创建一个006-zk-interface的maven java项目

1.创建user实体类

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

2.创建service包下的userService接口

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

2.6.3 创建服务提供者

创建一个007-zk-userservice-provider的maven web工程

1.在pom.xml添加依赖

<dependencies>
    <!--spring依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.3.2</version>
    </dependency>

    <!--springmvc依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.3.2</version>
    </dependency>

    <!--dubbo依赖-->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>dubbo</artifactId>
      <version>2.6.2</version>
    </dependency>

    <!--接口工程依赖-->
    <dependency>
      <groupId>com.wangbeita</groupId>
      <artifactId>006-link-interface</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>

    <!--zookeeper依赖-->
    <dependency>
      <groupId>org.apache.curator</groupId>
      <artifactId>curator-framework</artifactId>
      <version>4.1.0</version>
    </dependency>
  </dependencies>
           

2.创建dubbo-zk-userservice-provider.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

    <!--声明dubbo服务提供者的名称:保证唯一性-->
    <dubbo:application name="007-zk-userservice-provider"/>

    <!--声明dubbo使用的协议名和端口号-->
    <dubbo:protocol name="dubbo" port="20880"/>

    <!--现在要使用zookeper注册中心-->
    <!--指定注册中心地址和端口号-->
    <dubbo:registry address="zookeeper://localhost:2181"/>

    <!--暴露服务接口-->
    <dubbo:service interface="com.wangbeita.dubbo.service.UserService" ref="userServiceImpl" timeout="1200000"/>

    <!--加载接口实现类-->
    <bean id="userServiceImpl" class="com.wangbeita.dubbo.service.impl.UserServiceImpl"/>
</beans>
           

3.在web.xml中注册监听器

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
     http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
  <!--注册监听器-->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:dubbo-zk-userservice-provider.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
</web-app>

           

4.创建service的实体类UserServiceImpl

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

5.创建服务提供者的Tomcat

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

2.5.4 创建服务消费者

创建008-zk-consumer的maven web项目

1.在pom.xml中添加依赖

<dependencies>
    <!--spring依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.3.2</version>
    </dependency>

    <!--springmvc依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.3.2</version>
    </dependency>

    <!--dubbo依赖-->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>dubbo</artifactId>
      <version>2.6.2</version>
    </dependency>

    <!--接口工程依赖-->
    <dependency>
      <groupId>com.wangbeita</groupId>
      <artifactId>006-link-interface</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>

    <!--zookeeper依赖-->
    <dependency>
      <groupId>org.apache.curator</groupId>
      <artifactId>curator-framework</artifactId>
      <version>4.1.0</version>
    </dependency>
  </dependencies>
           

2.创建dubbo-zk-consumer.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

    <!--声明dubbo服务消费者名称:保证唯一性-->
    <dubbo:application name="008-zk-consumer"/>

    <!--指定注册中心-->
    <dubbo:registry address="zookeeper://localhost:2181"/>

    <!--引用远程接口服务-->
    <dubbo:reference id="userService" interface="com.wangbeita.dubbo.service.UserService"/>
</beans>
           

3.创建applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--配置组件扫描器-->
    <context:component-scan base-package="com.wangbeita.dubbo.web"/>

    <!--配置注解驱动-->
    <mvc:annotation-driven/>

    <!--配置视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>
           

4.在web.xml中注册中央调度器

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
     http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
  <!--配置中央调度器-->
  <servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:dubbo-zk-consumer.xml,classpath:applicationContext.xml</param-value>
    </init-param>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

           

5.创建UserController类

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

6.创建结果页面

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

7.创建服务消费者的Tomcat

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

8.先启动提供者的Tomcat,再启动消费者的Tomcat,浏览器访问

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

2.7 使用version版本号(掌握)

工作中使用

一般用在如果接口有个老功能,UserServiceImpl,此时要更新一个新功能UserServiceImpl2,但是我们不能把老功能去掉,因为还一部分用户在使用,此时我就要用到version来区分使用的版本.

  1. 如果有两个实现类的话,我们可以在服务提供者duboo配置文件中配置版本号来区分
<dubbo:service interface="com.wangbeita.dubbo.service.UserService" version="1.0.0" ref="userServiceImpl1" />
<dubbo:service interface="com.wangbeita.dubbo.service.UserService" version="2.0.0" ref="userServiceImpl2" />
           
  1. 可以在消费者duboo配置文件中配置版本号来区分调用
<dubbo:reference id="userService"  interface="com.wangbeita.dubbo.service.UserService" version="1.0.0" />
    <dubbo:reference id="userService"  interface="com.wangbeita.dubbo.service.UserService" version="2.0.0" />
           

第三章、dubbo的配置

3.1 配置原则

在服务提供者配置访问参数。因为服务提供者更了解服务的各种参数。

3.2 关闭检查

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

3.3 重试次数

一般不用

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

3.4 超时时间

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

1.dubbo服务端

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

2.dubbo消费端

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

第四章、监控中心

4.1 什么是监控中心

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

4.2 发布配置中心

4.2.1 下载监控中心

https://github.com/apache/incubator-dubbo-ops

这里下载的是源代码,需要手工编译才能使用。以下是编译

4.2.2 修改配置dubbo-properties文件,运行即可

Dubbo知识点第一章、Dubbo介绍第二章、注册中心-Zookeeper第三章、dubbo的配置第四章、监控中心

继续阅读