Golang

  • Goroutine Leak和解决之道

    概述 在Go中,goroutine很轻量级,随便创建成千上万个goroutine不是问题,但要注意,要是这么多的goroutine一致递增,而不退出,不释放资源,可就麻烦了。 本文介绍goroutine泄露的实际场景,并讨论如何解决该问…

    Golang 2天前
    0 20 0
  • Protobuf 终极教程 (Go语言版本)

    Protocol Buffer (简称Protobuf) 是Google出品的性能优异、跨语言、跨平台的序列化库。 历史 2001年初,Protobuf首先在Google内部创建, 我们把它称之为 proto1,一直以来在Google的内部使用,其中也不断的…

    Golang 2020年9月18日
    0 91 0
  • 常用限流策略———漏桶与令牌桶介绍

    限流又称为流量控制(流控),通常是指限制到达系统的并发请求数,本文列举了常见的限流策略,并以gin框架为例演示了如何为项目添加限流组件。 限流 限流又称为流量控制(流控),通常是指限制到达系统的并发请求…

    Golang 2020年9月13日
    0 56 0
  • 常用的HTTP服务压测工具介绍

    在项目正式上线之前,我们通常需要通过压测来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug,同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求,节约资源成本。 HTTP服务压力测试工具 在…

    Golang 2020年9月13日
    0 67 0
  • 聊聊如何设计一款灵活配置、方便管理的工单系统

    简单聊聊 在我们平时的工作中,会有很多时候需要跟其他同事进行协同办公,甚至需要跨部门合作,在这种情况下,我们就需要同事之间的沟通交流,而沟通过程中一句不合适的话,都会造成争吵,跨部门合作的时候,更加…

    Golang 2020年8月25日
    0 142 0
  • 如何使用Docker部署Go Web应用

    本文介绍了如何使用Docker以及Docker Compose部署我们的 Go Web 程序。 为什么需要Docker? 使用docker的主要目标是容器化。也就是为你的应用程序提供一致的环境,而不依赖于它运行的主机。 想象一下你是否也会遇…

    Golang 2020年8月25日
    0 51 0
  • Go语言配置管理神器——Viper中文教程

    Viper是适用于Go应用程序的完整配置解决方案。它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式。 Viper Viper是适用于Go应用程序的完整配置解决方案。它被设计用于在应用程序中工作,并且可…

    Golang 2020年8月25日
    0 63 0
  • 使用zap接收gin框架默认的日志并配置日志归档

    本文介绍了在基于gin框架开发的项目中如何配置并使用zap来接收并记录gin框架默认的日志和如何配置日志归档。 我们在基于gin框架开发项目时通常都会选择使用专业的日志库来记录项目中的日志,go语言常用的日志库有…

    Golang 2020年8月24日
    0 43 0
  • validator库参数校验若干实用技巧

    本文介绍了使用validator库做参数校验的一些十分实用的使用技巧,包括翻译校验错误提示信息、自定义提示信息的字段名称、自定义校验方法等。 validator库参数校验若干实用技巧 在web开发中一个不可避免的环节就是…

    Golang 2020年8月24日
    0 56 0
  • 为Go项目编写Makefile

    借助Makefile我们在编译过程中不再需要每次手动输入编译的命令和编译的参数,可以极大简化项目编译过程。 make介绍 make是一个构建自动化工具,会在当前目录下寻找Makefile或makefile文件。如果存在相应的文件,…

    Golang 2020年8月24日
    0 49 0