go-wrk15.go-wrk压测01.压测介绍1.1 压测作用 在项目正式上线之前,我们通常需要通过压测来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug 同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求,节约资源成本。 1.2 压测相关术语 响应时间(RT) :指系统对请求作出响应的时间. 吞吐量(Throughput) :指系统在单位时间内处理请求的数量 QPS每秒查询率(Quer 2022-06-15 Go常用库 #Go常用库
jwt-go14.jwt-go01.JWT介绍1.1 什么是JWT? JWT全称JSON Web Token是一种跨域认证解决方案,属于一个开放的标准,它规定了一种Token实现方式 目前多用于前后端分离项目和OAuth2.0业务场景下。 1.2 jwt三部分 基于JWT技术及RSA非对称加密实现真正无状态的单点登录 02.JWT基本用法2.1 定义需求 我们需要定制自己的需求来决定JWT中保存哪些数据 2022-06-13 Go常用库 #Go常用库
gRPC13.gRPC01.gRPC基础1.1 RPC是什么 在分布式计算,远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。 该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程序 而程序员就像调用本地程序一样,无需额外地为这个交互作用编程(无需关注细节)。 RPC是一种服务器-客户端(Client/Se 2022-06-11 Go常用库 #Go常用库
viper配置管理12.viper配置管理01.viper介绍 参考博客(opens new window) 1.1 viper是什么? Viper (opens new window)是适用于Go应用程序的完整配置解决方案。 它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式 viper功能 设置默认值 从JSON、TOML、YAML、HCL、envfile和Java properties格式的 2022-06-09 Go常用库 #Go常用库
zap11.zap日志包01.日志模块介绍 参考博客(opens new window) 1.1 介绍在许多Go语言项目中,我们需要一个好的日志记录器能够提供下面这些功能 能够将事件记录到文件中,而不是应用程序控制台。 日志切割-能够根据文件大小、时间或间隔等来切割日志文件。 支持不同的日志级别。例如INFO,DEBUG,ERROR等。 能够打印基本信息,如调用文件/函数名和行号,日志时间 2022-06-07 Go常用库 #Go常用库
reflect10.reflect01.反射 反射是指在程序运行期对程序本身进行访问和修改的能力 1.1 变量的内在机制 变量包含类型信息和值信息 var arr [10]int arr[0] = 10 类型信息:是静态的元信息,是预先定义好的 值信息:是程序运行过程中动态改变的 1.2 反射的使用 反射是指在程序运行期对程序本身进行访问和修改的能力。 程序在编译时,变量被转换为内存地址,变量名不 2022-06-05 Go常用库 #Go常用库
Context09.Context01.context介绍1.1 context由来 context在Go1.7之后就进入标准库中了,是在于控制goroutine的生命周期。 由于在Golang severs中,每个request都是在单个goroutine中完成 并且在单个goroutine(不妨称之为A)中也会有请求其他服务(启动另一个goroutine(称之为B)去完成)的场景 这就会涉及多个Gorout 2022-06-03 Go常用库 #Go常用库
net/http08.net/http01.net/http(GET) Go语言内置的net/http包十分的优秀,提供了HTTP客户端和服务端的实现。 1.1 无参GET 使用net/http包编写一个简单的发送HTTP请求的Client端 package main import ( "fmt" "io/ioutil" "net/http" ) func m 2022-06-01 Go常用库 #Go常用库
Strconv07.Strconv01.string与int类型转换1.0 strconv包介绍 strconv包实现了基本数据类型与其字符串表示的转换 主要有以下常用函数: Atoi()、Itia()、parse系列、format系列、append系列。 更多函数请查看官方文档 (opens new window)。 1.1 Atoi()转int Atoi()函数用于将字符串类型的整数转换为int类型,函数 2022-05-31 Go常用库 #Go常用库
IO06.IO操作01.打开和关闭文件 os.Open()函数能够打开一个文件,返回一个*File和一个err。 对得到的文件实例调用close()方法能够关闭文件。 为了防止文件忘记关闭,我们通常使用defer注册文件关闭语句。 package main import ( "fmt" "os" ) func main() { // 只读方式打开当前目录下的mai 2022-05-29 Go常用库 #Go常用库