撸了一个 Feign 增强包 V2.0 升级版 前言大概在两年前我写过一篇 撸了一个 Feign 增强包,当时准备是利用 SpringBoot + K8s 构建应用,这个库可以类似于 SpringCloud 那样结合 SpringBoot 使用声明式接口来达到服务间通讯的目的。 2022-05-06 轮子 #Java #SpringBoot #Feign
Pulsar 重复消费? 背景许久没有分享 Java 相关的问题排查了,最近帮同事一起排查了一个问题: 在使用 Pulsar 消费时,发生了同一条消息反复消费的情况。 2022-03-18 问题排查 > Java 进阶 #Pulsar #Consumer
5分钟学会 gRPC 介绍我猜测大部分长期使用 Java 的开发者应该较少会接触 gRPC,毕竟在 Java 圈子里大部分使用的还是 Dubbo/SpringClound 这两类服务框架。 我也是近段时间有机会从零开始重构业务才接触到 gRPC 的,当时选择 gRPC 时也有几个原因: 基于云原生的思路开发部署项目,而在云原生中 gRPC 几乎已经是标准的通讯协议了。 开发语言选择了 Go,在 Go 圈子中 gR 2022-03-08 framework #Go #gRPC
【译】Java8 之后对新开发者非常友好的特性盘点 原文链接 在这篇文章中,我将描述自 Java8 依赖对开发者来说最重要也最友好的特性,之所以选择 Java8 ,那是因为它依然是目前使用最多的版本。 具体可见这个调查报告: 2022-02-07 翻译 #Java
2021 年度报告 不知不觉年终总结就像每个人的 KPI 一样,年底不总结一下感觉今年就白过了似的。 今年时间真的感觉过的特别快,经常感觉工资刚发不久结果没几天又到了发薪日;再也没有小时候一个暑假都能过一年的感觉。 2022-01-27 annual-summary
【译】你可能不知道但却很有用的 Java 特性 原文链接 在这篇文章中你将会学习到一些你可能没听过但有用的 Java 特性,这些是我个人常用的一些特性或者是从其他文章中学习到的,重点是关注 API 而不是语言本身。 2022-01-18 翻译 #Java
简单的 for 循环也会踩的坑 前言最近实现某个业务时,需要读取数据然后再异步处理;在 Go 中实现起来自然就比较简单,伪代码如下: 12345678910list := []*Demo{{"a"}, {"b"}}for _, v := range list { go func() { fmt.Printl 2021-12-28 Go #for #goroutine
用 Go 实现一个 LRU cache 前言早在几年前写过关于 LRU cache 的文章:https://crossoverjie.top/2018/04/07/algorithm/LRU-cache/ 当时是用 Java 实现的,最近我在完善 ptg 时正好需要一个最近最少使用的数据结构来存储历史记录。 ptg: Performance testing tool (Go), 用 Go 实现的 gRPC 客户端调试工具。 Go 2021-12-20 Go #LRU cache
撸了一个可调试 gRPC 的 GUI 客户端 前言平时大家写完 gRPC 接口后是如何测试的?往往有以下几个方法: 写单测代码,自己模拟客户端测试。 可以搭一个 gRPC-Gateway 服务,这样就可以在 postman 中进行模拟。 2021-11-28 Go #grpc
编写一个接口压测工具 前言前段时间有个项目即将上线,需要对其中的核心接口进行压测;由于我们的接口是 gRPC 协议,找了一圈发现压测工具并不像 HTTP 那么多。 最终发现了 ghz 这个工具,功能也非常齐全。 事后我在想为啥做 gRPC 压测的工具这么少,是有什么难点嘛?为了验证这个问题于是我准备自己写一个工具。 2021-11-15 Go > 设计模式 #grpc #http #benchmark #performance #设计模式