撰写于 2021
  • dubbo-go 白话文

    Saturday, February 20, 2021 在 Golang

    一、前言 本文基于 dubbogo 1.5.4 版本 最近开始参与 dubbogo 的一些开发测试,之前都是直接拿 samples 的例子验证功能,而这次为了复现一个功能问题,打算从零开始搭建一个 dubbo-go 和 dubbo 调用的工程,踩到了一些新人使用 dubbogo 的坑,把这个过程记录下供大家参考。 通过本文你可以了解到: 如何常规配置 dubbogo 消费方去调用 dubbo 和 dubbogo 服务提供方 通过一个实际的 BUG 介绍解决问题的思路 二、解决问题 2.1 …

    更多

  • 分布式事务框架 seata-golang 通信模型详解

    Friday, January 15, 2021 在 Golang

    简介 Java 的世界里,大家广泛使用一个高性能网络通信框架 —— netty,很多 RPC 框架都是基于 netty 来实现的。在 golang 的世界里,getty 也是一个类似 netty 的高性能网络通信库。getty 最初由 dubbo-go 项目负责人于雨开发,作为底层通信库在 dubbo-go 中使用。随着 dubbo-go 捐献给 apache 基金会,在社区小伙伴的共同努力下,getty 也最终进入到 apache 这个大家庭,并改名 dubbo-getty。 18 年的时候, …

    更多

  • dubbogo 3.0:牵手 gRPC 走向云原生时代

    Friday, January 15, 2021 在 Golang

    自从 2011 年 Dubbo 开源之后,被大量中小公司采用,一直是国内最受欢迎的 RPC 框架。2014 年,由于阿里内部组织架构调整,Dubbo 暂停维护了一段时间,之后随着 Spring Cloud 的面世,两个体系在融合中一起助推了微服务的火热。 不过这世界变化快,自从以 docker 为代表的的容器技术和以 K8s 为代表的容器编排技术登上舞台之后,云原生时代到来了。在云原生时代,不可变的基础设施给原有的中间件带来了不可变的中间件基础设施:gRPC 统一了底层通信层;protobuf …

    更多

  • dubbo-go源码笔记(二)客户端调用过程

    Friday, January 15, 2021 在 Golang

    随着微服务架构的流行,许多高性能 rpc 框架应运而生,由阿里开源的 dubbo 框架 go 语言版本的 dubbo-go 也成为了众多开发者不错的选择。本文将介绍 dubbo-go 框架的基本使用方法,以及从 export 调用链的角度进行 server 端源码导读,希望能引导读者进一步认识这款框架。 前言 有了上一篇文章《dubbo-go 源码笔记(一)Server服务暴露过程详解》 的铺垫,可以大致上类比客户端服务类似于服务端启动过程。其中最大的区别是服务端通过zk注册服务,发布自己 …

    更多

  • 涂鸦智能 dubbo-go 亿级流量的实践与探索

    Thursday, January 14, 2021 在 Golang

    dubbo 是一个基于 Java 开发的高性能的轻量级 RPC 框架,dubbo 提供了丰富的服务治理功能和优秀的扩展能力。而 dubbo-go 在 java 与 golang 之间提供统一的服务化能力与标准,是涂鸦智能目前最需要解决的主要问题。本文分为实践和快速接入两部分,分享在涂鸦智能的 dubbo-go 实战经验,意在帮助用户快速接入 dubbo-go RPC 框架,希望能让大家少走些弯路。 另外,文中的测试代码基于 dubbo-go版本 v1.4.0。 dubbo-go …

    更多

  • 快速上手 dubbo-go

    Thursday, January 14, 2021 在 Golang

    前言 每次技术调研总会发现自己学不动了怎么办?用已有的知识来拓展要学习的新知识就好了~ by LinkinStar 最近需要调研使用 dubbo,之前完全是 0 基础,对于 dubbo 只存在于听说,今天上手实战一把,告诉你如何快速用 go 上手 dubbo PS:以下的学习方式适用于很多新技术 基本概念 首先学习一个技术首先要看看它的整体架构和基本概念,每个技术都有着自己的名词解释和实现方式,如果文档齐全就简单很多。 基本概念 大致浏览了背景、需求、架构之后基本上有一个大致概念 其实整体架构和 …

    更多

  • 解构 Dubbo-go 的核心注册引擎 Nacos

    Thursday, January 14, 2021 在 Golang

    近几年,随着Go语言社区逐渐发展和壮大,越来越多的公司开始尝试采用Go搭建微服务体系,也涌现了一批Go的微服务框架,如go-micro、go-kit、Dubbo-go等,跟微服务治理相关的组件也逐渐开始在Go生态发力,如Sentinel、Hystrix等都推出了Go语言版本,而作为微服务框架的核心引擎–注册中心,也是必不可缺少的组件,市面已经有多款注册中心支持Go语言,应该如何选择呢?我们可以对目前主流的支持Go语言的注册中心做个对比。 根据上表的对比我们可以从以下几个维度得出结论: …

    更多

  • 记一次在 mosn 对 dubbo、dubbo-go-hessian2 的性能优化

    Thursday, January 14, 2021 在 Golang

    背景 蚂蚁内部对 Service Mesh 的稳定性和性能要求是比较高的,内部 mosn 广泛用于生产环境。在云上和开源社区,RPC 领域 dubbo 和 spring cloud 同样广泛用于生产环境,我们在 mosn 基础上,支持了 dubbo 和 spring cloud 流量代理。我们发现在支持 dubbo 协议过程中,经过 Mesh 流量代理后,性能有非常大的性能损耗,在大商户落地 Mesh 中也对性能有较高要求,因此本文会重点描述在基于 Go …

    更多

  • Go 版本入 Dubbo 生态一周年

    Thursday, January 14, 2021 在 Golang

    去年 5 月,阿里开源的高性能 RPC 框架 Dubbo 从 ASF 毕业并晋升顶级项目,同时,还宣布 Go 语言版本的 Dubbo-go 正式加入 Dubbo 官方生态。 经过一年的发展, Dubbo-go 在技术和社区运营方面都已经有了不错的成绩。Dubbo-go 是 Dubbo 的完整 Go 语言实现,在功能实现和技术路径上与 Dubbo 有不同程度的对标,项目团队预计很快便可以追平 Java 版的功能。当然,也是因为基于 Go 语言开发,Dubbo-go 更易上手, …

    更多

  • Dubbo-go应用维度注册模型

    Thursday, January 14, 2021 在 Golang

    Dubbo 3.0 将至。其最重要的一点就是服务自省,其基础即是应用维度的注册模型,作为目前与 Dubbo 在功能上完全对齐的 Dubbo-go,已于 本年【2020 年】7 月份发布了其 v1.5.0 版本,实现了该模型,为年底实现与 Dubbo 3.0 对齐的新版本奠定了基础。 Dubbo-go 作为 Dubbo 的 Go 语言版本,因跨语言之故,二者针对同一模型的实现必然有较大差异,故本文注重讨论 Dubbo-go 社区自身对该模型的理解和实现,以及其与 Dubbo 之间的差异。 1 …

    更多