2 天前 / yes的练级攻略
Hola,我是 yes。 经过了 RPC 核心和 Dubbo 微内核两篇文章后,今天终于要稍稍深入一波 Dubbo 了。 作为一个通用的 RPC 框架,性能是很重要的一环,而易用性和扩展性也极为重要。 简单地、无侵入式地扩展和定制 RPC 各阶段功能是很多团队的述求,Dubbo 就满足了这些需求。 它通过微内核设计和 SPI 扩展,使得一些有特殊需求的业务团队可以在 Dubbo 中实现自己的扩展,而不需要修改源码。 Dubbo 的成功离不开这样的设计,今天咱们就来盘一盘 Dubbo 是如何实现无侵入扩展的,其间还会看到 Dubbo 的 IOC 和 AOP。
13 天前 / BloomingRose
用隧道协议实现不同 dubbo 集群间的透明通信前言笔者最近完成了一个非常有意思的隧道机制 ( 已在产线运行),可以让注册到不同 zookeeper 之间的 dubbo 集群之间能够正常进行通信。如下图所示: 例如图中 A/B 两个网络隔离的集群,两者只能通过专线进行通信。但是对于在里面的应用来说,调用另外一个集群的 dubbo 服务 ( 例如 app1 调用 app3)依旧和原来的方式一模一样,无需做任何修改。这个特性对于新建单元 ( 机房),业务网络隔离等场景非常有用。 本文就稍稍聊一下这个机制。 场景这个 dubbo 集群通信机制,可被用在下面的场景中。
20 天前 / yes的练级攻略
你好,我是 yes。 在之前的文章已经提到了 RPC 的核心,想必一个 RPC 通信大致的流程和基本原理已经清晰了。 这篇文章借着 Dubbo 来说说微内核这种设计思想,不会扯到 Dubbo 某个具体细节实现上,和 Dubbo 强相关的内容会在之后的文章写到。 所以今天的重点在微内核,而这个概念我最早是从操作系统那里得知,不过操作系统的微内核和 Dubbo 相关的微内核又不太一样。 Dubbo 的微内核广义上的微内核,而操作系统只是针对内核实现。 这么说你肯定不清楚,别急,听我慢慢道来。 我们先看看操作系统的微内核。
40 天前 / vivo互联网技术
通过本文的学习,可以了解 Dubbo SPI 的特性及实现原理,希望对大家的开发设计有一定的启发性。 一、概述 SPI 全称为 Service Provider Interface,是一种模块间组件相互引用的机制。其方案通常是提供方将接口实现类的全名配置在 classPath 下的指定文件中,由调用方读取并加载。这样需要替换某个组件时,只需要引入新的 JAR 包并在其中包含新的实现类和配置文件即可,调用方的代码无需任何调整。优秀的 SPI 框架能够提供单接口多实现类时的优先级选择,由用户指定选择哪个实现。 得益于这些能力,SPI 对模块间的可插拔机制和动态扩展提供了非常好的支撑。
47 天前 / JAVA日知录
概述在 Spring Cloud 构建的微服务系统中,大多数的开发者使用都是官方提供的 Feign 组件来进行内部服务通信,这种声明式的 HTTP 客户端使用起来非常的简洁、方便、优雅,但是有一点,在使用 Feign 消费服务的时候,相比较 Dubbo 这种 RPC 框架而言,性能较差。 虽说在微服务架构中,会讲按照业务划分的微服务独立部署,并且运行在各自的进程中。微服务之间的通信更加倾向于使用 HTTP 这种简答的通信机制,大多数情况都会使用 REST API。
56 天前 / u539609
外部开发者一直以来好奇的是:阿里自己有没有在用 Dubbo?会不会用 Dubbo?在刚刚结束的双 11,我们了解到阿里云今年提出了“三位一体”的理念,即将“自研技术”、“开源项目”、“商业产品”形成统一的技术体系,最大化技术的价值。终于,在 2020的双 11,阿里巴巴经济体也用上了 Dubbo!本文是阿里双 11 在考拉大规模落地 Dubbo3.0的技术分享,系统介绍了 Dubbo3.0在性能、稳定性上对考拉业务的支撑。 HSF 是阿里内部的分布式的服务框架,作为集团中间件最重要的中间件之一,历经十多届 双 11 大促,接受万亿级别流量的锤炼,十分的稳定与高效。
76 天前 / u539609
作者 |李志信 导读:有了上一篇文章《Dubbo-go 源码笔记(一)Server 端开启服务过程》的铺垫,可以类比客户端启动于服务端的启动过程。其中最大的区别是服务端通过 zk 注册服务,发布自己的 ivkURL 并订阅事件开启监听;而客户应该是通过 zk 注册组件,拿到需要调用的 serviceURL,更新 invoker 并重写用户的 RPCService,从而实现对远程过程调用细节的封装。 配置文件和客户端源代码 1. client 配置文件 helloworld 提供的 demo:profiles/client.yaml。
95 天前 / 开发者头条
最近有一些粉丝私聊我,有没有技术文档,然后我这边经过一段时间收集,终于整理好了这套技术文档,里面包含了 Redis、Nginx、设计模式、spring 全家桶、Dubbo 等关于 Java 架构方面的资料,一并分享给大家。 技术文档已经整理好储存在网盘里面 这份资料包括: IDEA、Java 语法、面向对象、异常、常用类、集合、IO 流、多线程、网络编程、JUnit、枚举、注解、反射机制、CSS、HTML、JavaScript、JQuery、ajax、Javaweb、MySQL、JavaEE、SSM 框架、springboot、算法、Git、maven、Linux、设计模式、多线程与高并发、视频教程、视频源码、实战项目、电子书、简...
108 天前 / u539609
作者 | 行松 阿里巴巴云原生团队 本文整理自《Serverless 技术公开课》,点击“阅读原文”直达课程页面。关注“Serverless”公众号,回复“入门”,即可获取 Serverless 系列文章 PPT。 背景 通过前面几节课程的学习,相信大家对于 SAE 平台已经有了一定的了解,SAE 基于 IaaS 层资源构建的一款 Serverles 应用托管产品,免除了客户很多复杂的运维工作,开箱即用、按用量付费;并且提供了丰富的 Open API,可以很容易地与其他平台做集成。
119 天前 / zlt2000
点击上方“陶陶技术笔记”关注我 回复“资料”获取作者整理的大量学习资料! 链路追踪 ID 一、目的 开发排查系统问题用得最多的手段就是查看系统日志,但是在分布式环境下使用日志定位问题还是比较麻烦,需要借助 全链路追踪 ID 把上下文串联起来,本文主要分享基于 Spring Boot + Dubbo 框架下 日志链路追踪 ID 的实现方案选型思路。 目前大多数分布式追踪系统的思想模型都来自 Google's Dapper 论文 Dapper 全链路追踪的核心思想: 为每条请求都单独分配一个唯一的 traceId 用来标识一条请求链路...
123 天前 / why技术
这是 why 的第 64 篇原创文章 荒腔走板 大家好,我是 why,欢迎来到我连续周更优质原创文章的第 64 篇。老规矩,先荒腔走板聊聊其他的。 上面这图是我之前拼的一个拼图。 我经常玩拼图,我大概拼了 50 副左右的 1000 个小块的拼图,但是玩的都是背后有字母或者数字分区提醒的那种,最快纪录是一天拼完一副 1000 块的拼图。 但是上面这幅,只有 800 个小块,却是我拼过的最难的一幅。因为这个背后没有任何提示,只能按照前面的色彩、花纹、边框进行一点点的拼凑。前后花了我两周多的时间。 这完全是一种找虐的行为。
129 天前 / yes的练级攻略
每个时代,都不会亏待会学习的人。 大家好,我是 yes。 这次本来是打算写一篇 RocketMQ 相关文章的,但是被插队了,我也是没想到的,对了本号也有留言了哟。 说来也是巧最近在看 Dubbo 源码,然后发现了一处很奇怪的代码,于是就有了这篇文章,让我们来看一下这段代码,它属于 ChannelEventRunnable,这个 runnable 是 Dubbo IO 线程创建,将此任务扔到业务线程池中处理。 看到没,把 state == ChannelState.RECEIVED 拎出来独立一个 if,而其他的 state 还是放在 switch 里面判断。
163 天前 / OPPO互联网技术
点击关注“OPPO 互联网技术”,阅读更多技术干货 1. 背景 Dubbo 是一款高性能、轻量级的开源 Java RPC 框架,诞生于 2012 年,2015 年停止研发,后来重启并发布了 2.7 及连续多个版本。Dubbo 自开源以来,许多大公司都以此为微服务架构基石,甚至在官方停止维护的几年中,热度依然不减。 但最近几年云原生技术开始成为主流,与 Dubbo 框架的核心设计理念有不相容之处,再加上公司安全治理的需求,OPPO 互联网技术团队开发了面向云原生、 Mesh 友好的 ESA RPC 框架。
164 天前 / farliu
订阅手写 dubbo 1- 基本原理 Jun 26, 2019 | 源码狂想| 阅读 | 1.9k 字 | 7 分钟 条评论本系列,原本由之前挖的坑,现在来填。之间在讲述动态代理,谈及 mybatis、dubbo 的源码,大家也可以前往了解,点击查看。手写 dubbo,是为了更好的理解 dubbo 源码原理,顺便和大家一起看看 dubbo 实现过程。 准备本系列博客,主要实现 dubbo 的服务调用,基于 netty/http+zookeeper/redis。所以你有必要准备 zookeeper 和 redis 的环境。这个自行百度,这里讲述毫无意义。
167 天前 / 知了一笑
一、基础组件简介 1、Dubbo 框架 Dubbo 服务化治理的核心框架,之前几年在国内被广泛使用,后续由于微服务的架构的崛起,更多的公司转向微服务下成熟的技术栈,但是 Dubbo 本身确实是非常优秀的框架。 常见的应用迭代和升级的过程基本如下: 当应用访问量逐渐增大,单一应用增加机器带来的加速度越来越小,提升效率的方法之一是将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的 Web 框架 (MVC)是关键。