最近由于工作需要学习了下dubbo,其实很早就想学习下这个RPC框架了,正好借这次机会搭了套环境玩了下。
主要按照下面几点来说说我的理解吧。
1.dubbo整体框架和原理
2.dubbo没有注册中心的demo
3.dubbo使用简单注册中心(即一个简单的dubbo服务作为注册中心)的demo
4.dubbo使用zookeeper作为注册中心的demo
5.dubbo admin管理dubbo服务的一个war服务
6.dubbo monitor 展示监控dubbo服务数据的war服务
1.dubbo整体环境和原理
这块主要参照官网的说法来理解。
节点角色说明:
- Provider: 暴露服务的服务提供方。
- Consumer: 调用远程服务的服务消费方。
- Registry: 服务注册与发现的注册中心。
- Monitor: 统计服务的调用次调和调用时间的监控中心。
- Container: 服务运行容器。
调用关系说明:
- 0. 服务容器负责启动,加载,运行服务提供者。
- 1. 服务提供者在启动时,向注册中心注册自己提供的服务。
- 2. 服务消费者在启动时,向注册中心订阅自己所需的服务。
- 3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
- 4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
- 5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
下面是我基于注册中心角度来理解的整体架构
2.dubbo没有注册中心的demo
这块主要是参照官网的demo,直接贴下代码好了。
3.dubbo使用简单注册中心(即一个简单的dubbo服务作为注册中心)的demo
这块主要也是参照官网的demo,直接贴下代码好了。
4.dubbo使用zookeeper作为注册中心的demo
这块涉及到zookeeper的搭建,我搭建的是单个节点,比较简单。后面会单独写篇文章介绍下zookeeper的单节点搭建和集群搭建,后面这里再补充个链接吧。过程中遇到个一个问题zookeeper搭建起来了,但是在dubbo-admin的war服务里面一直找不到注册的服务。后面经过排查发现,原来是服务没有注册上,根本的原因是我本地telnet虚拟机的zookeeper服务telnet不通,别的端口如21是通的,后来确定是防火墙的问题。使用下面的命令关闭防火墙即可 /etc/init.d/iptables stop。
5.dubbo admin管理dubbo服务的一个war服务
官网上这个包下载不了我是在别的网站上下载的,搭建也很简单,只需要修改conf/dubbo.properties配置文件里面的注册中心地址,启动个tomcat服务即可。启动过程中遇到了set什么方法的问题,谷歌了下说是jdk版本的问题,我从1.8切换到1.7果然问题解决,尼玛这是不兼容嘛。界面还是比较简单了,点点就知道是咋回事了。
6.dubbo monitor 展示监控dubbo服务数据的war服务
这块我只是搭建了个官网提供了的简易版的监控服务,不过官网也下载不了,别的网站上搜搜吧,肯定有。同样只需要修改conf/dubbo.properties配置文件里面的注册中心地址。这块我还是比较感兴趣的,就大体的了解了下流程。
a) 配置filter <dubbo:provider> --> fiter服务提供方远程调用过程拦截器名称,多个名称用逗号分隔
b) provider和consumer服务调用时候会到我们注册filter里面,调用服务结束后的时候,会将调用的结果、状态等数据发送给监控服务。
c) 监控服务会起定时任务针对这些数据绘制图表,同时订阅注册中心的服务拿到服务列表信息
d) 监控服务的web容器界面展示服务列表信息和服务的调用数据。
总结:自己动手搭建个环境还是挺有意思的,能够对整理有个大概的把握,同时能够激起自己的兴趣,光看别人说说感觉好像自己懂了,其实很快就忘记了,同时这中间也少了很多乐趣,加油2016!
相关推荐
包含 Dubbo实现原理、高性能网络通讯、框架设计原则、Dubbo_功能介绍等七个dubbo学习的相关资料
Dubbo学习手册,Dubbo学习手册,积分;Dubbo学习手册Dubbo学习手册Dubbo学习手册Dubbo学习手册Dubbo学习手册
Dubbo快速入门案例相关资源包,其中包含入门教程,入门代码演示,所需软件,能够很轻松的掌握对于dubbo的学习,我的第一个入门案例就是来自于此的学习,希望他能够对你有所帮助
dubbo学习例题代码资源
dubbo学习总结思维导图,十分详细。精确到各个知识点。
尚硅谷的dubbo学习视频,有问题可以留言给我,希望能帮到大家,谢谢
springboot+dubbo学习资料,视频和代码,保证解决问题
dubbo学习,自己写的代码。包括统一的服务dubbo-demo-api,服务提供者dubbo-demo-provider_api,服务消费者dubbo-demo-consumer_api三个项目
很不错的dubbo学习文档,希望对你有用。
dubbo学习资料打包上传,把收集都统统打包
Dubbo学习专题
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。
dubbo框架源码,之前的积分太高,我改低了
dubbo 开发文档
dubbo学习dubbo-dubbo-3.0.5.tar.gz
dubbo学习笔记.doc
自己学习dubbo是写的demo 包括了生产者消费者和api,可以供初次接触者学习
这是自己在dubbo学习过程中资料的整理 , 算是一个大纲 , 能够帮助到你快速入门 , 快速理解并且使用 , 大概半个小时就可以学会了 .
dubbo的项目搭建,生产者消费者。还有duobo一些要用到的配置文件