一、简介

Apache Dubbo 是一款微服务开发框架,提供了RPC通信与微服务治理两大关键能力。使用Dubbo开发的微服务,将具备相互之间的远程发现与通信能力,同时利用Dubbo提供的丰富治理能力,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。Dubbo是高度可扩展的,用户可以在任意功能点去定制自己的实现,改变框架的默认行为来满足自己的业务需求。

Dubbo提供的基础能力包括:

  • 服务发现
  • 流式通信
  • 负载均衡
  • 流量治理

Dubbo在解决业务落地与规模化实践方面有着无可比拟的优势:

  • 开箱即用
  • 超大规模微服务集群实践
  • 企业级微服务治理能力

一站式微服务解决方案
Dubbo提供了从服务定义、服务发现、服务通信到流量管控等几乎所有的服务治理能力,尝试从使用上对用户屏蔽底层细节,提供更好的可用性。

二、概念与架构

服务发现,即消费端自动发现服务地址列表的能力,是微服务框架需要具备的关键能力,借助于自动化的服务发现,微服务之间可以在无需感知对端部署位置与IP地址的情况下实现通信。

实现服务发现的方式有很多种,Dubbo提供的是一种Client-Based的服务发现机制,通常要部署额外的第三方注册中心来协调服务发现过程,常用的Zookeeper

服务发现的一个核心组件是注册中心
Provider 注册地址到注册中心
Consumer从注册中心读取和订阅Provider地址列表

微服务开发框架-----Apache Dubbo的更多相关文章

  1. 微服务痛点-基于Dubbo + Seata的分布式事务(TCC模式)

    前言 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.Seata 将为用户提供了 AT.TCC.SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案. ...

  2. 2.微服务开发框架——Spring Cloud

                     微服务开发框架—Spring Cloud 2.1. Spring Cloud简介及其特点 简介: Spring Cloud为开发人员提供了快速构建分布式系统中一些常见 ...

  3. 手把手0基础项目实战(一)——教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)...

    原文:手把手0基础项目实战(一)--教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)... 本文你将学到什么? 本文将以原理+实战的方式,首先对& ...

  4. 分享一个集成.NET Core+Swagger+Consul+Polly+Ocelot+IdentityServer4+Exceptionless+Apollo+SkyWalking的微服务开发框架

    集成.NET Core+Swagger+Consul+Polly+Ocelot+IdentityServer4+Exceptionless+Apollo的微服务开发框架 Github源代码地址 htt ...

  5. Adnc如何本地调试 - 一个轻量级的.Net Core微服务开发框架

    前言     Adnc是一个轻量级的.Net Core微服务开发框架,同样适用于单体架构系统的开发.     如果只是想本地调试,只需要安装必备软件,必备软件除开发工具外,其它软件建议大家都使用`do ...

  6. 微服务痛点-基于Dubbo + Seata的分布式事务(AT)模式

    前言 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.Seata 将为用户提供了 AT.TCC.SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案. ...

  7. 如何跟领导解释为什么选择SpringCloud alibaba作为微服务开发框架

    什么是微服务 提到微服务不得不提Martin Fowler在2014年3月25日发表的文章 Microservices,里面给出了微服务的定义.后续国内所有关于微服务的介绍都是基于这篇文章的翻译,或加 ...

  8. dubbo和dubboX与微服务架构(dubbo一)

    一.传统三层架构模式的缺陷 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)web.业务逻辑层(Bu ...

  9. 【版本发布】JAVA微服务开发框架,Jeecg-P3 1.0.0 重构版本发布

    1.项目介绍 Jeecg-P3是一个微服务框架,采用插件式模式开发:业务插件以JAR方式提供,松耦合可插拔支持独立部署,也可无缝集成Jeecg平台中,目前jeecg已经提供了在线聊天,我的邮箱等一系列 ...

随机推荐

  1. Thinhole类声明和实现

    Thinhole类说白了就是在眼睛处,放一个放大镜.就像我们平时用放大镜观察物体一样.这样实现的效果的是,周围会模糊.原理书上都说的很清楚了,我把算法截图下来了.这个应用我猜测是在竞技游戏比如csgo ...

  2. C#《原CSharp》第四回 人常见岁月更替 却难知人文相继

    纪芾显然此时并不是很能理解纪老爷子口中是也不是这句话的意思,不过他依然将这个要点记在了心里,方便以后悟出其最终门道的时候进行比对. "今天,我在璃月港北边的一户人家,遇到了一个挺有意思的后生 ...

  3. 一分钟安装DolphinScheduler并上手体验

    一分钟安装Apache DolphinScheduler并上手体验 1 一分钟安装DolphinScheduler并上手体验 本教程基于DolphinScheduler1.3.2 2 需要准备: 一台 ...

  4. Redis 02 数据库

    参考源 https://www.bilibili.com/video/BV1S54y1R7SB?spm_id_from=333.999.0.0 版本 本文章基于 Redis 6.2.6 Redis 默 ...

  5. es5 es6 新增

    es5的新特性 对于数组和字符串都进行了加强 map 遍历 es6的新特性 数组的增强 find 查找findIndex 查找下标 字符的增强 includes 是否包含 (包含返回true 不包含返 ...

  6. @babel/runtime 和 @babel/plugin-transform-runtime 两个的作用是什么

    Babel 最基础的功能就是将采用 ECMAScript 2015+ 语法编写的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中. 最基础的依赖包也就是 ...

  7. Springboot+MybatisPlus多数据源比对数据

    欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章https://www.javaman.cn/ 基于不同的数据源进行数据比对,比较两个数据库的表之间数据的总量,以及处理后的总量,按 ...

  8. vs完整编译Opencv+contrib

    准备条件 Opencv源码(以4.3.0为例) OpenContrib源码(以4.3.0)为例 最新版的CMake GUI CMake 生成项目 设置source code 和生成的build文件夹 ...

  9. Homework7

    问:了解java的反射机制. 答:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法.而对于任意一个对象,都能够调用它的任意一个方法.这种动态获取的信息以及动态调用对象的 ...

  10. mac_VMWare安装总结

    MacOS 安装VmWare 总结 如果之前安装过virtualBox,virtualBox的内核扩展会影响到VmWare的使用 *比如会导致VMWare虽然可以安装,却无法创建虚拟机 这是需要执行以 ...