(转)dubbo design】的更多相关文章

框架设计 整体设计 图例说明: 图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口, 位于中轴线上的为双方都用到的接口. 图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系,每一层都可以剥离上层被复用,其中,Service和Config层为API,其它各层均为SPI. 图中绿色小块的为扩展接口,蓝色小块为实现类,图中只显示用于关联各层的实现类. 图中蓝色虚线为初始化过程,即启动时组装链,红色实线为方法调用过程,即运行时调时链,紫色三角箭头为继…
设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结,使用设计模式的目的是提高代码的可重用性,让代码更容易被他人理解,并保证代码可靠性.它是代码编制真正实现工程化. 四个关键元素:(1) Pattern Name, (2) Problem, (3) Solution, (4) Consequences. 01. Factory Method Pattern /* The product should be created by his own factory. */ Log…
一:简介    以前做项目时,分布式环境都是其它同事在搭建,自己也没参与分布式环境搭建,只负责开发,由于近段时间工作重心转到android,java后台有一段时间没有接触了,刚好这几天有空,决定自己动手亲自搭建一次spring+dubbo+zookeeper的运行环境,方便以后在工作中使用,如有描述错误的地方,请指正,谢谢.   1 dubbo描述 Dubbo是一个分布式服务框架,如果是一个小的erp系统,一台服务器足够支撑项目运行,项目就不会用Dubbo,如果是一个大的商城项目,用户访问量比较…
1 核心功能 首先要了解Dubbo提供的三大核心功能: Remoting:远程通讯 提供对多种NIO框架抽象封装,包括"同步转异步"和"请求-响应"模式的信息交换方式. Cluster: 服务框架 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持. Registry: 服务注册中心 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器. 2 Dubbo各个组…
转自dubbo官网文档http://dubbo.apache.org/zh-cn/blog/dubbo-cluster-error-handling.html Design For failure 在分布式系统中,集群某个某些节点出现问题是大概率事件,因此在设计分布式RPC框架的过程中,必须要把失败作为设计的一等公民来对待.一次调用失败之后,应该如何选择对失败的选择策略,这是一个见仁见智的问题,每种策略可能都有自己独特的应用场景.因此,作为框架来说,应当针对不同场景提供多种策略,供用户进行选择.…
Dubbo 设计简介 Dubbo 采用 Microkernel + Plugin (微内核 + 插件)模式,Microkernel 只负责组装 Plugin,Dubbo 自身的功能也是通过扩展点实现的,也就是 Dubbo 的所有功能点都可被用户自定义扩展所替换. Dubbo 的核心领域模型 Protocol 是服务域,它是 Invoker 暴露和引用的主功能入口,它负责 Invoker 的生命周期管理. Invoker 是实体域,它是 Dubbo 的核心模型,其它模型都向它靠扰,或转换成它,它代…
培训文档 1.<服务框架实践与探索> 主题:QCon2011杭州主题演讲,分享Dubbo服务框架的实践历程.主讲:钱霄,梁飞课件:Service Framework Practices.pdf更新:2011-10-23 2.<服务治理实践与探索> 主题:分享Dubbo服务治理的实践历程.主讲:梁飞,刘昊旻,陈雷课件:Service Governance Practices.pdf (整理中)更新:未发布 3.<框架设计原则> 主题:介绍Dubbo在设计过程中总结的一些原…
开发者指南 参与 流程 任务 版本管理 源码构建 框架设计 整体设计 模块分包 依赖关系 调用链 暴露服务时序 引用服务时序 领域模型 基本原则 扩展点加载 扩展点配置 扩展点自动包装 扩展点自动装配 扩展点自适应 扩展点自动激活 实现细节 初始化过程细节 远程调用细节 远程通讯细节 SPI参考手册 协议扩展 调用拦截扩展 引用监听扩展 暴露监听扩展 集群扩展 路由扩展 负载均衡扩展 合并结果扩展 注册中心扩展 监控中心扩展 扩展点加载扩展 动态代理扩展 编译器扩展 消息派发扩展 线程池扩展 序…
前言 本来计划周五+周末三天自驾游,谁知人算不如天算,周六恰逢台风来袭,湖州附近的景点全部关停,不得已只能周五玩完之后,于周六踩着台风的边缘逃回上海.周末过得如此艰难,这次就聊点务虚的话题,一是浅谈微服务的架构设计,二是聊聊微服务中广泛用于服务治理的Eureka与RPC框架Dubbo异同点. 一.微服务的架构设计 之所以想聊一下这个话题,主要有感于最近接触的两个新的微服务项目--两个项目的架构设计出自两个人之手,却不约而同的使用了相同的设计理念,项目结构非常类似.又想到就职于上家公司时接触到的项…
Spring Cloud失散多年的哥哥Dubbo 随着互联网项目用户量的急剧增长,访问并发良突然暴增,将一个应用使用多个独立的工程共同实现的系统架构,称为SOA系统架构,各个工程可以允许在不同的机器上,他们之间可以通过RPC协议(远程过程调用协议),完成通信,Dubbo就是RPC协议的实现着之一 Dubbo的简单介绍 Dubbo是阿里的一个开源的服务框架,可以实现应用拆分为多个工程, 通过RPC实现服务间的输出和输入,可以和Spring框架无缝连接,官方原话"Dubbo是一款高性能,轻量级的开源…