golang
已收录文章:14172篇
-
答案:通过合理使用Goroutine、设置GOMAXPROCS为CPU核心数、分块处理数据、减少锁争用并利用pprof调优,可使Go程序高效并行计算,充分发挥多核性能。130 收藏
-
答案:在Golang中实现网络数据加密应优先使用标准库crypto/tls进行TLS加密,确保机密性、完整性和身份验证;对于私有协议或特殊性能需求,可在TCP层叠加AES-GCM等对称加密算法,结合Protobuf序列化提升效率;关键步骤包括安全密钥分发、随机IV生成、避免nonce重用,并通过ECDH实现前向安全性;始终依赖标准库而非自研加密逻辑。130 收藏
-
答案:合理设置超时需结合http.Client.Timeout与http.Transport中DialContext、TLSHandshakeTimeout、ResponseHeaderTimeout等参数,按业务需求分级控制;通过自定义MaxIdleConnsPerHost和IdleConnTimeout优化连接复用;错误处理应区分网络异常、HTTP状态码及响应读取失败,结合context取消、重试、熔断与日志监控实现健壮性。130 收藏
-
协程的特点 1.该任务的业务代码主动要求切换,即主动让出执行权限 2.发生了IO,导致执行阻塞(使用channel让协程阻塞) 与线程本质的不同 C#、java中我们执行多个线程,是通过时间片切换来进129 收藏
-
前言 日志收集项目的准备中,本文主要讲的是利用golang的tail库,监听日志文件的变动,将日志信息发送到kafka中。 涉及的golang库和可视化工具: go-ini,sarama,tail其中: go-ini:用于读取配置文件,129 收藏
-
sync.Once用于保证某个动作只被执行一次,可用于单例模式中,比如初始化配置。我们知道init()函数也只会执行一次,不过它是在main()函数之前执行,如果想要在代码执行过程中只运行某个动作一129 收藏