RPC 框架: RMI,CORBA,ONC RPC,Dubbo,Hessian等
当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键。
Dubbo是alibaba的一款开源软件,它是基于java的RPC调用框架。
Dubbo主要提供了三种功能:
提供了基于接口的远程调用接口
容错性和负载均衡
服务自动注册及发现
当我们在编写java代码时会调用Dubbo的接口进行编程。分布式计算系统并通过配置文件说明通信协议,注册中心,容错方式等

(来自: )
节点说明
服务容器负责启动,加载,运行服务提供者。
服务提供者在启动时,向注册中心注册自己提供的服务。
服务消费者在启动时,向注册中心订阅自己所需的服务。
注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。服务暴露出去后,可被订阅的服务调用。下面为重要参数介绍
interface:必填。服务接口名,实际就是一个java类的完整路径,例如:com.test.rpc.api.user.service.DubboUserService。订阅者调用此暴露的服务实际就是调用此类就有的功能(在java中实际即使此类具有的方法)
ref:必填。服务对象实现引用,暂不太清楚。
详细属性说明:
用于创建一个远程服务代理,一个引用可以指向多个注册中心。用于指明要订阅的服务。
id:必填。服务引用BeanId
interface:必填。服务接口名
timeout:服务方法调用超时时间(毫秒)
retries:远程服务调用重试次数,不包括第一次调用,不需要重试请设为0
check:缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以便上线时,能及早发现问题,默认 check="true"。可以通过 check="false" 关闭检查,比如,测试时,有些服务不关心,或者出现了循环依赖,必须有一方先启动。
loadbalance:负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用
详细属性说明:
用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受。指明消费者消费时使用的通行协议,Dubbo支持的有http,dubbo,redis,memcache,rmi等也可以自行扩展,缺省是dubbo
name : 协议名称,缺省是dubbo
port:服务端口,dubbo协议缺省端口为20880,rmi协议缺省端口为1099,http和hessian协议缺省端口为80;如果配置为-1 或者 没有配置port,则会分配一个没有被占用的端口。Dubbo 2.4.0+,分配的端口在协议缺省端口的基础上增长,确保端口段可控。
用于配置连接注册中心相关信息,dubbo支持的有多播,单播,redis,或使用Zookeeper。官方推荐使用Zookeeper
address:必填,注册中心服务器地址,如果地址没有端口缺省为9090,同一集群内的多个地址用逗号分隔,如:ip:port,ip:port,不同集群的注册中心,请配置多个<dubbo:registry>标签
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-69704-2.html
他说的不是指人类
竟然有五条优质高蛋白