Dubbo源码(1):统一配置总线——URL
概述 RPC+服务治理是一个重要且热门的课题,在这个领域下的新事物层出不穷。但是在国内的Java生态,Dubbo无疑是最广泛选型的产品。 不管是一线大厂还是名不见经传的小厂,都不约而同的选用Dubbo。这中间当然有【历史惯性】的因素,但是更重要的一定还是因为Dubbo框架丰富的功能和极优秀的代码架构。 如果你去深度的追寻Dubbo的起源,你一定会感受到的一点:Dubbo不是一项KPI工...
概述 RPC+服务治理是一个重要且热门的课题,在这个领域下的新事物层出不穷。但是在国内的Java生态,Dubbo无疑是最广泛选型的产品。 不管是一线大厂还是名不见经传的小厂,都不约而同的选用Dubbo。这中间当然有【历史惯性】的因素,但是更重要的一定还是因为Dubbo框架丰富的功能和极优秀的代码架构。 如果你去深度的追寻Dubbo的起源,你一定会感受到的一点:Dubbo不是一项KPI工...
背景 事情是这样的,我最近试用了各种AI Chat后发现国产大模型都开始有点呆了,不管是千问、deepseek还是豆包没法满足我的期待。当然这个观点可能不客观,因为有可能只是因为我现在对大模型的期待越来越高了。 我就到处看看有没有其他的模型可以用来满足我日常对话答疑的需求,发现Gemini的口碑不错,而且谷歌那么壕可以白嫖。 激动的打开https://gemini.google.com...
概述 飞书 是一款企业IM软件,但同时它也逐步的变成了企业OA平台。大家已经习惯了将各种事件通知、审批流程统一收拢到飞书。 飞书审批的概念和流程比较复杂,这个复杂度不是飞书带来的,而是审批流本身带来的。 本文希望帮助大家建立飞书审批流的认知。 审批流的概念 审批流是一个工作流,所谓的工作流一般就是一个DAG。用一个有向无环图来编排业务流程,业务事件驱动流程自动化的流转。 flow...
1. 简介 Feign 是一个声明式的 HTTP 客户端库,由 Netflix 开发,现属于 OpenFeign 项目。它简化了 HTTP API 客户端的编写,让你可以用简单的接口和注解来定义 REST 服务调用。 1. 核心特点 声明式风格 :通过 Java 接口和注解定义 HTTP 请求 简化开发 :自动处理 HTTP 请求/响应序列化 集成友好 :与 Ribbon...
1. 简介 ribbon-loadbalancer 是 Netflix 开源的一款基于 HTTP 和 TCP 的客户端负载均衡工具 ,主要用于在分布式系统中将服务请求合理地分配到多个服务实例上,以提高系统的可用性和性能。 它是 Spring Cloud 生态中的核心组件之一,常与 Eureka、Consul 等服务发现工具配合使用。 负载均衡 支持多种负载均...
概述 Jackson是Java生态老牌的JSON编解码库,它凭借其稳健的代码设计、活跃的社区生态,赢得了一众Java开发者的青睐,成为Spring生态里默认的、开箱即用的JSON编解码库。 本文将自顶向下的介绍Jackson是如何完成【string】->【object】转换,帮助大家更好地理解Jackson反序列化的【宏观脉络】。 代码架构 随便找一个使用了Jackson的...
概述 在高级编程语言的世界中,开发者始终与【object/struct】这类高度抽象的数据结构打交道。然而在分布式架构下,任何服务进程都不是数据孤岛——跨进程数据交换是必然需求。 以Java为例,业务逻辑的输入输出都是【object】。但在RPC场景中,这些对象必须经由网络传输。这里出现了一个根本性矛盾:网络介质(网线/光纤)对面向对象编程(OOP)一无所知,它们只会用光和电忠实地传输扁...
背景 作为软件开发工程师,我们需要片刻不停地追踪新技术动态、学习最佳实践。过去几年,我的书签栏里逐渐堆积了感兴趣的、有干货的开发者个人站点。但这种传统方式逐渐暴露出明显痛点: 信息滞后:只能主动想起去点击,容易错过重要更新 管理低效:书签数量膨胀后难以分类检索 阅读分散:需要在多个标签页反复切换 直到我发现RSS(Really Simple Syndication)订阅...
概述 Coding过程中会遇到大量重复的的样板代码,有没有什么办法可以去掉这些样板代码呢? 本文将结合实际案例给出针对性的解决方案。 1. 空校验:lombok.NonNull 一个合格的coder,多少是得有点【被迫害妄想】症状才行。 这种症状的体现在:不信任任何【输入】!在对输入进行逻辑处理前一定要先进行完整性校验,尤其是null。 这种心态就会导致代码里出现大量的【卫...
背景 很多时候我们会把常用书签放到书签栏,但是书签栏就那么大空间,为了装下更多常用书签来快捷访问,我们希望只在书签栏显示网站图标,不带网站标题。 只需要把书签名称置空就可以了。 但是这个又带来一个问题:我们公司的网站大部分都统一用【公司黑标】来做网站图标,放到书签栏就是一堆一样的图标,没有区分度! 比如上面,一个是【APM】书签,一个【玄麟】书签。是不是分不清谁是谁? ...