前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我在公司里用 Go 给 Dubbo 写中间件

我在公司里用 Go 给 Dubbo 写中间件

作者头像
KevinYan
发布2022-10-27 10:24:52
4420
发布2022-10-27 10:24:52
举报
文章被收录于专栏:网管叨bi叨网管叨bi叨

作者小楼,目前在国内出行巨头做中间件开发。

Dubbo是国内电商巨头阿里巴巴,于2011年开源的一款RPC框架,使用的开发语言是 Java。一般公司在规模达到一定程度,单体应用无法支撑业务发展时,会选择微服务架构,这时就需要一个好用的RPC框架。类似Dubbo的竞品如 Spring Cloud 在2014年开源,微博的 Motan 在2017年开源,跨语言的 gRPC 在2015年开源,Thrift 2007 年开源。

这些RPC框架中只有Thrift 比它早,但Thrift只是个单纯的RPC框架,Dubbo则包含了开箱即用的服务治理能力,如服务注册与发现、负载均衡、容错、动态配置等等。可以说早期RPC框架没得选,开发也得用Java语言。就算到了RPC框架百花齐放的时代,这么多公司的使用加上阿里的背书,Dubbo也有它的一席之地。

当一个公司选择了Java编程语言和Dubbo框架,后来又想尝试Go,或者一些新业务、新部门想尝试Go时,他们就面临了一个难题,Go如何跟JavaDubbo通信。由于Dubbo协议是私有协议,用Go重新实现一遍的代价还是挺大。于是Dubbo-Go应运而生,Dubbo-Go官方对这个项目的介绍也阐述了项目的技术价值:

Apache Dubbo Go 语言实现,架起 Java 和 Golang 之间的桥梁,与 gRPC/Dubbo 生态互联互通,带领 Java 生态享受云原生时代的技术红利。

我再通俗地翻译一下:一个公司或部门内有人用JavaDubbo,有人用Go,这两者需要通信,于是就有了Dubbo-Go,用来解决通信问题。

我本人数学本科毕业,开始在小厂做PHP开发,后来去了杭州一家独角兽公司呆了5年,从PHP转到了Java,也从业务开发转向了后端基础架构,目前在某出行巨头公司做中间件开发工作,技能树又点上了Go。陆续改进过Dubbo/Nacos/Sentinel/SkyWalking等开源项目。

如果你有这方面的问题,可以一起探讨,也欢迎关注我的微信公众号

我写了很多关于Dubbo的文章,比如:

《Dubbo网关演进之路》

《小白也能看懂的Dubbo应用级服务发现》

《Dubbo为什么用Go重写?》

更多见Dubbo杂谈合集

写这些博客的初衷也是记录一些排查问题的过程,像下面这些,一个个都是血泪史:

当然我还写了很多其他干货文章,很多都被各大平台相继转载:

目前我也在整理一些学习资料,关注公众号回复关键字「资料」送你一些我觉得还不错的pdf电子书。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网管叨bi叨 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档