每日精进#2020年7月13日

【Go高性能日志库zap】
https://mp.weixin.qq.com/s/i0bMh_gLLrdnhAEWlF-xDw
 
【Go项目性能分析:golang profile】
https://www.jianshu.com/p/79807449da2d
 
【深入Golang之sync.Pool详解】
Get方法并不会对获取到的对象值做任何的保证,因为放入本地池中的值有可能会在任何时候被删除,但是不通知调用者。放入共享池中的值有可能被其他的goroutine偷走。 所以对象池比较适合用来存储一些临时切状态无关的数据,但是不适合用来存储数据库连接的实例,因为存入对象池重的值有可能会在垃圾回收时被删除掉,这违反了数据库连接池建立的初衷。
根据上面的说法,Golang的对象池严格意义上来说是一个临时的对象池,适用于储存一些会在goroutine间分享的临时对象。主要作用是减少GC,提高性能。在Golang中最常见的使用场景是fmt包中的输出缓冲区。
https://www.cnblogs.com/sunsky303/p/9706210.html
 
 
【高可用流量管理框架 Sentinel】
Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。
关键概念资源和规则。
资源是 Sentinel 的关键概念。它可以是 应用程序中的任何内容,例如,由应用程序提供的服务,或由应用程序调用的其它应用提供的服务,甚至可以是一段代码。
规则是围绕资源的实时状态设定的规则,可以包括流量控制规则、熔断降级规则以及系统保护规则。所有规则可以动态实时调整。
流量控制
流量控制在网络传输中是一个常用的概念,它用于调整网络包的发送数据。
熔断降级
当检测到调用链路中某个资源出现不稳定的表现,例如请求响应时间长或异常比例升高的时候,则对这个资源的调用进行限制,让请求快速失败,避免影响到其它的资源而导致级联故障。
https://www.oschina.net/p/sentinel

0 个评论

要回复文章请先登录注册