dubbo

介绍

http://dubbo.apache.org/zh-cn/

Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 [1] Spring框架无缝集成。

Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现

框架结构

在这里插入图片描述

提供者

yml配置

server:
  port: 9000 
spring:
  datasource:
    #引入druid数据源
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.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
#springBoot导入dubbo 
dubbo:
  scan:         #让dubbo注解起作用  @Service
    basePackages: com.jt
  application:
    name: provider-user #定义提供者的名称 不同的服务名称不同
  registry:
    address: zookeeper://192.168.126.174:2181?backup=192.168.126.174:2182,192.168.126.174:2183
  protocol: #rpc调用  指定协议规则
    name: dubbo   #引入dubbo协议,dubbo内部默认实现
    port: 20880   #每一个服务都应该有个各自对应的端口

#MybatisPlus配置     
mybatis-plus:
  type-aliases-package: com.jt.dubbo.pojo       #配置别名包路径
  mapper-locations: classpath:/mybatis/mappers/*.xml  #添加mapper映射文件
  configuration:
    map-underscore-to-camel-case: true                #开启驼峰映射规则

与中立接口关系

接口和提供者之间是依赖关系
提供者提供一个接口的实现类,并在实现类上添加@Service注解(com.alibaba.dubbo.config.annotation.Service;),注意此@Service注解并非Spring中的注解

消费者

yml配置

server:
  port: 9001
dubbo:
  scan:
    basePackages: com.jt  #指定包路径
  application:
    name: consumer-user   #业务标识 自己定义的
  registry:
    address: zookeeper://192.168.126.174:2181?backup=192.168.126.174:2182,192.168.126.174:2183

与中立接口的关系

接口和消费者之间是依赖关系
消费者pom文件添加接口项目的依赖
消费者会 has a 一个“接口”,并为这个接口对象属性,添加@Reference注解,(com.alibaba.dubbo.config.annotation.Reference)
另外,可以为注解的属性赋值,如下:

/**
    * timeout:定义连接超时时间
    * check= 消费者启动时检查是否有服务的提供者
    * loadbalance负载均衡策略
	*  1.random 随机策略  默认策略
	*  2.roundrobin 轮询策略
	*  3.consistenthash IPHash策略
	*  4.leastactive 最小访问策略
    */
   @Reference(timeout=3000,check=true,loadbalance = "leastactive")
   private UserService userService;

作用

消费者目的通过接口动态的获取服务端的数据. 消费者利用RPC(具体协议http/dubbo……)获取服务端数据

httpClient/jsonp/dubbo

1.调用支付宝的支付接口, dubbo:适用于自己的服务.

2.httpClient,万能调用方式 可以调用支付宝/微信/银行 SDK调用API

3.JSONP用于跨域访问的形式,一般可以在页面中获取一些其他网站的数据. 墨迹天气.北极时间/天机检测

链接直达:dubbo面试题及知识汇总
https://blog.csdn.net/ThinkWon/article/details/104390006

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值