胡伟煌

个人博客

GDB调试

1. GDB简介 GDB是FSF(自由软件基金会)发布的一个强大的类UNIX系统下的程序调试工具。使用GDB可以做如下事情: 启动程序,可以按照开发者的自定义要求运行程序。 可让被调试的程序在开发者设定的调置的断点处停住。(断点可以是条件表达式) 当程序被停住时,可以检查此时程序中所发生的事。 动态的改变当前程序的执行环境。 目前支持调试Go程序的GDB版本必须大于7.1。 编译Go程序......

Json处理

JSON处理 JSON是一种轻量级的数据交换语言。 1. 解析JSON[Unmarshal(data []byte, v interface{})] 1.1. Unmarshal源码 /src/encoding/json/decode.go 1234567891011121314151617181920212223242526272829303132func Unmarshal(data [......

govendor的使用

1. govendor简介 golang工程的依赖包经常使用go get 的方式来获取,例如:go get github.com/kardianos/govendor ,会将依赖包下载到GOPATH的路径下。 常用的依赖包管理工具有godep,govendor等,在Golang1.5之后,Go提供了 GO15VENDOREXPERIMENT 环境变量,用于将go build时的应用路径搜索调......

Beego 介绍

1. beego的使用 1.1. beego的安装 1go get github.com/astaxie/beego 1.2. beego的升级 1、直接升级 1go get -u github.com/astaxie/beego 2、源码下载升级 用户访问 https://github.com/astaxie/beego ,下载源码,然后覆盖到 $GOPATH/src/github.com......

Bee 工具使用

1. bee工具 bee工具用来进行beego项目的创建、热编译、开发、测试、和部署。 安装: 1go get github.com/beego/bee 配置: 安装完之后,bee可执行文件默认存放在$GOPATH/bin里面,所以要把$GOPATH/bin添加到环境变量中。 2. bee命令 12345678910111213141516Bee is a tool for managing......

Beego 日志处理

1. 使用入门 beego 的日志处理是基于 logs 模块搭建的,内置了一个变量 BeeLogger,默认已经是 logs.BeeLogger 类型,初始化了 console,也就是默认输出到 console。 12345678beego.Emergency("this is emergency")beego.Alert("this is alert")beego.Critical("th......

Beego 项目逻辑

beego项目逻辑 1. 路由设置 1.1. beego.Router 入口文件main.go 12345678910package main import ( _ "quickstart/routers" "github.com/astaxie/beego") func main() { beego.Run()} go中导入包中init函数的执行逻辑 ......

Kubernetes核心原理(四)之kubelet

1. kubelet简介 在kubernetes集群中,每个Node节点都会启动kubelet进程,用来处理Master节点下发到本节点的任务,管理Pod和其中的容器。kubelet会在API Server上注册节点信息,定期向Master汇报节点资源使用情况,并通过cAdvisor监控容器和节点资源。可以把kubelet理解成【Server-Agent】架构中的agent,是Node上的p......

Kubernetes核心原理(二)之Controller Manager

1. Controller Manager简介 Controller Manager作为集群内部的管理控制中心,负责集群内的Node、Pod副本、服务端点(Endpoint)、命名空间(Namespace)、服务账号(ServiceAccount)、资源定额(ResourceQuota)的管理,当某个Node意外宕机时,Controller Manager会及时发现并执行自动化修复流程,确保......

Kubernetes核心原理(三)之Scheduler

1. Scheduler简介 Scheduler负责Pod调度。在整个系统中起"承上启下"作用,承上:负责接收Controller Manager创建的新的Pod,为其选择一个合适的Node;启下:Node上的kubelet接管Pod的生命周期。 Scheduler: 1)通过调度算法为待调度Pod列表的每个Pod从Node列表中选择一个最适合的Node,并将信息写入et......