Go Work Pool
我们在 Go 第四部分 Go 并发系列的 sync.Pool 和 channel 提到了很多用于 Go 协程池的第三方库,今天我们就来详细介绍它们的使用和实现。
1. worker 池
我们的第一个示例来自Marcio Castilho 在 使用 Go 每分钟处理百万请求 这篇文章中,就介绍了他们应对大并发请求的设计。这不是一个库,但是 worker pool 的实现很具有代表性:
我们在 Go 第四部分 Go 并发系列的 sync.Pool 和 channel 提到了很多用于 Go 协程池的第三方库,今天我们就来详细介绍它们的使用和实现。
我们的第一个示例来自Marcio Castilho 在 使用 Go 每分钟处理百万请求 这篇文章中,就介绍了他们应对大并发请求的设计。这不是一个库,但是 worker pool 的实现很具有代表性:
我们在 Go 第四部分 Go 并发系列的 sync.Pool 提到了很多用于对象池化的第三方库,今天我们就来详细看看其中提到的对象池化库的使用和实现。
我们在前面已经学习了 flag/pflag/viper 命令行、配置文件管理的使用,接下来就到了我们今天的主角 cobra 了:

Cobra 是 Go 语言里面命令行参数的事实标准,基本上很多项目都在使用。Cobra 把命令行参数的实现分成了三个独立的 package:
学习 Cobra 之前我们先来看看 flag/pflag
Viper 是适用于Go应用程序的完整配置解决方案。可以处理所有类型的配置需求和格式。作为配置管理器,Viper 按照如下的从高到低的优先级加载配置:
xordataexchange/crypt 提供了从 K/V 存储中读取配置的方法。