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 #设计模式
Go 日常开发常备第三方库和工具 不知不觉写 Go 已经快一年了,上线了大大小小好几个项目;心态也经历了几轮变化。 因为我个人大概前五年时间写的是 Java ,中途写过一年多的 Python,所以刚接触到 Go 时的感觉如下图: 既没有 Java 的生态,也没有 Python 这么多语法糖。 2021-11-02 Go #gomonkey #zerolog