当前位置: 首页 > news >正文

西工网站建设设计360社区app

西工网站建设设计,360社区app,网站开发语言php,宁波网站建设选择荣胜网络🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

🍓 简介:java系列技术分享(👉持续更新中…🔥)
🍓 初衷:一起学习、一起进步、坚持不懈
🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏
🍓 希望这篇文章对你有所帮助,欢迎点赞 👍 收藏 ⭐留言 📝

🍓 更多文章请点击
在这里插入图片描述在这里插入图片描述

文章目录

  • 一、Dubbo简介
  • 二、Dubbo入门
    • 2.1 Dubbo的基础架构
    • 2.2 搭建Nacos 和 DubboAdmin
    • 2.3 服务提供者
    • 2.4 服务消费者
    • 2.5 抽取公共接口
    • 2.6 对象序列化
  • 三、高级特性
    • 3.1 Dubbo启动检查
    • 3.2 多版本
    • 3.3 超时与重试
    • 3.4 负载均衡
  • 四、SpringCloud整合Dubbo`
    • 4.1 服务提供者
    • 4.2 服务消费者

但是

一、Dubbo简介

Dubbo官网:https://cn.dubbo.apache.org

  • Dubbo是阿里巴巴推出的一个高性能、可扩展、可靠的RPC框架
  • 基于Dubbo进行远程调用
  • Dubboo基于TCP(传输层)协议,效率更高,可以替换Feign,提升高并发压力

二、Dubbo入门

2.1 Dubbo的基础架构

在这里插入图片描述

2.2 搭建Nacos 和 DubboAdmin

Nacos安装查看:Docker如何安装Nacos

dubbo-admin安装

  • DubboAdmin是阿里巴巴管理提供的管理控制台,可以实现服务查询,详情展示,服务测试等功能,可以更好的帮助开发人员对服务进行管理和监控
    #1、下载代码: 
    git clone https://github.com/apache/dubbo-admin.git
    #2、在 dubbo-admin-server/src/main/resources/application.properties中指定注册中心地址
    #3、构建
    mvn clean package -D maven.test.skip=true
    #4、启动
    mvn --projects dubbo-admin-server spring-boot:run
    #或者
    cd dubbo-admin-distribution/target; java -jar dubbo-admin-0.1.jar
    #5、访问 http://localhost:8080
    在这里插入图片描述

2.3 服务提供者

  1. 引入依赖

        <!--dubbo的起步依赖--><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.7.8</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-registry-nacos</artifactId><version>2.7.8</version></dependency>
    
  2. 需要远程调用的接口添加@DubboService注解

  3. 添加配置

    dubbo:protocol:name: dubbo   #协议port: 20881   #端口从20880开始registry:address: nacos://127.0.0.1:8848scan:base-packages: com.use.service  #@DubboService注解所在包
    

2.4 服务消费者

因为在DubboAdmin使用的接口全类名,所以调用接口服务提供者和消费者包名必须一致

  1. 引入依赖
        <!--dubbo的起步依赖--><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.7.8</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-registry-nacos</artifactId><version>2.7.8</version></dependency>
    
  2. 需要远程调用注入的Bean添加@DubboReference注解
  3. 添加配置
    dubbo:registry:address: nacos://127.0.0.1:8848
    

2.5 抽取公共接口

服务提供者和消费者调用接口包名必须一致,为了保证双方接口一致,则抽取公共接口模块

在提供者和消费者中引入公共接口模块依赖,实现复用

2.6 对象序列化

  • 如果要传输对象, 对象必须实现序列化接口implements Serializable

  • 因为:RPC通信,采用二进制数据格式,所以需要进行序列化处理。

三、高级特性

3.1 Dubbo启动检查

如果先启动服务消费者,@DubboReference引入远程服务时,因为提供者还没有启动,所以找不到提供者,则会抛出异常

在消费者添加如下配置即可:

	dubbo:registry:address: nacos://127.0.0.1:8848consumer:check: false #关闭启动检查

3.2 多版本

  1. 暴露服务时,指定服务版本@DubboService(version = "2.0.0")
  2. 消费者引入服务时,指定引用的服务版本@DubboReference(version = "2.0.0")

3.3 超时与重试

  • Dubbo默认超时时间:1000毫秒
  • 调用远程服务时,如果发生网络异常或者其他异常,Dubbo会进行重试,重试次数默认是3次,可以通过配置进行修改。
  • 重试机制会发送多次请求,可能会带来问题,例如保存会触发多次,
    1. 第一种(只针对该注解引入的服务)
    @DubboReference(retries = 0)
    
    1. 第二种(全局生效)
    	dubbo:registry:address: nacos://127.0.0.1:8848consumer:check: false #关闭启动检查retries: 0 # 重试次数为0
    

3.4 负载均衡

  1. Random(随机):将请求按权重随机分配给不同的服务节点。
  2. Round Robin(轮询):将请求按权重轮训到不同的服务节点上。
  3. Least Active:将请求按最少活跃调用数,相同的活跃数随机
  4. ConsistentHash: 一致性hash,相同参数的请求总是发到同一提供者。

在服务消费者端:

	@DubboReference(loadbalance= "random")

四、SpringCloud整合Dubbo`

SpringCloud整合Dubbo只需要在nacos中查看即可,不需要在DubboAdmin中查看

4.1 服务提供者

  1. 引入依赖
    <!--nacos注册中心的依赖-->
    <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency><!--springcloud alibaba dubbo依赖   -->
    <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-dubbo</artifactId>
    </dependency>
    
  2. 需要远程调用的接口添加@DubboService注解
  3. 添加配置
    注意区别
    spring:application:name: consumer-servicecloud:nacos:discovery:server-addr: localhost:8848#配置dubbo,注册中心,暴露的端口和协议,dubbo注解的包扫描
    dubbo:protocol:name: dubboport: 20881registry:address: spring-cloud://localhost   #使用SpringCloud中的注册中心scan:base-packages: com.use.service  #dubbo中包扫描
    

4.2 服务消费者

  1. 引入依赖
       <!--nacos注册中心的依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!--springcloud alibaba dubbo依赖   --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-dubbo</artifactId></dependency>
    
  2. 需要远程调用注入的Bean添加@DubboReference注解
  3. 添加配置
    spring:application:name: provider-servicecloud:nacos:discovery:server-addr: localhost:8848#配置dubbo,注册中心,暴露的端口和协议,dubbo注解的包扫描
    dubbo:registry:address: spring-cloud://localhost   #使用SpringCloud中的注册中心
    consumer:check: false #关闭启动检查retries: 0 # 重试设置为0
    

在这里插入图片描述在这里插入图片描述

http://www.hengruixuexiao.com/news/48917.html

相关文章:

  • 手机网站设置方法火星培训机构收费明细
  • 制作广告公司宣传片谷歌优化排名公司
  • 网站用花生壳nas做存储论文收录网站排名
  • 中国做美国酒店的网站好福建seo推广方案
  • 做彩票网站犯法不优化培训方式
  • 哈密地网站建设黄冈网站推广软件视频下载
  • 网站设计的设计方案关键词挖掘工具有哪些
  • 菜单微网站网站的推广
  • java在线编程网站广东东莞疫情最新消息今天又封了
  • 微信小程序开发代码教程潍坊百度关键词优化
  • ecshop网站搬家广告推广系统
  • 外贸网站能用阿里云吗个人如何推广app
  • 自定义颜色 网站软文推广经典案例
  • 建设通是不是官方网站互联网营销策划案
  • 做产品推广的网站有哪些网络营销成功案例有哪些2022
  • 软件推广渠道深圳seo推广培训
  • wordpress 反向代理 配置seo网站优化师
  • 重庆网站建设设计公司哪家好台州百度推广优化
  • 模板下载网站织梦模板cnzz统计
  • 注册商标怎么注册商标南宁网站seo排名优化
  • 网站服务器建设方法濮阳网站推广
  • 校园网站建设总体设计搜索引擎优化文献
  • 铁岭做网站的免费制作永久个人网站
  • 万州做网站惠州百度seo哪里强
  • 东城网站开发公司种子搜索引擎torrentkitty
  • 网站设计全包新闻摘抄大全
  • 心理测评做测试的网站推广网站的文案
  • 国外特效网站nba交易最新消息汇总
  • 京东云服务器怎么做网站一手渠道推广平台
  • 做汽车配件网站的公司18款免费软件app下载