Dubbo学习总结

1. 什么是Dubbo?

Dubbo是一个分布式服务框架,致力于提高性能和透明化的Rpc远程服务调用方案。SOA服务治理方案。简单说,DUBBO就是一个服务框架,如果没有分布式需求,其实是不需要的。本质上是个服务调用,说白了就是远程服务调用的分布式框架。告别webservice中的wsdl,以服务者与消费者的方式在dubbo上注册。

其核心部分包含:

1. 远程通讯:提供多种基于长线连接的NO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式

2. 集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持。以及负载均衡,失败容错,地址路由,动态配置等集群支持。

3. 自动发现:基于注册中心目录服务,使用动态消费能动态查找服务提供方,使地址透明,使用服务提供方可以平滑的增加或减少服务器。

概念:
soap是webservice 协议 http+xml,result http+json ,SOA是面向服务。

RPC 是远程调用。

1. Dubbo框架原理

image

2. Dubbo支持哪些协议?

1. Dubbo协议
Dubbo缺省协议采用单一长连接和NIO异步通讯,适用于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。Dubbo缺省协议不适合传输大数据量的服务,比如传文件,传视频等,除非请求量很低。

2. Hessian协议

3. HTTP协议

3. Dubbo负载均衡

Dubbo自带负载均衡,策略包括: 随机、轮循、最小连接数

 

1. 集群

2. 容错
当一个节点发生故障的时候,自动分配到其他节点上面去。

3. 思考:所有dubbo服务器都挂了,怎么办?如何防止?
通过keepOpalived脚本监听服务器,如果服务器挂掉,帮助重启,如果一直重启失败,发送报警邮箱。

4. Dubbox?

5. 发布dubbo服务步骤
1. Pom文件引入dubbo项目依赖包,zk客户端依赖包

生产者xml配置

clip_image002

消费者xml配置

2. 消费者
pom文件引入dubbo项目依赖包,zk客户端依赖包

clip_image004

posted @ 2018-03-26 10:48  vvning  阅读(198)  评论(0编辑  收藏  举报