最近公司一直在用阿里的开源框架Dubbo,正好上一篇文章也是讲到了RPC的概念,Dubbo听过的兄弟都知道在业界好评还是很高的,不光是设计优雅,文档也很齐全,这次就简单的分享下LZ的解读成果,当然本文章只是浅层次的,着重分析的是Dubbo核心层如何去高效的执行调用远程RPC服务的。这里要简单跟兄弟们区分下概念,最常见最具代表性也是比较简单的HTTP协议(短连接)与Socket编程(长连接)的区别,
转载 2024-05-31 08:27:16
44阅读
RPC介绍什么是RPC?RPC(Remote Procedure Call)远程过程调用。见名知意 - 从远程主机调用一个过程/函数。 RPC的目标是:使得本程序调用其它远程主机上的函数,好像调用本程序内的函数一样简单,并且屏蔽编程语言的差异性。 要实现上述目标首先是设计一种通讯协议,称之为:RPC协议(Protocol)RPC协议不是一个具体的协议,而是一个类型名,代表一类协
 ice-dubbo-thrift-grpc性能测试对比测试说明本测试只是个人为了对rpc进行技术选型,测试可能不够严谨,对某些rpc的参数可能也不是最优,如果你知道更优的参数配置或者改进意见等,欢迎反馈给我magicdoom@gmail.com。另外代码有些地方只是为了测试方便,不作为平时编程的范例。所有测试源码和运行均一起提供在附件里。测试源码工程可用idea打开 ,其中dubbo
转载 2024-04-25 21:48:50
375阅读
1 问题分析: 如何自己设计一个类似 Dubbo 的 RPC 框架?说实话,就这问题,其实就跟问你如何自己设计一个 MQ 一样的道理,就考两个:你有没有对某个 rpc 框架原理有非常深入的理解。你能不能从整体上来思考一下,如何设计一个 rpc 框架,考考你的系统设计能力。2 面试题回答: 其实问到你这问题,你起码不能认怂,因为是知识的扫盲,那我不可能给你深入讲解什么 kafka
Java后端知识点汇总——Dubbo专题全套Java知识点汇总目录,见——参考于码农求职小助手公众号1、Dubbo是什么?Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC 分布式服务框架,现已成为 Apache 基金会孵化项目。面试官问你如果这个都不清楚,那下面的就没必要问了。官网:http://dubbo.apache.org2、为什么要用Dubbo?因为是阿里开源项目,国内很多互联网
转载 2024-07-31 14:28:56
48阅读
公司内部的RPC框架,经过长时间的发展,已经由完全自研演进到底层替换为Dubbo实现,但使用方式(API)还是不变。由于使用了PB序列化协议,以及业务码+操作码定义接口的方式,非常影响开发效率,可理解性差,链路排查困难等问题,不断被业务方吐槽。因此就有了第三个版本,继续基于Dubbo扩展点,设计开发提供接近Dubbo原生的使用方式。由于Dubbo原生提供的Http rpc协议的实现,不仅使用了Sp
本文整理自刘军在 Dubbo meetup 成都站分享的《Dubbo 在多语言和协议穿透性方向上的探索》。 本文总体上可分为基础产品简介、DubbogRPC (HTTP/2) 和 Protobuf 的支持及示例演示三部分,在简介部分介绍了 Dubbo、HTTP/2、gRPC、Protobuf 的基本概念和特点;第二部分介绍了 Dubbo 为何要支持 gRPC (HTTP/2) 和 Prot
转载 2024-07-24 14:16:18
487阅读
目录 ● Dubbo ● Motan ● Thrift ● Grpc上述四种流行RPC框架的对比● Dubbo    本来阿里2014年就不在维护Dubbo了,直到2017年9月份又恢复了维护,可能一来是用户量很多,哪怕是在不维护的情况下还是有很多的用户,二来是微服务比较火,比较看好微服务的方向。以下是Dub
转载 2024-03-26 21:25:57
14阅读
01、GRPC测试GRPC(Google Remote Procedure Call)是一种高性能、开源的远程过程调用(RPC)框架,由 Google开发并基于Protocol Buffers(protobuf)进行通信。它使用了HTTP/2协议作为传输层,支持多种语言,包括C++、Java、Python等。gRPC提供了强类型、高效、可靠的通信机制,适用于构建分布式系统和微服务架构。在本文中,我
Dubbox框架简介:  Dubbox是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo,被国内电商及互联网项目广泛使用,但是后阿里巴巴对该项目停止维护了,当当网后来组建了一个团队一直维护Dubbo,所以改名为Dubbox。(现如今已经纳入Apache团队)。致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbox就是个服务框架,如果没有分布式的需求,
什么是 RPC? RPC(Remote Procedure Call)是远程过程调用,比如说现在有两台服务器A, B,一个在A服务器上的应用想要调用B服务器上的应用提供的某个,由于不在两个方法不在一个内存空间,不能直接调用,需要通过网络表达调用的语义和传达调用的数据。常存在于分布式系统中。 注释: Dubbo是Alibaba开发的一个RPC框架,远程接口基于Java Interface, 依托于S
转载 2024-08-30 22:00:14
55阅读
本文合适对DubboGrpc、Protobuf有一定了解的童鞋阅读。目前Dubbo最新的版本为3,新增了很多特性,最让人兴奋的莫过于新的通讯协议Triple, 兼容了grpc协议,解决了Dubbo2中私有通讯协议带来的封闭性问题。由于兼容grpc协议,因此triple天然支持跨语言数据通通信,如python、golang、C++等等。grpc协议底层使用protobuf进行数据编码、解码操作,相
转载 2024-02-20 22:22:39
194阅读
本测试只是个人为了对rpc进行技术选型,测试可能不够严谨,对某些rpc的参数可能也不是最优,如果你知道更优的参数配置
转载 2024-07-26 10:43:15
329阅读
  Dubbo 是阿里巴巴开源的一款Java高性能分布式微服务框架。它以远程方法调用功能为基础,将系统中的服务以远程方法调用(RPC)的形式暴露并管理,提供配套的面向服务(SOA)的治理手段,从而形成完整的分布式微服务框架体系。  Dubbo项目大概始于2009年,但不知出于什么原因,官方于2012年停止了维护。颇有戏剧性的是,墙内开花墙外香,Dubbo受到国内很多第三方厂商的
Dubbo 是阿里巴巴公司开源的一个Java高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。不过,略有遗憾的是,据说在淘宝内部,dubbo由于跟淘宝另一个类似的框架HSF(非开源)有竞争关系,导致dubbo团队已经解散(参见 中的评论),反到是当当网的扩展版本仍在持续发展,墙内开花墙外香。其它的一些知名电商如当当
DubboDubbo 是阿里巴巴公司开源的一个Java高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。曾有一段时间放弃维护,不过当前已经阿里已经重启对Dubbo的维护,并发布了多个更新版本。MotanMotan是新浪微博开源的一个Java 框架。它诞生的比较晚,起于2013年,2016年5月开源。Motan 在微博平台中已经广泛应用
gRPC是谷歌开源的一款高性能、支持多种开发语言的服务框架,对于一个rpc我们关注如下几方面:序列化协议。gRPC使用protobuf,首先使用protobuf定义服务,然后使用这个文件来生成客户端和服务端的代码。因为pb是跨语言的,因此即使服务端和客户端语言并不一致也是可以互相序列化和反序列化的网络传输层。gRPC使用http2.0协议,http2.0相比于HTTP 1.x ,大幅度的提升了 w
转载 2024-08-17 11:37:30
0阅读
1.Grpc框架简介Google开发的一个高性能、开源和通用的 RPC 框架,基于ProtoBuf(Protocol Buffers) 序列化协议开发,且支持众多开发语言。面向服务端和移动端,基于 HTTP/2 设计。2.Grpc框架特性grpc可以跨语言使用。支持多种语言 支持C++、Java、Go、Python、Ruby、C#、Node.js、Android Java、Objecti
转载 2024-09-05 06:15:16
117阅读
去年5月,阿里开源的高性能 RPC 框架 Dubbo 从 ASF 毕业并晋升顶级项目,同时,还宣布 Go 语言版本的 Dubbo-go (https://github.com/apache/dubbo-go) 正式加入 Dubbo 官方生态。经过一年的发展, Dubbo-go 在技术和社区运营方面都已经有了不错的成绩。Dubbo-go 是 Dubbo 的完整 Go 语言实现,在功能实现和技术路径上
转载 8月前
35阅读
Dubbo 概述Dubbo 产生的背景随着互联网项目用户量的急剧增长,访问并发量的陡然增加,一个应用中所有的功能都集中于一个项目中,已经完全不能满足需要了,系统性能急需提升。提升性能的最直接的方式是构建集群,构建具有负载均衡功能的集群。但仅仅依靠增加具有相同业务功能的主机来提高系统的性能,能力是有限的。需要将应用的功能进行分解,分解为多个子工程,每个子工程仅完成某一特定功能,例如,登录子工程、订单
  • 1
  • 2
  • 3
  • 4
  • 5