1.添加依赖jar
<dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.8.4</version> </dependency>
2.使用xml进行dubbo provider
<?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="account-interface2.0"/>--> <dubbo:provider timeout="${dubbo.provider.timeout}" token="${dubbo.provider.token}" /> <dubbo:registry protocol="${dubbo.registry.protocol}" address="${dubbo.registry.address}" username="${dubbo.admin.username}" password="${dubbo.admin.password}" group="${dubbo.registry.group}" timeout="${dubbo.registry.timeout}"/> <dubbo:protocol name="${dubbo.protocol.name}" port="${dubbo.protocol.port}" charset="${dubbo.protocol.charset}" threadpool="${dubbo.protocol.threadpool}" threads="${dubbo.protocol.threads}" payload="${dubbo.protocol.payload}" /> <dubbo:service interface="com.customer.account.service.DepositService" ref="depositServiceImpl" /> </beans>
3.配置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="consumer-account-interface"/> <dubbo:consumer timeout="${dubbo.consumer.timeout}" check="${dubbo.consumer.check}" /> <dubbo:registry protocol="${dubbo.registry.protocol}" address="${dubbo.registry.address}" group="${dubbo.registry.group}" timeout="${dubbo.registry.timeout}"/> <!-- 生成远程服务代理,可以和本地bean一样使用demoService --> <!-- 经销商银行账户信息,包括代扣账户 --> <!--<dubbo:reference id="dealerBankAccountService" interface="com.shenma.channel.service.module.DealerBankAccountService" timeout="60000"/>--> <!-- 经销商法人 --> <!--<dubbo:reference id="dealerLegalPersonService" interface="com.shenma.channel.service.module.DealerLegalPersonService" timeout="60000"/>--> <!--<dubbo:reference id="dealerService" interface="com.shenma.channel.service.module.DealerService" timeout="60000"/>--> <!--<dubbo:reference id="dealerExtendService" interface="com.shenma.channel.service.module.DealerExtendService" timeout="60000"/>--> <dubbo:reference id="smartDataSyncService" interface="com.smjr.scf.api.SmartDataSyncService" timeout="60000" version="1.0.0"/> <dubbo:reference id="iDlegalPersonRpcService" interface="com.shenma.chnl.basic.rpc.dealer.IDlegalPersonRpcService" timeout="60000"/> <dubbo:reference id="iDealerRpcService" interface="com.shenma.chnl.basic.rpc.dealer.IDealerRpcService" timeout="60000"/> <dubbo:reference id="iDealerBankAccountRpcService" interface="com.shenma.chnl.basic.rpc.dealer.IDealerBankAccountRpcService" timeout="60000"/> <dubbo:reference id="iBankRpcService" interface="com.shenma.chnl.basic.rpc.basic.IBankRpcService" timeout="60000"/> <dubbo:reference id="iBranchRpcService" interface="com.shenma.chnl.basic.rpc.basic.IBranchRpcService" timeout="60000"/> <dubbo:reference id="iStoreRpcService" interface="com.shenma.chnl.basic.rpc.dealer.IStoreRpcService" timeout="60000"/> </beans>
4.配置属性
dubbo.registry.address=172.16.10.86:2181 dubbo.registry.protocol=zookeeper dubbo.registry.check=false dubbo.registry.subscribe=false dubbo.registry.timeout=10000 dubbo.registry.group=dubbo dubbo.consumer.timeout=60000 dubbo.consumer.check=false #provider dubbo.application.owner=account dubbo.application.logger=slf4j dubbo.monitor.protocol=registry dubbo.protocol.name=dubbo dubbo.protocol.port=28108 dubbo.protocol.threadpool=fixed dubbo.protocol.payload=104857600 dubbo.provider.timeout=60000 dubbo.provider.check=false dubbo.provider.token=true dubbo.protocol.threads=500 dubbo.protocol.charset=UTF-8 dubbo.service.loadbalance=roundrobin dubbo.admin.username= dubbo.admin.password=
5. protocol dubbo常用有如下协议
(1)dubbo协议 采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。
(2)RMI采用JDK标准的java.rmi.*实现,采用阻塞式短连接和JDK标准序列化方式。
(3)Hessian协议用于集成Hessian的服务,Hessian底层采用Http通讯,采用Servlet暴露服务,Dubbo缺省内嵌Jetty作为服务器实现。
6.dubbo provider 负责均衡策略。
(1).roundrobin 轮询,按公约后的权重设置轮循比率,存在慢的提供者累积请求问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。
(2 ) .leastActive 最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差。使慢的提供者收到更少请求,因为越慢的提供者的调用前后计数差会越大。
( 3 ) .consistentHash 一致性Hash,相同参数的请求总是发到同一提供者。当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。
7. dubbo consumer 关键配置
(1). timeout consumer 超时时间
(2). retries 当consumer超时时 重试次数
8.注意事项
(1).注册中心要配置缓存文件位置,即file项要指定
(2).dubbo consumer的retries次数建议设置为0,如果consumer系统已经做了幂等配置,也可以自行安排。
(3).如果遇到no provider的错误,可以去dubbo admin上查找dubbo服务是否存在
相关推荐
《Dubbo教程代码案例详解》 Dubbo,作为阿里巴巴开源的一款高性能、轻量级的Java服务治理框架,已经成为分布式系统开发中的重要工具。本教程将以"Dubbo教程代码demo"为线索,深入剖析Dubbo的核心概念、关键配置以及...
《Dubbo 教程 权威指南》是一个全面且深入的资源,旨在帮助开发者和IT专业人士理解并有效地使用Apache Dubbo这一高性能、轻量级的服务治理框架。Dubbo是阿里巴巴开源的一款分布式服务框架,它专注于服务调用、监控和...
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样...
根据提供的链接,我们可以推测这是一份包含了 Dubbo 教程视频、文档和源码的学习资料。这类资源对于初学者来说是非常宝贵的,因为它不仅覆盖了 Dubbo 的基础知识,还深入讲解了高级特性和系统架构等内容,并且通过...
本套视频从分布式系统的基本概念出发,由浅入深,讲解了RPC原理,Dubbo基本使用,Dubbo高可用场景以及Dubbo原理,涉及了分布式系统中服务注册、服务发现、负载均衡、灰度发布、集群容错、服务降级等核心概念的讲解及...
根据提供的文件信息,本次将围绕“百知教育dubbo教程”这一主题展开详细的IT知识点解析。主要内容包括Dubbo的基本概念、Dubbo的核心组件及其功能、Dubbo的工作原理以及Dubbo在实际项目中的应用等。 ### Dubbo基本...
最新尚硅谷的dubbo教程,欢迎下载,免去分享的烦恼
尚硅谷Dubbo教程2018年8月27日最新发布! 业界超火爆的分布式框架之一!
【Dubbo教程PDF】是一个供IT专业人士学习和掌握Apache Dubbo框架的重要资源。Dubbo,由阿里巴巴开源,是一个高性能、轻量级的Java服务治理框架,专注于远程调用、服务治理和服务监控。这个教程旨在帮助开发者更好地...
dubbo全教程,Dubbo的总体架构,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色
最新Dubbo的分布式架构视频教程最新Dubbo的分布式架构视频教程
尚硅谷 Dubbo教程
阿里微服务框架dubbo教程.zip 1.dubbo的作用 2.安装 3.监控中心dubbo-admin 4.SpringMVC项目中使用Dubbo 各节点的功能 SPI Service Provider Interface服务发现机制 dubbo+zookeeper搭建HA集群 ...
### Dubbo视频教程--高级篇--第24节--简易版支付系统介绍知识点 #### 1. Dubbo框架与分布式系统架构 Dubbo是一款高性能、轻量级的Java RPC框架,由阿里巴巴开源。它提供了高可用的服务治理能力,在分布式系统中尤为...
根据提供的文件信息,本篇文章将围绕“2018最新Dubbo视频教程”这一主题进行深入探讨,并结合其描述及部分标签内容展开详细介绍。 ### Dubbo简介 Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了一整套...
DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员...
java高级技术Dubbo视频教程,需要学习Dubbo高级技术的朋友可以下载看看,绝对物超所值
尚硅谷dubbo教程链接,dubbo 阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。