- 博客(55)
- 收藏
- 关注
原创 微服务架构(Microservice Architecture)
微服务架构(Microservice Architecture)https://www.cnblogs.com/imyalost/p/6792724.html
2022-04-30 12:39:16
371
转载 TCP三次握手和四次挥手的全过程
TCP三次握手和四次挥手的全过程三次握手:第一次握手:客户端发送syn包(seq=x)到服务器,并进入SYN_SENT状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(seq=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。握手过程中传送的包里不包含
2022-04-12 17:24:44
34610
3
转载 Epoll原理解析
从事服务端开发,少不了要接触网络编程。Epoll 作为 Linux 下高性能网络服务器的必备技术至关重要,Nginx、Redis、Skynet 和大部分游戏服务器都使用到这一多路复用技术。 Epoll 很重要,但是 Epoll 与 Select 的区别是什么呢?Epoll 高效的原因是什么? 网上虽然也有不少讲解 Epoll 的文章,但要么是过于浅显,或者陷入源码解析,很少能有通俗易懂的。 笔者于是决定编写此...
2022-04-06 19:52:20
1360
原创 Linux Centos7 上安装consul
一.安装并加入环境变量1、[root@localhost ~]# yum install -y unzip2、[root@localhost ~]# yum install -y wget3、[root@localhost ~]# wget https://releases.hashicorp.com/consul/1.7.2/consul_1.7.2_linux_amd64.zip4、[...
2020-04-30 17:03:16
540
转载 go 版本升级
https://blog.csdn.net/qqqqll3/article/details/89963009?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendF...
2020-04-30 15:51:14
676
转载 Linux下安装Go环境
安装Go环境1 打开官网下载地址选择对应的系统版本, 复制下载链接go1.11.5.linux-amd64.tar.gz:https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz2. cd进入你用来存放安装包的目录,我习惯在~下面创建个go文件夹。# 在 ~ 下创建 go 文件夹,并进入 go 文件夹mkdir ~/go &&am...
2020-04-28 19:31:11
421
转载 Linux安装GoLand
1 下载下载GoLand2 安装Goland1.解压并重命名目录~$ tar -zxvf goland-2019.1.3.tar.gz -C /usr/local~$ sudo mv /usr/local/GoLand-2019.1.3/ /usr/local/GoLand~$ ll /usr/local/total 48drwxr-xr-x 12 root root 4096...
2020-04-28 19:13:26
6795
1
转载 Linux常用命令大全
转载:https://blog.csdn.net/tianzongnihao/article/details/80539264
2020-04-26 14:20:43
95
转载 Golang包管理工具govendor的使用
1. govendor简介golang工程的依赖包经常使用go get命令来获取,例如:go get github.com/kardianos/govendor ,会将依赖包下载到GOPATH的路径下。常用的依赖包管理工具有godep,govendor等,在Golang1.5之后,Go提供了 GO15VENDOREXPERIMENT 环境变量(Go 1.6版本默认开启该环境变量),用于将go ...
2020-04-10 18:56:02
1367
转载 关于golang中某些包无法下载的解决方法
由于某些不可描述的原因,我们 在go module 环境下 进行go get xxxx时,会发现一些依赖库无法访问(不要问为什么无法访问)。解决办法1、科学上网2、跑到国外去上网3、使用replace来替换4、可以使用 一个开源的代理项目戳这里:https://github.com/goproxyio/goproxy这货可以把它干到本地,当然你可以直接使用它自己的地址懒人方法如下:...
2020-04-02 19:23:47
1660
转载 go微服务框架go-micro深度学习(一) 整体架构介绍
转载 https://blog.csdn.net/mi_duo/article/details/82701732
2020-04-02 08:53:43
329
转载 Go实战--golang中使用JWT(JSON Web Token)
转载:https://blog.csdn.net/wangshubo1989/article/details/74529333
2020-04-01 19:03:36
319
转载 Linux下的goland配置
Linux下的goland配置这里选择go1.13.5.linux-amd64.tar.gz版本(使用uname -a 查看linux系统版本)。安装将go1.13.5.linux-amd64.tar.gz解压到/usr/local/apps下tar -zxvf go1.9.2.linux-amd64.tar.gz -C /usr/local/apps进入安装目录:cd /usr/lo...
2020-03-30 14:45:12
1629
原创 Go Module代理
Go module(vgo)代理,配置 GOPROXY 环境变量1.一个全球代理为 Go 模块而生:https://goproxy.io//启用 Go Modules 功能GO111MODULE="on"配置 GOPROXY 环境变量GOPROXY="https://goproxy.io"2.阿里云Go Module代理仓库服务:https://mirrors.aliyun.co...
2020-03-27 23:35:18
326
原创 Window 中杀死指定端口 cmd 命令
1 查询端口占用netstat -aon|findstr "8080"2 强行杀死进程taskkill /pid 4136 -t -f
2020-03-27 19:26:18
494
原创 Go命令的作用
go env: #用于查看go的环境变量go run: #用于编译并运行go源码文件go build: #用于编译源码文件、代码包、依赖包go get: #用于动态获取远程代码包go install: #用于编译go文件,并将编译结构安装到bin、pkg目录go clean: #用于清理工作目录,删除编译和安装遗留的目标文件go version: #用于查看go的版本信息...
2020-03-27 18:36:15
609
转载 执行go run出现.\main.go:6:10: undefined: Test
执行go run出现.\main.go:6:10: undefined: Test转载:https://blog.csdn.net/benben_2015/article/details/89479337
2020-03-25 17:14:52
1278
原创 ProtoBuf
Proto安装插件protoc.exeprotoc-gen-go.exeprotoc-gen-gofast.exeprotoc-gen-gogo.exeprotoc-gen-grpc-gateway.exeprotoc-gen-swagger.exe生成命令protoc --go_out=plugins=grpc:. router.proto生成服务端//.router....
2020-03-24 19:16:46
141
原创 Thrift
Thrift下载:http://thrift.apache.org/download安装:https://blog.csdn.net/Sicily_winner/article/details/86751896thrift IDL: IDL(interface description language)生成go文件:thrift -r --gen go *.thrift...
2020-03-24 18:05:46
93
原创 Kafka
Kafkakafka⾼吞吐量的分布式队列(Linkin开发,apache顶级开源项⽬)kafka是一个分布式数据流平台,可以运行在单台服务器上,也可以在多台服务器上部署形成集群。他提供了发布和订阅功能,使用者可以发送数据到kafka中,也可以从kafka中读取数据(以便进行后续的处理)kafka具有高吞吐,低延迟,高容错的特点架构Producer:Producer即⽣生产者,消息的产⽣...
2020-03-16 19:39:06
214
转载 ETCD_简介+使用
ETCD_简介+使用转载:https://blog.csdn.net/bbwangj/article/details/82584988
2020-03-16 15:34:04
676
转载 GO实现千万级WebSocket消息推送服务技术分析
GO实现千万级WebSocket消息推送服务技术分析慕课网地址:https://www.imooc.com/learn/1025原文地址:https://blog.csdn.net/Wing_93/article/details/81587809转载地址:https://blog.csdn.net/dodod2012/article/details/81744526...
2020-03-12 17:01:45
247
转载 OSI 七层协议
网络协议(OSI 七层协议)转载:https://www.cnblogs.com/jin-xin/articles/10067177.html
2020-03-12 15:30:29
79
转载 golang socket编程
golang socket编程轉載:https://blog.csdn.net/weixin_41835612/article/details/99619685
2020-03-12 15:28:33
68
原创 默认端口号
服务端默认端口号序号mysql端口号1mysql:33062redis:63793zookeeper:21814kafka:90925etcd客户端连接端口 :2379 内部互联端口(监听节点间通信) :23806influxdb:8086 用于客户端和服务端交互的HTTP API:8088 用于提供备份和恢复的R...
2020-03-11 15:39:25
2373
原创 分布式消息队列 NSQ 和 Kafka 对比
分布式消息队列 NSQ 和 Kafka 对比[https://www.liuin.cn/2018/07/11/%E5%88%86%E5%B8%83%E5%BC%8F%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97-NSQ-%E5%92%8C-Kafka-%E5%AF%B9%E6%AF%94/]消息队列的作用解耦,将一个流程加入一层数据接口拆分成两个部分,上游专注通知...
2020-03-11 15:38:18
1050
原创 nsq(消息队列)
nsq(消息队列)搭建服务启动 nsqd 指定 -broadcast-address=127.0.0.1 来配置广播地址:nsqd -broadcast-address=127.0.0.1启动 nsqd,如果是在搭配 nsqlookupd 使用的模式下,需要首先指定 nsqlookupd 地址:1.启动 nsqlookupd 命令:nsqlookupd2.启动nsqd命令:n...
2020-03-11 15:21:36
347
原创 ES(Elasticsearch)--elastic包
ES(Elasticsearch)–elastic包 Go语言操作ES,使用第三方库,不用官方库 [https://github.com/olivere/elastic] github.com/olivere/elastic/v7: 版本必须与ES版本一致package mainimport ( "context" "fmt" "github.com/olivere/ela...
2020-03-11 15:18:39
371
原创 gopsutil
gopsutil–获取系统信息gopsutil: psutil 是一个跨平台进程和系统监控的Python库,而gopsutil 是其Go语言版本的实现。Go语言部署简单、性能好的特点非常适合做一些诸如采集系统信息和监控的服务,本文介绍的gopsutil库是知名Python库:psutil的一个Go语言版本的实现。 网站:[https://www.liwenzhou.com/posts/Go...
2020-03-11 15:16:49
544
原创 ini包
ini包 获取配置文件的包下载 :go get gopkg.in/ini.v1文档:[https://github.com/go-ini/ini] [https://ini.unknwon.io/]##config.ini[kafka]address=192.168.42.133:9092topic=test_logchan_size=100000[collect]lo...
2020-03-11 15:10:00
330
原创 tailf包
tailf包打开文件,一直一条一条循环读取数据package mainimport ( "fmt" "github.com/hpcloud/tail" "time")//tailf包 打开文件,一直一条一条循环读取数据func main() { filename := `./xx.log` config := tail.Config{ ReOpen: true,...
2020-03-11 15:08:16
237
原创 sarama包
sarama包基于sarama第三方库开发的 kafka client,往kafka里面发送消息package mainimport ( "fmt" "github.com/Shopify/sarama" "math/rand" "strconv")//基于sarama第三方库开发的 kafka client,往kafka里面发送消息func main() { //1....
2020-03-11 15:06:37
1060
原创 flag标准库
flag标准库Go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单。os.Args是一个存储命令行参数的字符串切片,它的第一个元素是执行文件的名称。1.flag.Type(flag名, 默认值, 帮助信息)*Typename := flag.String("name", "张三", "姓名")age := flag.Int("age", 18, "年龄"...
2020-03-11 15:03:26
463
原创 json序列化 (gob标准库)
json序列化 (gob标准库)type s struct { data map[string]interface{}}1.json序列化会将 int 类型,转化成float64。func jsonDemo() { var s1 = s{ data: make(map[string]interface{}, 8), } s1.data["count"] = 1 ret, ...
2020-03-11 15:02:18
634
原创 runtime 包
runtime 包的使用//存放一些公用的工具函数func getCallerInfo(skip int) (fileName string, line int, funcName string) { //fileName 文件的全路径 pc:存放函数对象 pc, fileName, line, ok := runtime.Caller(skip) //参数从0开始,最底层为0,调用一次+...
2020-03-11 14:59:16
147
转载 golang获取当前时间、时间戳和时间字符串及它们之间的相互转换
1、获取当前时间 (1) currentTime:=time.Now() //获取当前时间,类型是Go的时间类型Time (2) t1:=time.Now().Year() //年 t2:=time.Now().Month() //月 t3:=time.Now().Day() //日 t4:=tim...
2020-03-11 11:33:08
1560
原创 go学习网站
go网站Golang标准库文档:https://studygolang.com/pkgdocGo中文网: https://studygolang.com/博客学习网:https://www.liwenzhou.com/categories/Golang/
2020-03-11 11:27:27
708
原创 Go 性能调优(pprof)
Go 性能调优(pprof)1.Go语言内置了获取程序的运行数据的工具,包括以下两个标准库:1.runtime/pprof : 采集工具型应用运行数据进行分析2.net/http/pprof: 采集服务型应用运行时数据进行分析2.性能调优原理: pprof 开启后,每隔一段时间(10ms)就会收集下当前的堆栈信息,获取各个函数占用的CPU以及内存资源;最后通过这个采集数据进行分析,形...
2020-03-10 10:56:43
545
1
转载 go mod 安装bee 报错
go mod 安装bee 报错go get github.com/beego/bee go: github.com/derekparker/delve@v1.2.0: parsing go.mod: unexpected module path "github.com/go-delve/delve"go: error loading modu...
2020-02-26 18:07:57
579
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人