Skip to content

Backend

Collection

日常收集记录(后端 server 开发或者数据库等相关知识工具)


Distributed systems

集群系统相关知识工具

Services discovery

RPC

Serialization Frameworks

  • msgpack - 和 JSON 差不多。压缩版 JSON
  • pickle - Python 自带。二进制序列号格式
  • cbor - binary object, 能用的库不多
  • bson - binary json , MongoDB 里用的就是 bson
  • Json Lines - JSON 改良
  • thrift - RPC 库里用的
  • FlatBuffers - 为游戏开发设计。(应该是不做数据压缩,解析更快,但比较耗内存和带宽)
  • parquet - Columnar storage for Hadoop workloads. (Binary)
  • srsly - python 的库
  • Java Object Serialization - JDK / JRE 自带
  • ion - Amazone 开发
  • npy - Python NumPy 自带
  • Json LD - 改良版 JSON ,适合重复数据多
  • gobs - golang 自带
  • Boost.Serialization - Boost 的一个模块,只适合 c++ Boost.Serialization 1.8
  • Others: Yaml; Toml; xml; Plist (MacOS 里用的那个)

Monitoring tool

Prometheus 系

Application Performance Monitoring

Misc

  • sysstat - Performance monitoring tools for Linux
  • Server Status Rust - Rust 实现的服务器监测
  • uptime kuma - A fancy self-hosted monitoring tool
  • btop - 改良版本 top
  • netdata - Real-time performance monitoring 是 c / c++ 实现,也支持自己写 Collector 扩展。(比较适合做单机的时时检查用)
  • nmon - 用 cli 也支持 csv 导出后的分析。适合单机检查、分析具体问题。

Database

数据库相关知识和工具

Key-Value Database

  • Dragon Fly DB - 类 redis ,看统计比 redis 快,占内存少

Time series database

SQLite

PostgreSQL

  • patroni - python 实现 PG 集群配置工具 (依赖 ETCD )

DB tools

  • dbeaver - 支持各种数据库的管理工具。基于 Java, JDBC 用 Eclipse 改的界面。社区版本免费。

C/C++


Java

  • jodd - 各种工具库的独立实现,不一定最好但都比较小巧。
  • byte-buddy - Runtime code generation
  • oshi - 获取 os 或者 hardware 信息的跨平台封装 (通过解析 sysfs, procfs 或者解析命令行输出、也有用 JNI 调用或者 Windows 上 WMI)

golang

  • zap - log library 特点是速度快,占用内存少
  • viper - configuration solution for Go applications
  • gorm - ORM library for Golang
  • gin - HTTP web framework
  • httprouter - HTTP request router
  • Standard Go Project Layout - Standard Go Project Layout
  • go-prompt - python-prompt-toolkit 的 golang 平替。tui library
  • bubbletea - golang tui library
  • cobra - command 解析库。类似 hugao 的命令行解析就用了这个实现。
  • gnet - gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go.
  • ants - a goroutine pool library

Github Tools


OS distribution

  • AlmaLinux - CentOS 替代
  • Clear os - 类似 Redhat, CentOS 不过适合 NAS 管理,有一些远程管理工具。
  • scoop - Windows package management

Tutorials


Dev-Ops

  • ntfy - 通知系统
  • gotify - 通知系统
  • 分发部署系统: saltstack, ansible, puppet, chef, rudder, fabric, Terraform

Misc

  • ddosify - Stress / Loading tests framework
  • xxHash - 比 MD5 和 SHA1 快出很多的 hash 实现。用于计算内测数据的 hash 比较合适,用来做文件的摘要意义不大,因为瓶颈一般做 disk I/O 上。 xxHash GithubxxHash Golang 实现
  • go-guerrilla - Mini SMTP server written in golang
  • coreutils rust - unix core utils 的 rust 实现版本
  • podman - daemonless container engine
  • ttar - 文本文件打包工具
  • vegeta - golang library HTTP API 压测工具