Dubbo--简单介绍
Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的
RPC 实现服务的输出和输入功能,能够和Spring框架无缝集成。Dubbo致力于提供高性能和透明化的RPC远程服务调用方案。以及SOA服务治理方案。
核心部分包括:
远程通讯:提供对多种基于长连接的NIO框架抽象封装,包含多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。
集群容错:提供基于接口方法的透明远程过程调用,包含多协议支持。以及软负载均衡。失败容错,地址路由,动态配置等集群支持。
自己主动发现:基于注冊中心文件夹服务,使服务消费方能动态的查找服务提供方。使地址透明,使服务提供方能够平滑添加或降低机器。
Dubbo能做什么?
透明化的远程方法调用。就像调用本地方法一样调用远程方法,仅仅需简单配置。没有不论什么API侵入。
软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本。降低单点。
服务自己主动注冊与发现,不再须要写死服务提供方地址,注冊中心基于接口名查询服务提供者的IP地址。而且可以平滑加入或删除服务提供者。
适用场景:
当站点变大后,不可避免的须要拆分应用进行服务化,以提高开发效率,调优性能,节省关键竞争资源等。
当服务越来越多时,服务的URL地址信息就会爆炸式增长,配置管理变得很困难,F5硬件负载均衡器的单点压力也越来越大。
当进一步发展,服务间依赖关系变得错踪复杂。甚至分不清哪个应用要在哪个应用之前启动。架构师都不能完整的描写叙述应用的架构关系。
接着,服务的调用量越来越大。服务的容量问题就暴露出来,这个服务须要多少机器支撑?什么时候该加机器?等等……在遇到这些问题时。都能够用Dubbo来解决。
Dubbo性能:
Dubbo通过长连接降低握手,通过NIO及线程池在单连接上并发拼包处理消息,通过二进制流压缩数据。比常规HTTP等短连接协议更快。在阿里巴巴内部,每天支撑2000多个服务,30多亿訪问量。最大单机支撑每天近1亿訪问量。
Dubbo架构:
节点角色说明:
Provider:
暴露服务的服务提供方。
Consumer:
调用远程服务的服务消费方。
Registry:
服务注冊与发现的注冊中心。
Monitor:
统计服务的调用次调和调用时间的监控中心。
Container:
服务执行容器。
调用关系说明:
0
服务容器负责启动,载入,执行服务提供者。
1.
服务提供者在启动时,向注冊中心注冊自己提供的服务。
2.
服务消费者在启动时,向注冊中心订阅自己所需的服务。
3.
注冊中心返回服务提供者地址列表给消费者,假设有变更。注冊中心将基于长连接推送变更数据给消费者。
4.
服务消费者,从提供者地址列表中,基于软负载均衡算法。选一台提供者进行调用。假设调用失败,再选还有一台调用。
5.
服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
Dubbo--简单介绍的更多相关文章
- Dubbo简单介绍及实例
1.概念 Dubbo是一个分布式服务框架,以及阿里巴巴内部的SOA服务化治理方案的核心框架.其功能主要包含:高性能NIO通讯及多协议集成.服务动态寻址与路由.软负载均衡与容错,依赖分析与降级等. 说通 ...
- Dubbo简单介绍及其和zookeeper的关系
何为Dubbo Dubbox 是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo ,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行优化,并继续维 ...
- 003 -- Dubbo简单介绍
1:Dubbo的基本概念 dubbo是阿里巴巴SOA服务治理 方案的核心框架,每天为20000+个服务次的数据量访问支持.dubbo是一个分布式的服务框架,致力于提供高性能和透明化的RPC远程服务调用 ...
- dubbo学习过程、使用经验分享及实现原理简单介绍
一.前言 部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一些非重要模块上,慢慢引入到一些稍微重要的功能上,半年时间,学习过程及线上使用遇到的些问题在此总结下. 整理这篇文章差不 ...
- 【Dubbo基础】dubbo学习过程、使用经验分享及实现原理简单介绍
一.前言 部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一些非重要模块上,慢慢引入到一些稍微重要的功能上,半年时间,学习过程及线上使用遇到的些问题在此总结下. 整理这篇文章差不 ...
- Dubbo入门介绍---搭建一个最简单的Demo框架
Dubbo入门---搭建一个最简单的Demo框架 置顶 2017年04月17日 19:10:44 是Guava不是瓜娃 阅读数:320947 标签: dubbozookeeper 更多 个人分类: D ...
- Dubbo详细介绍与安装使用过程
今天看到一篇不错的dubbo介绍教程,原文链接:http://blog.csdn.net/xlgen157387/article/details/51865289 1 Dubbo介绍 1.1 dubb ...
- 170328、Maven+SpringMVC+Dubbo 简单的入门demo配置
之前一直听说dubbo,是一个很厉害的分布式服务框架,而且巴巴将其开源,这对于咱们广大程序猿来说,真是一个好消息.最近有时间了,打算做一个demo把dubbo在本地跑起来先. 先copy一段dubbo ...
- (转)Dubbo 简单Dome搭建
(转)原地址https://blog.csdn.net/noaman_wgs/article/details/70214612/ Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统 ...
- Maven+SpringMVC+Dubbo 简单的入门demo配置
转载自:https://cloud.tencent.com/developer/article/1010636 之前一直听说dubbo,是一个很厉害的分布式服务框架,而且巴巴将其开源,这对于咱们广大程 ...
随机推荐
- jquery.slider jquery滑块插件
原文发布时间为:2011-03-08 -- 来源于本人的百度文章 [由搬家工具导入] http://jqueryui.com/demos/slider jquery滑块插件
- javascript实现可拖动DIV层
原文发布时间为:2009-05-04 -- 来源于本人的百度文章 [由搬家工具导入] 注意以下红色部分是关键.如果不使用 document.documentElement,而使用docume ...
- Linux signal 那些事儿(4)信号的deliver顺序【转】
转自:http://blog.chinaunix.net/uid-24774106-id-4084864.html 上一篇博文提到了,如果同时有多个不同的信号处于挂起状态,kernel如何选择deli ...
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---55
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 《手把手教你学C语言》学习笔记(4)---代码规范
编程过程中需要遵守编译器的各种约定,例如以下代码: 1 #include <stdio.h> 2 3 int main(int argc, char **argv) 4 { 5 print ...
- HDU 5997 rausen loves cakes(启发式合并 + 树状数组统计答案)
题目链接 rausen loves cakes 题意 给出一个序列和若干次修改和查询.修改为把序列中所有颜色为$x$的修改为$y$, 查询为询问当前$[x, y]$对应的区间中有多少连续颜色段. ...
- 立即执行函数(IIFE)
立即执行函数(IIFE) 看到这里,相信你一定迫不及待地想知道究竟如何做了吧,其实很简单,只需要用括号全部括起来即可,比如下面这样: (function(){ /* code */ }()); 为什么 ...
- 分享Kali Linux 2017年第18周镜像文件
分享Kali Linux 2017年第18周镜像文件 Kali Linux官方于4月30日发布2017年的第18周镜像.这次维持了11个镜像文件的规模.默认的Gnome桌面的4个镜像,E17.KD ...
- MyEclipse导入外部项目
1,File 2,Preferences 3,General----Existing----next 4,Browse选择要导入的项目---finash 5,导入后可能会出现很多error 检查项目的 ...
- 在delphi中,如何把十进制数转换为十六进制整形数。若用inttohex只能转化为十六进制字符串。
var b: Byte; s: string;begin s := '31'; //16进制字符串 b := StrToInt('$' + s);end; 不过要注意一点,如果在程序调试时想看b的值, ...