最近由于工作需要学习了下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的核心技术和应用实践。以下是各个文档的主要内容概述: 1. **Dubbo实现...
【Dubbo学习资料.zip】是一个压缩包,包含了学习Apache Dubbo这一分布式服务框架的重要资源。Dubbo是一款由阿里巴巴开源的高性能、轻量级的服务治理框架,它致力于提供高性能的RPC(远程过程调用)服务,使得微服务...
dubbo学习总结思维导图,十分详细。精确到各个知识点。
【Dubbo学习详解】 Dubbo,一款由阿里巴巴开源的高性能Java RPC框架,是服务治理的典型代表,广泛应用于分布式系统中。本资源包包含了几个关键的学习示例,旨在帮助开发者深入理解并掌握Dubbo的核心概念和技术。 1...
【Dubbo学习资料详解】 随着互联网行业的飞速发展,网站应用程序的规模日益庞大,传统的垂直应用架构已经无法满足高并发、大数据量的处理需求。此时,分布式服务架构和流动计算架构成为了新的解决方案,它们能够...
尚硅谷的dubbo学习视频,有问题可以留言给我,希望能帮到大家,谢谢
springboot+dubbo学习资料,视频和代码,保证解决问题
在IT行业中,`Dubbo`是一个非常著名的Java分布式服务框架,由阿里巴巴开源并维护。它致力于提供高性能、透明化的RPC远程调用...在实践中,你可以不断优化这三个模块,提升系统的稳定性和性能,体验到Dubbo的强大之处。
在本“dubbo学习的项目”中,我们将深入探讨Dubbo的核心概念、配置以及如何构建一个基础的生产者-消费者架构。 1. **Dubbo核心概念** - **服务(Service)**:服务是Dubbo中的基本单元,定义了服务的接口和版本,...
总的来说,"Dubbo初体验"涵盖的内容广泛,从基础概念到高级特性,从源码解析到工具使用,都是学习Dubbo不可或缺的部分。通过阅读博客和用户手册,我们可以系统地掌握这个强大的服务治理框架,提升我们的微服务开发...
通过深入学习和实践Dubbo源码,开发者不仅可以更好地理解Dubbo的工作原理,还能在实际项目中灵活运用,解决各种复杂的分布式服务问题。Dubbo的源码阅读也是一个不断提升自身技术深度的过程,有助于成长为更优秀的...
【Dubbo是什么】 Dubbo是阿里巴巴开源的一款...此外,其基于Spring的配置方式,使得集成到现有应用中更加方便,降低了学习成本。对于初学者来说,掌握Dubbo的基本概念和使用方式,是进入分布式服务化领域的重要步骤。
【Dubbo学习笔记】 Dubbo是一款高性能、轻量级的Java RPC框架,它旨在提供面向接口的远程方法调用、智能容错与负载均衡、服务自动注册与发现等核心功能,帮助开发者构建分布式服务架构。以下是对Dubbo基础知识、...
【Dubbo学习静态网页】是针对Java领域内著名的开源服务框架Dubbo的一份详细学习资料,这份资源以静态网页的形式提供了丰富的开发文档。Dubbo是中国阿里巴巴公司贡献的高性能、轻量级的服务治理框架,它主要面向...
《Dubbo Demo 学习指南》 Dubbo是一款由阿里巴巴开源的高性能、轻量级的服务治理框架,主要用于Java环境下的分布式服务调用。本指南将以"Dubbo Demo"为实例,帮助初学者理解并掌握Dubbo的基本概念、配置与实践。 ...
分布式框架Dubbo学习小案例 在当今的互联网时代,服务化的架构已经成为大型系统设计的主流。其中,阿里巴巴的开源项目Dubbo是一个非常重要的分布式服务框架,它致力于提供高性能和透明化的RPC(远程过程调用)服务...
【Dubbo学习资料详解】 Dubbo,全称为Apache Dubbo,是阿里巴巴开源的一款高性能、轻量级的服务治理框架,主要用于实现分布式服务之间的调用。它以其强大的服务发现、负载均衡、容错处理等功能,被广泛应用于大型...
下面将详细解析标题中提及的dubbo官网学习资料中所涉及的关键知识点。 首先,提及的文档包含了关于Dubbo的安装手册和运维手册。安装手册主要讲解了如何搭建Dubbo环境,包括必要的组件安装和配置。文档中提到了示例...
这是自己在dubbo学习过程中资料的整理 , 算是一个大纲 , 能够帮助到你快速入门 , 快速理解并且使用 , 大概半个小时就可以学会了 .