dubbo 使用
来源:互联网 发布:泰国出行必备软件 编辑:程序博客网 时间:2024/05/16 03:38
1、dubbo 是什么?
(1)、远程服务的调用的分布式框架;
2、dubbo 能做什么?
(1)、透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API入侵;
(2)、软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。
(3)、服务自动与发现,不再需要写死的服务地址,注册中心基于接口名的查询服务者的IP地址,并且能够添加和删除服务者;
3、项目中为什么用dubbo?
(1)、服务URL配置管理更加的简单
通过服务注册中心(zookeeper),来进行统一管理服务,动态的注册和发现服务,使服务的位置更加的透明化;
通过在消费方获取服务提供方地址列表,实现软负载均衡和Failover,降低对F5硬件负载均衡器的依赖,也能减少部分成本。
(2)、服务间依赖关系变得清晰
通过服务注册中心(zookeeper),就可以看到那个应用依赖于那个服务,就可以很快的分得清哪个应用要在哪个应用之前启动;
(3)、对服务的监控
要将服务现在每天的调用量,响应时间,都统计出来,作为容量规划的参考指标,方便开发者更加清晰看到,这个服务需要多少机器支撑?什么时候该加机器
其次,要可以动态调整权重,在线上,将某台机器的权重一直加大,并在加大的过程中记录响应时间的变化,直到响应时间到达阀值,记录此时的访问量,再以此访问量乘以机器数反推总容量。
4、怎么用dubbo?
(1)dubbo提供服务端:
<?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="tuia-media" /> //dubbo的应用名称
<dubbo:registry address="${media.zookeeper.address}" //zookeeper 注册地址
protocol="zookeeper" />
<!-- 用dubbo协议在25002端口暴露服务 -->
<dubbo:protocol name="dubbo" port="25002" /> //dubbo端口号
<bean id="remoteTagBackendService"
class="cn.com.duiba.tuia.core.biz.remoteservice.RemoteTagBackendServiceImpl" />
<dubbo:service ref="remoteTagBackendService"
interface="cn.com.duiba.tuia.core.api.remoteservice.RemoteTagBackendService"
version="${tuiaCore.provider.version2}" retries="0" timeout="5000"
group="default" />
(2)dubbo消费端:
<?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="tuia-media-manager" /> //dubbo的应用名称
<dubbo:registry address="${media.manager.zookeeper.address}" //zookeeper 注册地址
protocol="zookeeper" />
<!-- 用dubbo协议在25001端口暴露服务 -->
<dubbo:protocol name="dubbo" port="25001" /> //dubbo端口
<!-- 要引用的服务 -->
<dubbo:reference id="remoteTagBackendService"
interface="cn.com.duiba.tuia.core.api.remoteservice.RemoteTagBackendService"
version="${media.manager.consumer.tuiacore.version}" retries="0"
check="false" group="default" />
5、dubbo API:
(1)、service:dubbo提供服务;
(2)、reference:dubbo引用服务;
(3)、retries:当调用dubbo服务失败时候,重新连接次数;
(4)、check:如果为true 的时候,如果启动的时候,就会检查有没有这个服务,没有的话就报错,false 就不会检查
(5)、timeout:连接超时的时间;
(6)、group:分组,如果一个接口有多种实现的方法就采用分组的形式;
(7)、version:版本号
7、dubbo 流程图:
节点角色说明:
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Container: 服务运行容器。
调用关系说明:
0. 服务容器负责启动,加载,运行服务提供者。
1. 服务提供者在启动时,向注册中心注册自己提供的服务。
2. 服务消费者在启动时,向注册中心订阅自己所需的服务。
3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
0 0
- Dubbo使用
- dubbo使用
- dubbo使用
- dubbo 使用
- dubbo 使用
- dubbo使用
- dubbo使用
- Dubbo 安装和使用
- dubbo 的使用
- dubbo使用总结
- dubbo使用记录
- dubbo 的使用
- dubbo的基本使用
- DUBBO简介及使用
- dubbo使用详解
- zookeeper/dubbo使用记录
- dubbo的使用场景
- dubbo的使用总结
- 初识PE结构:简单的越过验证
- 面试知识点(第三弹:反射)
- 工程师都不应该写ETL:构建高级数据科学部门指南
- 我的Ubuntu软件清单
- android数据库SQLite介绍
- dubbo 使用
- Mongodb 建立索引
- JavaScript中的unll与undefined
- hdu 5988 Coding Contest 青岛G题 费用流以及一些感想吧
- Android数据库SQLite命令
- Python and HTTP A Series of Tutorials
- maven初学
- eclipse中将java项目转为java web项目
- 2016.12.17 2016年第四届湘潭大学新生趣味程序设计竞赛 A:Age