今天开始SOA-阿里dubbo

一 框架主页

Homehttp://code.alibabatech.com/wiki/display/dubbo/Home

Downloadhttp://code.alibabatech.com/wiki/display/dubbo/Download

Userhttp://code.alibabatech.com/wiki/display/dubbo/User+Guide

Developerhttp://code.alibabatech.com/wiki/display/dubbo/Developer+Guide

Testhttp://code.alibabatech.com/wiki/display/dubbo/Performance+Test+Report

Sina: http://weibo.com/dubbo

 

阿里巴巴的开源框架dubbo,发音同double,教方曰:dubbo=CXF+Govern+Monitor

二 名词术语

Thrift:同事跑来,推荐Thriftapache的项目,百度百科:thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,facebook开发,07年开放源码,高效,跨语言生成RPC的通信。(不支持异步调用,也没有分布式服务治理的机制)

Javassist:是一个开源的分析、编辑和创建Java字节码的类库。由东京工业大学的数学和计算机科学系的千叶滋 所创建的

微内核-插件:最根本的思想还是要保持微内核尽量小,这样只需要把微内核本身进行移植就能够完成将整个内核移植到新的平台上。其他模块都只依赖于微内核或其他模块,并不直接直接依赖硬件。   在加载到虚拟机后,需要用到对象的时候,再进行实例化,load进去后只是文本,这样可以把一些逻辑封装到内核当中。

SPI:全名为Service Provider Interface.普通开发人员可能不熟悉,因为这个是针对厂商或者插件的。在java.util.ServiceLoader的文档里有比较详细的介绍。究其思想,其实是和"Callback"差不多。“Callback”的思想是在我们调用API的时候,我们可以自己写一段逻辑代码,传入到API里面,API内部在合适的时候会调用它,从而实现某种程度的定制

TPS(Transaction Per Second):每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。TPSLoadRunner中重要的性能参数指标。

ZooKeeper:是以Fast Paxos算法为基础的,也就是当有多个proposer交错提 交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader,只有leader才能提交propose,具体算法可见Fast Paxos

C10K问题:压力超过10000的时候就会出问题,机器无响应,链接异常

OCPOCP原则就是"-闭原则",一个软件应该对扩展开放,对修改关闭

三 关键概念

-Remote: 远程调用模块

-Codec:数据交换的解码编码处理

-Httphttp调用方式

-Netty:网络通信框架,非阻塞NIO

-P2P:通过系统间的直接交换达成计算机资源与信息的共享(对等网络概念)

-P2P Exchange

-Invoker:调用者,把对象包装成调用者,配备调用所需的工具

-Wrapperprovider包装最终被实际调用的业务逻辑对象

-Proxy:调用代理,接收参数

-RpcInvocation: 代表一次调用

四 Dubbo 主要思路




    Provider

  暴露服务方称之为“服务提供者”。

  Consumer

  调用远程服务方称之为“服务消费者”。

  Registry

  服务注册与发现的中心目录服务称之为“服务注册中心”。

  Monitor

  统计服务的调用次调和调用时间的日志服务称之为“服务监控中心”。

  (1) 连通性:

  1:注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小

  2:监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示

  3:服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销

  4:服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销

  5:注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外

  6:注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者

  7:注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表

  8:注册中心和监控中心都是可选的,服务消费者可以直连服务提供者

  (2) 健状性:

  1:监控中心宕掉不影响使用,只是丢失部分采样数据

  2:数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务

  3:注册中心对等集群,任意一台宕掉后,将自动切换到另一台

  4:注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯

  5:服务提供者无状态,任意一台宕掉后,不影响使用

  6:服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复

  (3) 伸缩性:

  1:注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心

2:服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值