0%

之前有朋友问如何做集成测试,今天就重点讲讲这个集成测试在开源项目中是如何做的。

通常是需要对外提供服务的开源项目都需要集成测试:

原文链接:https://medium.com/@andreiboar/5-small-tips-i-recently-learned-in-go-cf52d50cf129

让编译器计算数组数量

我们在 Go 通常很少使用数组 arrays,一般使用切片 Slice 来代替;

但是当你需要使用的时候,如果你对需要指定数量大小感到很烦时可以使用 [...] 让编译器自动帮我们计算数组大小:

1
2
3
4
5
6
7
8
9
10
11
12
package main  

import "fmt"

func main() {
arr := [3]int{1, 2, 3}
sameArr := [...]int{1, 2, 3} // Use ... instead of 3

// Arrays are equivalent
fmt.Println(arr)
fmt.Println(sameArr)
}
Read more »

在之前写过两篇比较系统的关于 OpenTelemetry 的文章:

从基本概念到如何部署 demo 实战了解 OpenTelemetry,从那个 demo 中也可以得知整个 OpenTelemetry 体系的复杂性,包含了太多的组件和概念。

为了能更清晰的了解每个关键组件的作用以及原理,我打算分为几期来讲解 OpenTelemetry 的三个核心组件:

  • Trace
  • Metrics
  • Logs

首先以 Trace 讲起。

Read more »

原文链接: https://overcast.blog/13-kubernetes-tricks-you-didnt-know-647de6364472

使用 PreStop 优雅关闭 Pod

1
2
3
4
5
6
7
8
9
10
11
12
apiVersion: v1
kind: Pod
metadata:
name: graceful-shutdown-example
spec:
containers:
- name: sample-container
image: nginx
lifecycle:
preStop:
exec:
command: ["/bin/sh", "-c", "sleep 30 && nginx -s quit"]

PreStop 允许 Pod 在终止前执行一个命令或者是脚本,使用它就可以在应用退出前释放一些资源,确保应用可以优雅退出。

比如可以在 Nginx 的 Pod 退出前将当前的请求执行完毕。

Read more »

前言

在上一篇文章 OpenTelemetry 实践指南:历史、架构与基本概念中回顾了可观测性的历史以及介绍了一些 OpenTelemetry 的基础概念,同时也介绍了 OpenTelemetry 社区常用的开源项目。

基础背景知识了解后,这篇就来介绍一下使用 OpenTelemetry 如何实战部署应用,同时在一个可视化页面查看 trace、metric 等信息。

Read more »