4 思维的深度

尚未进行身份认证

暂无相关描述

等级
TA的排名 4k+

Golang zap框架应用(三)—— 按时间段存储日志

功能实现1.将error以下级别添加到info.log文件中2.将error及以上添加到error.log文件中4.将日志写入到kafka服务中4.按指定时间段记录日志下载:goget-ugo.uber.org/zapgogetgopkg.in/Shopify/sarama.v1gogetgithub.com/robfig/croncron...

2019-09-20 18:23:48

Golang zap框架应用(二)——将日志信息输出到多个输出流中

目标功能:1.将error以下级别添加到info.log文件中2.将error及以上添加到error.log文件中3.将日志数据写入到kafka中(kafka客户端使用sarama)下载:goget-ugo.uber.org/zapgogetgopkg.in/Shopify/sarama.v1var( producerTopic="klo...

2019-09-16 20:07:21

Golang zap框架应用(一)——根据日志级别将日志存储到不同文件中

目标功能:根据日志级别进行不同文件存储将error以下级别添加到info.log文件中将error及以上添加到error.log文件中下载:goget-ugo.uber.org/zapgithub源码:https://github.com/uber-go/zapfuncmain(){ logger,err:=getLogger("D:/log...

2019-09-16 19:56:24

Golang中的runtime.Caller理解

funcCaller(skipint)(pcuintptr,filestring,lineint,okbool)参数:skip是要提升的堆栈帧数,0-当前函数,1-上一层函数,....返回值:pc是uintptr这个返回的是函数指针file是函数所在文件名目录line所在行号ok是否可...

2019-08-23 17:07:07

Golang实现优雅退出

Golang中的信号处理1.信号类型每个平台的信号定义或许有些不同。下面列出了POSIX中定义的信号。Linux使用34-64信号用作实时系统中。命令mansignal提供了官方的信号介绍。在POSIX.1-1990标准中定义的信号列表信号 值 动作 说明 SIGHUP ...

2019-08-14 17:44:53

kubeadm安装k8s

一、环境准备centOS72核2G内存切换k8syum源(使用国内阿里云镜像)vim/etc/yum.repos.d/kubernetes.repo#写入以下内容[kuberneten]name=Kubernetesbaseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7...

2019-07-26 18:45:53

CentOS7卸载docker

1.查询安装过的软件包yumlistinstalled|grepdocker2.卸载安装的软件包yum-yremovedocker.x86_643.删除镜像/容器等rm-rf/var/lib/docker

2019-06-28 16:56:11

Golang中path/filepath包

path/filepath包下的相关函数1.ToSlash函数funcToSlash(pathstring)string功能:将path中平台相关的路径分隔符转换成'/'例如:windows当前路径:D:\gopro\src\study,转换之后D:/gopro/src/study2.FromSlash函数funcFromSlash(pathstrin...

2019-06-28 16:41:25

etcd网络层(六)——模拟etcd网络层的stream通道维护长连接

代码如下:packagemainimport( "io" "log" "net" "fmt" "sync" "time" "strings" "strconv" "net/http" "encoding/json" "encoding/binary")funcmain(){ peerURL1:="http://127.0.0.1:8081" p...

2019-06-28 16:32:29

Golang runtime包下Gosched函数的作用

这个函数的作用是让当前goroutine让出CPU,好让其它的goroutine获得执行的机会。示例一functest1(){ gosay("world") say("hello")}funcsay(sstring){ runtime.GOMAXPROCS(1) fori:=0;i<2;i++{ runtime.Gosched() ...

2019-06-28 16:28:47

Golang获取目录下的文件及目录信息

一、获取当前目录下的文件或目录信息(不包含多级子目录)funcmain(){ pwd,_:=os.Getwd() //获取文件或目录相关信息 fileInfoList,err:=ioutil.ReadDir(pwd) iferr!=nil{ log.Fatal(err) } fmt.Println(len(fileInfoList)) fori:=...

2019-06-28 16:24:44

linux中systemctl详细理解及常用命令

一、systemctl理解Linux服务管理两种方式service和systemctlsystemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。systemd对应的进程管理命令是systemctl1.systemctl命令兼容了service即systemctl也会去/etc/init.d目录下...

2019-06-28 16:16:52

Golang omitempty的用法

omitempty作用是在json数据结构转换时,当该字段的值为该字段类型的零值时,忽略该字段。packagemainimport( "fmt" "encoding/json")typeStudentstruct{ Namestring`json:"name"` Ageint`json:"age"` Gradestring`json:"gra...

2019-05-31 17:56:59

etcd网络层(五)——Transporter接口实现

一、Transport结构体typeTransportstruct{ Logger*zap.Logger DialTimeouttime.Duration//maximumdurationbeforetimingoutdialoftherequest,dial的超时时间 //DialRetryFrequencydefinesthefrequenc...

2019-05-24 18:49:06

etcd网络层(四)——Peer接口的实现

peer结构体是Peer接口的实现,peer是远程raft节点的代表,本地raft节点通过peer给远程raft节点发送消息每个peer有两个发送消息的基本机制:stream和pipelinestream是长连接,它始终可以传输消息。除了通常的stream,还有优化的stream用于leader发送msgApp消息,因为msgApp占了大部分的消息pipeline是一系列客户端发送请求...

2019-05-24 18:42:56

Golang os包下常用的系统相关操作

环境变量相关1.Getenv函数funcGetenv(keystring)string功能:获取系统key的环境变量,如果没有环境变量就返回空示例:funcmain(){gopath:=os.Getenv("GOPATH")fmt.Println(gopath)}2.Setenv函数funcSetenv(key,...

2019-05-15 20:04:01

Golang os包下常用的文件相关操作

一、文件操作的相关方法//Filerepresentsanopenfiledescriptor.typeFilestruct{*file//osspecific}File表示打开的文件描述符操作File的常用函数:1.Create函数funcCreate(namestring)(*File,error){...

2019-05-15 19:59:03

Golang并发模型的示例

并发模型Go的并发属于CSP并发模型的一种实现,CSP并发模型的核心概念是:“不要通过共享内存来通信,而应该通过通信来共享内存”。要找出10000以内所有的素数,这里使用的方法是筛法,即从2开始每找到一个素数就标记所有能被该素数整除的所有数。直到没有可标记的数,剩下的就都是素数。下面以找出10以内所有素数为例,借用CSP方式解决这个问题。从上图中可以看...

2019-05-10 19:23:19

etcd网络层(三)——stream实现过程

stream消息通道主要是通过长连接的方式和对端进行数据交互,peer结构体中的stream相关数据如下(忽略V2版本):typepeerstruct{writer*streamWriter//负责向Stream消息通道中写消息msgAppReader*streamReader//负责从Stream消息通道中读消息...

2019-05-07 18:03:53

etcd网络层(二)——pipeline通道实现

一、pipeline结构体pipeline通道主要负责传递快照数据pipeline结构体及相关字段如下:typepipelinestruct{peerIDtypes.ID//该pipeline对应节点的IDtr*Transport//关联的rafthttp.Transport实例picker...

2019-05-07 17:57:03

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。