Jason的博客

学无止境

Dubbo学习笔记(1)

1.1 Dubbo介绍
官网:http://dubbo.io/
图片描述
上面红色框翻译后:一个高新能的,基于Java的,开源的RPC框架
Dubbo是一个框架
Dubbo是一个分布式框架,致力于提供高新能和透明化的RPC远程服务调用方案,以及SOA服务治理方案(SOA:Service-Oriented Architecture 面向服务的架构。将应用程序的不同功能定义为独立的服务,服务也称为构建。服务之间通过接口和协议联系起来)
Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点:
1.2 Dubbo设计的知识点:
(1)、远程调用:RMI、hessian、webservice、thrift
(2)、通信交互:http、早期的mina、现在使用的netty
(3)、序列化:hessian2、java、json
(4)、容器:spring、jetty(web容器、服务器,通tomcat)
(5)、多线程:异步,线程池
(6)、负载均衡
(7)、注册中心:zookeeper
(8)、采用spring配置方式,非侵入式。对应用没有任何的API侵入
1.3、Dubbo能做什么?
(1)、实现透明的远程方法调用,就像调用本地方法一样。可以忽略远程调用的实现细节。简单配置即可使用。
(2)、服务的自动注册和服务的发现。通告注册中心,服务实现动态管理(增减服务方)。调用服务的消费者无需写死调用地址。
(3)、软件的负载均衡实现和容错机制,无需使用硬件,减低成本。
1.4、Dubbo服务的实现原理通讯机制
图片描述
1.5、Dubbo支持的协议:
支持8种协议:dubbo,hessian,rmi,http,webservice,thirft,memcached,redis.
Dubbo官方推荐使用dubbo协议。dubbo协议默认端口为:20880
1.6、Dubbo协议
A、Dubbo协议的特点:
Dubbo协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。
B、网络通信:
Dubbo协议底层网络通信默认使用的是netty,性能非常优秀,官方推荐使用。
C、不适合的地方:
Dubbo不适合传送大数据量的服务,比如传文件,视频等,除非请求量很低
D、使用Dubbo协议:

<dubbo:protocol name="dubbo" port="20880" />

1.7、长连接和短连接
Dubbo协议使用长连接:
图片描述
Dubbo协议使用短连接:
图片描述
长连接和短连接:
所谓长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有
数据包发送,需要双方发检测包。短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。
长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况。。例如:数据库
的连接用长连接。像 Web 网站的 http 服务一般都用短链接,因为长连接对于服务端来说会耗费一定的资源,而像 Web 网站频繁的用,使用短连接会更省一些资源,并发量大,但每个用户无需频繁操作情况下需用短连好。
1.8、Dubbo的工作原理:
图片描述
以上都是一些Dubbo的理论知识,如果需要Dubbo学习资源的可以找我要!

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37923253/article/details/80133729
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭