- 博客(12)
- 资源 (8)
- 收藏
- 关注
原创 isito之proxy_init
1、shell脚本istio-iptables.sh2、参数解析istio-iptables.sh -p PORT -u UID -g GID [-m mode] [-b ports] [-d ports] [-i CIDR] [-x CIDR] [-h] -p: 指定重定向所有 TCP 流量的 Envoy 端口(默认为 $ENVOY_PORT = 15001) -u: 指定...
2019-03-27 18:01:31 569
原创 代码可读性
1、Demo推荐方式func createUserV2() *user { u := user{ name: "jinyidong", email: "jinyidong@abc.com", } println("V1", &u) return &u}Otherfunc createUserV2()...
2019-03-07 17:47:39 273
原创 go之协程池实现
1、场景描述2、设计定义task结构体type task struct { Func func()}定义chan task,并通过一定数量的goroutine处理var wg sync.WaitGroupchannels:=make(chan task,100)for i:=0; i<5;i++ { wg.Add(1) go func() { defer...
2019-03-07 11:19:33 469
原创 go之GPM调度策略
1、GPM简介G:Groutine,协程 M:Machine,内核线程,对应CPU P:Processor,G和M的调度对象,包含LRQtype g struct { .... m *m sched gobuf goid int64 ....}type gobuf struct {...
2019-03-06 14:40:45 4401
原创 高并发下的唯一ID解决方案
1、要求高性能,TPS 高可用,至少4个92、解决方案针对不同的业务场景,选择不同的解决方案。2.1、UUID优点:性能高、无网络IO 缺点:不易于存储、无序(某些场景也是优点)...2.2、snowflake通过时间戳、机器编号等信息生成64bit的ID优点:性能高、递增有序 缺点:长、强依赖机器时钟......2.3、数据库生成方案为保证高性能,需提供进...
2019-03-05 21:15:56 2689
原创 go之性能分析工具pprof
1、介绍net/http/pprof--->使用runtime/pprof包来进行封装并在http端口上暴露出来 runtime/pprof2、Demo go func() { http.ListenAndServe("0.0.0.0:8081", nil) }()3、查看通过命令行查看go tool pprof http://localhost:8081/d...
2019-03-04 08:37:35 720
原创 go之内存分配算法及内存回收算法
1、堆、栈、静态&全局、代码等内存区域2、go程序初始化大致流程osinit()->shedinit()->stackinit()->mallocinit()->main()2.1、stackinit2.2、mallocinittcmalloc内存分配;多级内存申请;需GC 探索GO内存管理3、go逃逸分析任何时候...
2019-03-01 21:59:38 962
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人