使用kubernetes来调度和管理nvidia gpu资源。
Traefik-v2.0快速入门
注意:Traefikv2.0之后的版本在修改了很多bug之后也增加了新的特性,比如增加了TCP的支持,并且更换了新的WEB UI界面
Golang module的使用
前言: 在Golang1.11之前的版本中,官方没有提供依赖和包管理工具。开发者通常会使用
vendor
或者glide
的方式来管理依赖(也有直接使用GOPATH多环境方式),而在Golang1.11之后官方终于出了名为go modules
的版本管理机制。
注意:
- 在Golang1.11版本中需要使用
export GO111MODULE=on
来显式开启go module - 在Golang1.12之后默认开启了module
k8s dashboard的http接口改造
Golang的ElasticSearch6的SDK问题处理
es6 版本的golang-sdk问题处理
ElasticSearch6版本的Golang SDK问题处理.
es_version: 6.4.3
官方建议的sdk版本: https://github.com/olivere/elastic
注意:很好奇,作者其他版本都采用vN来标记版本,但是在v6的时候直接采用github版本
Prometheus入门实践
Prometheus入门实践
Golang中的异常处理
Golang的异常处理和单元测试
- 1.Golang语言中没有其他语言中的
try...catch...
语句来捕获异常和异常恢复 - 2.在Golang中我们通常会使用
panic
关键字来抛出异常,在defer
中使用recover
来捕获异常进行具体逻辑处理 - 3.Golang中我们通常会在函数或方法中返回
error
结构对象来判断是否有异常出现
注意事项
- 1.利用
recover
和panic
指令,defer
必须放在panic之前定义(panic会终止其后要执行的代码
). - 2.
recover
只有在defer
调用的函数中才有效,否则recover
无法捕获到panic
. - 3.
recover
处理异常后,业务逻辑会跑到defer
之后的处理片段中 - 4.多个
defer
会形成defer栈
- 5.panic会等到整个
goroutine
退出才会报告错误