https://mp.weixin.qq.com/s/mHHPaYEvon4zFHHDNP8A9A 微服务架构已经成为现代应用程序开发的主流。虽然说它能够解决某些问题,但却也不是万金油。而我们在使用这个体系架构时,还有许多的问题要我们解决。这就需要学习这些问题的通用模式,并通过可复用的解决方案来解决问题。因此,有必要讨论微服务的设计模式。但是在深入研究设计模式之前,我们还需了解微服务架构的构建原理:
https://github.com/fatih/structs 我们在Go语言中通常使用结构体来保存我们的数据,例如要存储用户信息,我们可能会定义如下结构体:
pprof函数耗时的文本输出,其中前几行比较容易理解,其说明了显示出来的函数耗时总计占用了5.73s,而全部耗时为6.21秒,所以显示出来的函数耗时占总体的92.27%,其中有cum耗时小于0.03秒的67个函数耗时被丢弃而未予显示。
brew install wrk
git clone https://github.com/wg/wrk
make
make WITH_LUAJIT=/usr WITH_OPENSSL=/usr
Usage: wrk
-s, --script <S> Load Lua script file
-H, --header <H> Add header to request
--latency Print latency statistics
--timeout <T> Socket/request timeout
-v, --version Print version details
Numeric arguments may include a SI unit (1k, 1M, 1G) Time arguments may include a time unit (2s, 2m, 2h) 简单翻成中文: