张贴在 2021
Dubbo Java 3.0.2 发版公告
Sunday, July 18, 2021 在 社区动态
新特性 支持通过 @DubboService 注解暴露泛化服务 元数据中心xml格式的配置支持 protocol 和 port 属性 兼容 curator5 以上的版本 点对点调用支持*通配符进行匹配, 一个提供者地址可对应多个接口 为应用级别的服务发现增加动态配置去进行规则覆盖 对提供者测的动态配置覆盖规则提供开关,可以使提供者无视动态配置,不重新暴露 支持 native image 提供取消执行 shutdown hook 的开关 支持 Kubernetes Mesh …
Dubbo Java 3.0.1 发版公告
Friday, July 02, 2021 在 社区动态
优化 重构服务自省映射关系,支持地址迁移时直接配置上游应用名 为 Spring 扫描添加缓存 优化配置覆盖逻辑 支持 Servlet 环境下控制 Dubbo 生命周期 添加 ServiceListener 用于监听 ServiceConfig 优化方法回调参数设置 Bug 修复 启用强制校验 更正多注册中心情况下,一个注册中心启动时无地址就销毁的逻辑 移除冗余的日志输出 忽略无效的 MetadataReportConfig 修复消费端启动时 NPE 的情况 修复若干和低版本兼容问题 修复若干应用 …
Dubbo3 应用级服务发现
Wednesday, June 02, 2021 在 源码分析
1 服务发现(Service Discovery) 概述 从 Internet 刚开始兴起,如何动态感知后端服务的地址变化就是一个必须要面对的问题,为此人们定义了 DNS 协议,基于此协议,调用方只需要记住由固定字符串组成的域名,就能轻松完成对后端服务的访问,而不用担心流量最终会访问到哪些机器 IP,因为有代理组件会基于 DNS 地址解析后的地址列表,将流量透明的、均匀的分发到不同的后端机器上。 在使用微服务构建复杂的分布式系统时,如何感知 backend 服务实例的动态上下线,也是微服务框架最 …
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语言的注册中心做个对比。 根据上表的对比我们可以从以下几个维度得出结论: …