一、 Dubbo框架

1. Dubbo框架介绍

Apache Dubbo |db| 提供了六大外围能力:面向接口代理的高性能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: 9001dubbo:  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