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,是一个很厉害的分布式服务框架,而且巴巴将其开源,这对于咱们广大程 ...
随机推荐
- SQLite-FMDatabase用法
FMDatabase用法 转载 http://blog.sina.com.cn/s/blog_94d94f1a01015gcr.html 以下是FMDB的一些基本使用,FMDB框架其实只是一层很薄的封 ...
- Win32 OpenGL 编程( 1 ) Win32 下的 OpenGL 编程必须步骤
http://blog.csdn.net/vagrxie/article/details/4602961 Win32 OpenGL 编程( 1 ) Win32 下的 OpenGL 编程必须步骤 wri ...
- BusyBox 简化嵌入式 Linux 系统【转】
转自:http://www.cnblogs.com/hnrainll/archive/2011/06/10/2077393.html BusyBox 的诞生 BusyBox 最初是由 Bruce Pe ...
- ext4向后兼容代码
ext.h: #define EXT4_GOOD_OLD_INODE_SIZE 128 ... #define EXT4_GOOD_OLD_REV 0 /* The good old (origina ...
- Android Timer 的 schedule()方法定时循环切换图片
void java.util.Timer.schedule(TimerTask task, long delay, long period)第一个参数,是 TimerTask 类,在包:import ...
- nodejs编写实例基础操作
学习视频地址 https://cnodejs.org/topic/5a72c66ace45d440451465c3 初始化项目 首先查看项目中是否有package.json 文件,如果有可执行np ...
- PHP生成随机码
前几天,做了个小小的实验,生成了一组数据,数据要求是包含1000个元素,每个元素为10个随机的数字加字母的组合. 嗨呀,说写就写,然后用for循环生成了一组数据,看起来还不错,先把代码贴上来. //随 ...
- react native windows create bundle folder
生成bundle 文件 命令 react-native bundle --platform android --dev false --entry-file index.js --bundle-out ...
- (7)python tkinter-菜单栏
菜单栏 Menu f = tkinter.Menu(root) root['menu']=f f.add_command(label='菜单')# f.add_command(label='关于') ...
- SecureCRT字体大小随屏幕调节设置