微服务设计模式

Posted by 夏泽民

https://mp.weixin.qq.com/s/mHHPaYEvon4zFHHDNP8A9A 微服务架构已经成为现代应用程序开发的主流。虽然说它能够解决某些问题,但却也不是万金油。而我们在使用这个体系架构时,还有许多的问题要我们解决。这就需要学习这些问题的通用模式,并通过可复用的解决方案来解决问题。因此,有必要讨论微服务的设计模式。但是在深入研究设计模式之前,我们还需了解微服务架构的构建原理:



结构体转成map string interface

Posted by 夏泽民

https://github.com/fatih/structs 我们在Go语言中通常使用结构体来保存我们的数据,例如要存储用户信息,我们可能会定义如下结构体:



gperftools 定位CPU热点函数

Posted by 夏泽民

1、下载及安装libunwind 



flat cum sum pprof文本输出的含义

Posted by 夏泽民

pprof函数耗时的文本输出,其中前几行比较容易理解,其说明了显示出来的函数耗时总计占用了5.73s,而全部耗时为6.21秒,所以显示出来的函数耗时占总体的92.27%,其中有cum耗时小于0.03秒的67个函数耗时被丢弃而未予显示。



wrk

Posted by 夏泽民

brew install wrk git clone https://github.com/wg/wrk make make WITH_LUAJIT=/usr WITH_OPENSSL=/usr Usage: wrk Options: -c, --connections Connections to keep open -d, --duration Duration of test -t, --threads Number of threads to use

-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) 简单翻成中文:



Search

Popular posts

Anything in here will be replaced on browsers that support the canvas element

Recent posts

This blog is maintained by 夏泽民

Get in touch with me at 465474307@qq.com

Subscribe to our mailing list

* indicates required