掘友等级
获得徽章 0
#青训营 x 字节后端训练营# day12Go-micro重构Java业务
重构业务的时候,我们用go-micro来做微服务,全面的替代了Java栈。比如:
服务注册发现用到了etcd
通信用到了grpc
框架集成了gin
订单、支付等等都作为单独的服务。而deno之上都归前端来处理业务层,这样职责明确,更利于前后端协作。另外,我们这套将会采用最新的go-micro V3来搭建架构。
#青训营 x 字节后端训练营# day11:手摸手封装gin框架(2)- Viper配置管理
Viper是适用于Go应用程序的完整配置解决方案。它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式。它支持以下特性:
• 设置默认值
• 从JSON、TOML、YAML、HCL、envfile和Java properties格式的配置文件读取配置信息
• 实时监控和重新读取配置文件(可选)
• 从环境变量中读取
• 从远程配置系统(etcd或Consul)读取并监控配置变化
• 从命令行参数读取配置
• 从buffer读取配置
• 显式配置值
#青训营 x 字节后端训练营# day忘了第几天QAQ
GoFrame是一款模块化、高性能、企业级的Go基础开发框架。GoFrame不是一款WEB/RPC框架,而是一款通用性的基础开发框架,是Golang标准库的一个增强扩展级,包含通用核心的基础开发组件,优点是实战化、模块化、文档全面、模块丰富、易用性高、通用性强、面向团队。
#青训营 x 字节后端训练营# day9:一些Go语言相关的文章
一、了解Go语言的起源、发展以及普及;
二、Go工作环境设置
三、包、函数、变量、常量、数据类型;
四、流程控制语句
五、底层数据结构
六、错误异常
七、IO读取
八、并发
九、语言特性
十、框架
十一、性能剖析
十二、问题排查
十三、Golang面试
#青训营 x 字节后端训练营# day8:Golang并发编程实战——协程、管道、select用法
一些使用高级并发技巧:gorountine的基本用法;使用chan来实现多个goroutine之间的通信;使用select关键字来处理超时等。
Go管道的用法:boring方法在给管道c发送数据,并且等待另一头,也就是main方法来消费。由于管道中只能够存在一个数据,所以main方法和和boring方法在某些程度上是交替运行的。但实际上并不完全是,以main方法来说,接收到管道的数据后可以直接进行下一步,而不需要继续等待。
#青训营 x 字节后端训练营# day7gRPC均衡负载——Golang
一、均衡负载三种解决方案
1.集中式LB;
2.进程内LB;
3.独立LB进程;
二、gRPC的准备
gRPC默认使用protocol buffers,这是Google开源的一套成熟的结构数据序列化机制(当然也可以使用其他数据格式 比如JOSN)
三、六种负载均衡算法
轮询法 随机法 源地址哈希法 加权轮询法 加权随机法 最小连接数法
#青训营 x 字节后端训练营# day6 Golang 单元测试之路漫漫 | Go主题月
一、go test 命令介绍
这个命令会自动读取源代码目录下面名为*_test.go的文件 生成并运行测试用的可执行文件
性能测试系统可以给出代码的性能数据 帮助测试者分析性能问题
#青训营 x 字节后端训练营# day5:新版本Golang的包管理入门
新的包管理模式解决了以下问题:
1.自动下载依赖包
2.项目不必放在GOPATH/src内了
3.项目内会生成一个go.mod文件,列出包依赖
4.所以来的包会指定准确的版本号
5.对于已经转移的包,可以用replace声明替换,无需更改代码
#青训营 x 字节后端训练营# day4 go mod基本教程
代理环境:GOPROXY
一.传统非代理方式解决第三方包问题
二.GOPROXY的两个地址
三.idea GoLand设置
四.命令行设置环境变量
#青训营 x 字节后端训练营# day3 Golang中的零值、空值与空结构
零值是指声明变量时却未显式初始化时,始终为你的变量设置一个默认初始值的策略
Golang中内置nil作为标识符,其主要用来表示引用类型的零值(指针、接口
函数、映射 切片和通道),表示其未初始化的值。
下一页