阿里架构之旅(一)——Dubbo初识
来源:互联网 发布:淘宝可以部分退款吗 编辑:程序博客网 时间:2024/05/18 09:09
最近在做项目中用的是阿里的框架Dubbo+zookeeper,可是并不知道什么是dubbo,什么是zookeeper,这一系列的问题,引导者我们去不断的探索。今天我们来看看阿里的分布式服务架构——Dubbo。
1、是什么
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。
简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东
说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方式在dubbo上注册)
2、核心
- 1
- 1
远程通讯基础,提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。
- 1
- 1
服务框架核心提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。
- 1
- 1
自动发现: 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。
3、做什么
- 1
- 1
- 1
- 1
- 1
- 1
注: Dubbo采用全spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。
4、产生背景
在大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过F5等硬件进行负载均衡。
传统的远程调用
dubbo服务治理
dubbo处理后的远程调用
- 1
- 1
此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。并通过在消费方获取服务提供方地址列表,实现软负载均衡和Failover,降低对F5硬件负载均衡器的依赖,也能减少部分成本。
- 1
- 1
这时,需要自动画出应用间的依赖关系图,以帮助架构师理清理关系。
- 1
- 1
为了解决这些问题,第一步,要将服务现在每天的调用量,响应时间,都统计出来,作为容量规划的参考指标。
其次,要可以动态调整权重,在线上,将某台机器的权重一直加大,并在加大的过程中记录响应时间的变化,直到响应时间到达阀值,记录此时的访问量,再以此访问量乘以机器数反推总容量。
总结:
通过此次学习,我们简单了解了一下dubbo,知道了dubbo是一个分布式服务框架,下次,我们将dobbo的原理解析一下,希望大家继续关注。
- 阿里架构之旅(一)——Dubbo初识
- 阿里架构之旅(一)——Dubbo初识
- 阿里架构之旅(二)——Dubbo解析
- 阿里架构之旅(二)——Dubbo解析
- 阿里架构之旅(二)——Dubbo解析
- 阿里架构之dubbo
- 初识dubbo(一)
- 初识软件架构之(一)三层架构宏观认识
- dubbo系列文章做备份——Dubbo之旅--架构路线
- 阿里 Dubbo架构设计攻略
- Dubbo之旅--架构路线
- 阿里电商架构演变之路(一)
- Dubbo学习总结(2)——Dubbo架构详解
- Dubbo学习总结(2)——Dubbo架构详解
- Dubbo学习总结(2)——Dubbo架构详解
- 阿里架构之旅(三)——动物园管理者zookeeper
- 阿里架构之旅(四)——zookeeper的原理
- 阿里架构之旅(三)——动物园管理者zookeeper
- Java里有无goto
- 递归最大元素
- C++虚函数
- MVP设计模式介绍
- JavaScript检验身份证号码
- 阿里架构之旅(一)——Dubbo初识
- JVM内存模型
- 【Robotframework】WebDriverException: Message: Missing 'type' parameter
- 如何加载HTML页面页面到另一个界面中
- 欢迎使用CSDN-markdown编辑器
- git相关使用6.6
- 扇贝19 May 2017
- GNU ARM Embedded Toolchain
- JAVA版CORBA程序2——Counter