关于springboot:京淘day17Dubbo框架

一、 Dubbo框架

1. Dubbo框架介绍

Apache Dubbo |ˈdʌbəʊ| 提供了六大外围能力:面向接口代理的高性能RPC调用,智能容错和负载平衡,服务主动注册和发现,高度可扩大能力,运行期流量调度,可视化的服务治理与运维。

2. Dubbo框架劣势

问题阐明:
问题1: 当服务生产者有一个宕机,问程序是否失常运行???
阐明: 因为dubbo框架的机制,仍然能够保障失常运行…
问题2: 如果整合zk集群宕机,问程序是否运行失常??
阐明: 如果只是主机宕机,则zk有高可用的成果,程序不受影响.
阐明2: 如果整合zk集群宕机,则用户仍然能够失常拜访,然而当初的程序处于危险状态.
阐明3: 如果在上述的状况下,再次宕机一台生产者 程序仍然能够失常运行. 因为保护了本地的服务列表信息.

3. Dubbo 负载平衡机制

3.1 负载平衡品种

阐明: dubbo框架中负载平衡机制是客户端负载平衡. 该配置须要在客户端(消费者)中配置即可.

3.1.1 负载平衡-随机策略

1).类名称

2).配置负载平衡机制

3.1.2 负载平衡-轮询机制

1).设置轮询策略

1).轮询类名

3.1.3 负载平衡-一致性hash

1).Controller配置

2).具体类名

3.1.4 负载平衡-“起码拜访”

1).编辑Controller

2).具体类名

3.2 数据在zk中存储构造阐明

4. Dubbo入门案例

4.1 导入jar包

 <!--引入dubbo配置 如果下载失败 则去本地仓库中删除从新下载-->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>0.2.0</version>
        </dependency>

2.2 导入我的项目

1).批改版本号

2).批改子项目名称

3).复制我的项目

4).增加为maven我的项目

5. 对于入门案例阐明

5.1 定义中立接口

1).我的项目构造

2).定义接口

5.2 编辑服务生产者

5.2.1 编辑接口实现

阐明:留神注解导入的是dubbo的注解

5.2.2 编辑YML配置文件
server:
  port: 9000   #定义tomcat端口  服务启动时占用的端口

spring:
  datasource:
    #引入druid数据源
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
    username: root
    password: root

#对于Dubbo配置   
dubbo:
  scan:
    basePackages: com.jt    #指定dubbo的包门路
  application:              #利用名称
    name: provider-user     #一个接口对应一个服务名称 如果是多个实现类则利用名称统一
  registry:
    address: zookeeper://192.168.126.129:2181?backup=192.168.126.129:2182,192.168.126.129:2183
  protocol:  #指定协定
    name: dubbo  #应用dubbo协定(tcp-ip)  web-controller间接调用sso-Service
    port: 20880  #每一个服务都有本人特定的端口 不能反复.
      
mybatis-plus:
  type-aliases-package: com.jt.dubbo.pojo       #配置别名包门路
  mapper-locations: classpath:/mybatis/mappers/*.xml  #增加mapper映射文件
  configuration:
    map-underscore-to-camel-case: true                #开启驼峰映射规定
5.2.3 生产者启动测试


5.3 编辑服务消费者

5.3.1 编辑UserController

5.3.2 编辑消费者的YML配置文件
server:
  port: 9001
dubbo:
  scan:
    basePackages: com.jt
  application:
    name: consumer-user   #定义消费者名称
  registry:               #注册核心地址
    address: zookeeper://192.168.126.129:2181?backup=192.168.126.129:2182,192.168.126.129:2183

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理