Go 生态17年大浪淘沙:2026年最值得引入的10个“神仙级”QoL工具包

本文永久链接 – https://tonybai.com/2026/06/03/10-god-tier-go-qol-libraries-to-use-in-2026 大家好,我是Tony Bai。 在软件工程中,有一个词叫 QoL(Quality of Life,生产体验/开发幸福感)。 Go语言(Golang)凭借极简的语法、强悍的并发能力和超快的编译速度,成为了现代后端和云原生的绝对主力。但坦率地说,Go在某些时候的开发体验并不算完美:为了坚持“显式优于隐式”的原则,我们不得不手写大量的样板代码(Boilerplate),甚至在处理路由、数据库迁移、环境配置时,常常感到有些繁琐。 ...

June 3, 2026 · 7 min · Tony Bai

告别智能体孤岛:谷歌A2A协议能否成为企业AI协作的通用语?

本文永久链接 – https://tonybai.com/2025/04/14/what-is-a2a-protocol 随着人工智能(AI)的飞速发展,AI 智能体(Agent)正成为企业自动化、提升生产力的关键力量。从处理日常重复任务到辅助复杂决策,智能体的应用场景日益广泛。然而,一个严峻的挑战随之而来:不同框架、不同厂商构建的智能体往往如同信息孤岛,难以有效协作,这极大地限制了它们在复杂企业环境中的潜力释放。 ...

April 14, 2025 · 17 min · Tony Bai

基于多label的issue驱动软件开发的实践

本文永久链接 – https://tonybai.com/2022/08/12/practices-of-multi-label-based-issue-driven-software-development 软件吞噬世界,开源吞噬软件!基于工单跟踪系统(issue tracking system)的issue driven开发的模式不仅对开源系统的开发过程有着重要影响,在商业软件开发领域,越来越多的公司和组织也在使用issue-driven的开发方式。 ...

August 12, 2022 · 11 min · Tony Bai

使用nomad在weave网络中部署工作负载

当初Kubernetes网络的设计目标是使得开发者使用pod时在网络这一层面可以像使用传统物理主机或虚拟机一样。具体的基本要求如下: 所有pod间均应可以在无需NAT的情况下直接通信; 所有集群节点与所有集群的Pod之间均应可以在无需NAT的情况下直接通信; 容器自身的地址和其他pod看到的它的地址是同一个地址; 按照这样的要求,集群中的每个pod都在一个平坦的、共享网络命名空间中,并且每个Pod都拥有一个IP,通信时无需端口映射。 用户也需要额外考虑如何建立Pod之间的连接,也不需要考虑将容器端口映射到主机端口等问题。基于这些要求而实现的k8s pod网络模型,将具有向后兼容的特性,可以使得Pod从某些角度上可以被看成是一个传统的物理主机或vm来对待。 ...

April 20, 2019 · 16 min · Tony Bai

使用nomad实现集群管理和微服务部署调度

在“云原生”、“容器化”、“微服务”、“服务网格”等概念大行其道的今天,一提到集群管理、容器工作负载调度,人们首先想到的是Kubernetes。 Kubernetes经过多年的发展,目前已经成为了云原生计算平台的事实标准,得到了诸如谷歌、微软、红帽、亚马逊、IBM、阿里等大厂的大力支持,各大云计算提供商也都提供了专属Kubernetes集群服务。开发人员可以一键在这些大厂的云上创建k8s集群。对于那些不愿被cloud provider绑定的组织或开发人员,Kubernetes也提供了诸如Kubeadm这样的k8s集群引导工具,帮助大家在裸金属机器上搭建自己的k8s集群,当然这样做的门槛较高(如果您想学习自己搭建和管理k8s集群,可以参考我在慕课网上发布的实战课《高可用集群搭建、配置、运维与应用》)。 Kubernetes的学习曲线是公认的较高,尤其是对于应用开发人员。再加上Kubernetes发展很快,越来越多的概念和功能加入到k8s技术栈,这让人们不得不考虑建立和维护这样一套集群所要付出的成本。人们也在考虑是否所有场景都需要部署一个k8s集群,是否有轻量级的且能满足自身需求的集群管理和微服务部署调度方案呢?外国朋友Matthias Endler就在其文章《也许你不需要Kubernetes》中给出一个轻量级的集群管理方案 – 使用hashicorp开源的nomad工具。 ...

March 30, 2019 · 22 min · Tony Bai

Docker 1.12 swarm模式下遇到的各种问题

前段时间,由于工作上的原因,与Docker的联系发生了几个月的中断^_^,从10月份开始,工作中又与Docker建立了广泛密切的联系。不过这次,Docker却给我泼了一盆冷水:(。事情的经过请允许多慢慢道来。 经过几年的开发,Docker已经成为轻量级容器领域不二的事实标准,应用范围以及社区都在快速发展和壮大。今年的年中,Docker发布了其里程碑的版本Docker 1.12,该版本最大的变动就在于其引擎自带了swarmkit ,一款Docker开发的容器集群管理工具,可以让用户无需安装第三方公司提供的工具或Docker公司提供的引擎之外的工具,就能搭建并管理好一个容器集群,并兼有负载均衡、服务发现和服务编排管理等功能。这对于容器生态圈内的企业,尤其是那些做容器集群管理和服务编排平台的公司来说,不亚于当年微软在Windows操作系统中集成Internet Explorer。对此,网上和社区对Docker口诛笔伐之声不绝于耳,认为Docker在亲手打击社区,葬送大好前程。关于商业上的是是非非,我们这里暂且不提。不可否认的是,对于容器的普通用户而言,Docker引擎内置集群管理功能带来的更多是便利。 ...

October 11, 2016 · 15 min · Tony Bai