上一篇我们介绍《构建dubbo分布式平台-maven构建ant-utils工具包的构建》,从今天开始,我们进入分布式服务项目的核心教程,真正使用dubbo实现分布式服务进行企业服务。
在学习dubbo分布式服务之前,我们需要了解dubbo服务的相关教程,我会出一写关于dubbo服务的文章快速帮大家学习。
1. Dubbo是什么?
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSDL,以服务者与消费者的方式在dubbo上注册)。
其核心部分包含:
1. 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。
2. 集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。
3. 自动发现: 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。
2. dubbo能做什么?
1.透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。
2.软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。
3. 服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。
Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。
3. dubbo的架构
dubbo架构图如下:
节点角色说明:
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Container: 服务运行容器。
调用关系说明:
0 服务容器负责启动,加载,运行服务提供者。
1. 服务提供者在启动时,向注册中心注册自己提供的服务。
2. 服务消费者在启动时,向注册中心订阅自己所需的服务。
3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
dubbo的容错性显而易见,性能方面还没有还得及测,我们系统某页面需要掉5次接口,本来想建议做个缓存,但业务关系不能采纳,还需要研究下dubbo的性能调优问题
4. dubbo使用方法
Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。如果不想使用Spring配置,而希望通过API的方式进行调用(不推荐),后面的章节中我们会逐步剖析dubbo的使用!
欢迎大家跟我一起学习《构建dubbo分布式平台》,希望大家持续关注后面的文章!
相关推荐
【标签】"dubbo工具" 表明 Dubbo-admin 是 Dubbo 生态系统的一部分,它作为一款工具,帮助开发者和运维人员更好地管理和维护基于 Dubbo 构建的服务架构。 【压缩包子文件的文件名称列表】中的 "dubbo-admin" 可能是...
综上所述,Apache Incubator Dubbo-OPS Master是Dubbo生态系统中的重要组成部分,它提供了强大的管理和监控能力,为开发者带来了极大的便利,也是构建高效、稳定的分布式系统不可或缺的工具。对于Java开发者,尤其是...
【描述】"incubator-dubbo-dubbo-2.5.8管理平台,包含dubbo-admin" 指出,这个版本不仅提供了服务治理的核心组件,还附带了一个可视化的管理工具——dubbo-admin。这个管理平台对于开发者和运维人员来说极其重要,...
总的来说,`incubator-dubbo-ops-master.zip`是深入理解Dubbo Admin和分布式服务治理的重要资料,通过分析源码,我们可以更全面地掌握服务注册、发现、监控等核心概念,为构建稳定、高效的分布式系统打下坚实基础。
而Dubbo-Admin 2.7则为这套平台提供了便捷的监控和管理手段,使得开发者能够更好地掌控服务的运行状态,提升系统的稳定性和可靠性。在实际项目中,根据具体需求,还可以进一步定制化配置,实现更复杂的服务治理功能...
Dubbo是一款高性能、轻量级的Java RPC框架,专注于提供高效的分布式服务调用方案。在架构设计方面,Dubbo将复杂的网络通信、负载均衡、服务发现、服务治理等细节封装起来,使得开发者能够更加专注于业务逻辑的实现。...
首先,`dubbo-monitor-simple`是一个独立的项目,它基于Spring MVC构建,提供了对Dubbo服务调用的可视化监控界面。版本2.5.4是这个项目的某个稳定版本,它包含了监控所需的核心功能。通过解压`dubbo-monitor-simple-...
《Dubbo Admin 2.5.5:洞察RPC服务的智能监控》 在分布式系统中,服务监控是一项至关重要的任务,它...在日常运维中,结合日志分析、性能测试等手段,`dubbo-admin`可以帮助我们构建一个健壮、高效的分布式服务系统。
本示例项目"分布式事务-seata0.9版本(springboot-dubbo-seata-zk)"是针对这一需求提供的一种解决方案,它结合了SpringBoot、Dubbo和Seata框架,并使用Zookeeper作为注册中心。下面将详细介绍这个项目中的关键技术和...
`dubbo-monitor-simple`是Dubbo提供的一个简单的监控实现,它基于Spring MVC,可以快速搭建起一个基础的服务监控平台。 二、版本信息与亲测反馈 本资源`dubbo-monitor-simple-2.5.8-assembly.tar.gz`是2017年12月...
在分布式系统中,Dubbo-admin扮演着重要的角色,帮助开发者管理和维护服务。 【描述】"dubbo-admin-develop.zip" 提示这是一个针对Dubbo管理员控制台的开发版本,意味着它包含了源代码,用户可以进行二次开发或深入...
【标题】"dubbo-admin-master.zip" 是一个包含 Dubbo 管理服务源码的压缩包,主要用于管理和监控基于 Dubbo 构建的服务。Dubbo 是阿里巴巴开源的一款高性能、轻量级的 Java RPC 框架,它提供了服务治理、负载均衡、...
综上所述,dubbo-admin-2.6.0 作为 Dubbo 生态系统的一部分,通过其丰富的功能和优化,使得开发者和运维团队能更有效地监控和管理分布式服务,同时提高了服务发现的效率,为大型分布式系统的稳定运行提供了坚实的...
综上所述,"incubator-dubbo-dubbo-2.6.1"是Apache Dubbo的一个具体版本,它具备强大的服务治理功能,适用于构建大型分布式系统。通过深入研究和应用这个版本,开发者可以利用其特性来提升微服务架构的效率和稳定性...
总的来说,dubbo-admin-2.8.4.war是Dubbo服务治理的重要工具,它简化了对分布式系统的服务管理和监控,提升了开发和运维的效率。理解并熟练使用dubbo-admin对于优化Dubbo架构的微服务应用至关重要。
通过`dubbo-sample`代码,开发者不仅可以学习到Dubbo的基本用法,还能了解到服务治理的实践细节,从而更好地在实际项目中应用Dubbo,构建高效稳定的分布式系统。在实际开发中,可以根据需求选择合适的模块进行学习和...
通过dubbo-admin,开发者可以实时查看服务的状态,进行调用链跟踪,方便问题排查,同时也能对服务进行动态配置,实现服务的灵活管理和维护。 接着,我们转向Zookeeper 3.4.6。Zookeeper是由Apache基金会开发的一个...
在实际项目中,结合SOA的理念,利用Dubbo构建的分布式系统可以有效地解耦业务,提高系统的可维护性和可扩展性。同时,Dubbo的丰富特性和易用性使其在企业级应用中得到广泛应用,成为Java平台上分布式服务治理的事实...