0%

背景


今天收到业务团队反馈线上有个应用往 Pulsar 中发送消息失败了,经过日志查看得知是发送消息时候抛出了 java.lang.InterruptedException 异常。

和业务沟通后得知是在一个 gRPC 接口中触发的消息发送,大约持续了半个小时的异常后便恢复正常了,这是整个问题的背景。

Read more »

背景

前段时间我们将 istio 版本升级到 1.12 后导致现有的应用监控有部分数据丢失(页面上显示不出来)。

  • 一个是应用基础信息丢失。
  • 再一个是应用 JVM 数据丢失。
  • 接口维度的监控数据丢失。
Read more »

前言

前段时间我们在升级 Pulsar 版本的时候发现升级后最后一个节点始终没有流量。

虽然对业务使用没有任何影响,但负载不均会导致资源的浪费。

和同事沟通后得知之前的升级也会出现这样的情况,最终还是人工调用 Pulsar 的 admin API 完成的负载均衡。

这个问题我尝试在 Google 和 Pulsar 社区都没有找到类似的,不知道是大家都没碰到还是很少升级集群。

我之前所在的公司就是一个版本走到黑😂

Read more »

一转眼 2022 年又过去了,不多不少距离上次写年终总结过去了 365 天;今年的艰难情况想必大家都亲身经历过了;如果要举行卖惨大会的话今年也许我能排的上号。

Read more »

前言

这段时间在做 MQ(Pulsar)相关的治理工作,其中一个部分内容关于消息队列的升级,比如:

  • 一键创建一个测试集群。
  • 运行一批测试用例,覆盖我们线上使用到的功能,并输出测试报告。
  • 模拟压测,输出测试结果。

本质目的就是想直到新版本升级过程中和升级后对现有业务是否存在影响。

Read more »

前言

最近不出意外的阳了,加上刚入职新公司不久,所以也没怎么更新;这两天好些后分享一篇前段时间的一个案例:

最近在设计一个对某个中间件的测试方案,这个测试方案需要包含不同的测试逻辑,但相同的是需要对各个环节进行记录;比如统计耗时、调用通知 API 等相同的逻辑。

如果每个测试都单独写这些逻辑那无疑是做了许多重复工作了。

Read more »

前言

闭包对于一个长期写 Java 的开发者来说估计鲜有耳闻,我在写 PythonGo 之前也是没怎么了解,光这名字感觉就有点”神秘莫测”,这篇文章的主要目的就是从编译器的角度来分析闭包,彻底搞懂闭包的实现原理。

Read more »

版本更新

最近 GScript 更新了 v0.0.11 版本,重点更新了:

  • Docker 运行环境
  • 新增了 byte 原始类型
  • 新增了一些字符串标准库 Strings/StringBuilder
  • 数组切片语法:int[] b = a[1: len(a)];

具体更新内容请看下文。

前言

前段时间发布了 GScript 的在线 playground

Read more »

前言

前段时间在《用自己的编程语言实现了一个网站》用介绍了用 GScript 写的一个简单“网站”,虽然是打上引号的;页面长这样:

看起来确实非常的挫,其实之前一直也想做一个 GScript 的在线 playground ,于是国庆期间学了一点 皮毛 Vue 加上老弟的帮忙(他是前端开发),最终完成了下面这个网站:

https://gscript.crossoverjie.top/

❤打印源码参考了:https://wa-lang.org/playground/

Read more »

前言

本篇文章主要是记录一下在 GScript 中实现递归调用时所遇到的坑,类似的问题在中文互联网上我几乎没有找到相关的内容,所以还是很有必要记录一下。

在开始之前还是简单介绍下本次更新的 GScript v0.0.9 所包含的内容:

  • 支持可变参数
  • 优化 append 函数语义
  • 优化编译错误信息
  • 最后一个就是支持递归调用
Read more »