![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
影兮
这个作者很懒,什么都没留下…
展开
-
go-chassis调研
go-chassishttps://github.com/go-chassis/go-chassis要求:Go version>=1.12 and GO111MODULE=onGo chassis是一个go语言微服务开发框架go chassis特性:插件化注册中心: 默认支持Service Center,kubernetes,istio动态治理框架: 通过此框架,开发者可实现进程...原创 2019-10-21 15:11:12 · 490 阅读 · 0 评论 -
TarsGo调研
TarsGohttps://github.com/TarsCloud/TarsGoTars 是腾讯开源的一款微服务框架(不支持rest)支持服务治理、多语言。可以运行在物理机、虚拟机和容器,其协议主打的是基于 IDL 实现的 Tars 协议,它是一种二进制解析协议,与 pb 类似,同时 Tars 还扩展支持其它协议,乃至用户自定义。调用方式主要以 RPC 为主,支持同步、异步和单向调用几种...原创 2019-10-21 14:58:26 · 418 阅读 · 0 评论 -
kratos调研
kratoshttps://github.com/bilibili/kratosKratos是bilibili开源的一套Go微服务框架,包含大量微服务相关框架及工具。FeaturesHTTP Blademaster:核心基于gin进行模块化设计,简单易用、核心足够轻量;GRPC Warden:基于官方gRPC开发,集成discovery服务发现,并融合P2C负载均衡;Cache:优雅的...原创 2019-10-21 14:53:21 · 891 阅读 · 1 评论 -
go-micro调研
go-microhttps://github.com/micro/go-microMicro是一个用来简化微服务开发的框架,它为开发分布式应用程序提供了基本的构建模块。提供的主要软件是Micro,一个微服务工具包,包含以下组件:Go Micro - 基于Golang的插件式RPC框架,提供服务发现,客户端负载均衡,编码,同步和异步通讯功能。API - API Gateway(API 网关...原创 2019-10-21 14:51:12 · 176 阅读 · 0 评论 -
go-kit调研
go-kithttps://github.com/go-kit/kithttps://gokit.io/go-kit 本身不是一个框架,而是一套微服务工具集,是框架的底层,可以用Go-kit 做适应自己平台的框架。go-kit 采用三层架构方式,自上而下分别为:Transport、Endpoint、Service。Transport层主要负责请求协议的实现和路由转发,例如HTTP、gRP...原创 2019-10-21 14:41:50 · 499 阅读 · 0 评论 -
Dockerfile说明
指令指令的一般格式为 INSTRUCTION arguments,指令包括 FROM、MAINTAINER、RUN 等。FROMFROM指定基础镜像格式为 FROM < image>或FROM < image>:< tag>。第一条指令必须为 FROM 指令。并且,如果在同一个Dockerfile中创建多个镜像时,可以使用多个 FROM 指令(每个镜像...转载 2019-08-07 21:29:07 · 375 阅读 · 0 评论 -
docker常用命令
创建镜像sudo docker image build -t name:v1.0.0 目录// 例如:sudo docker image build -t origin-info:v1.0.0 .删除镜像sudo docker rmi -f image_id运行容器sudo docker run -p 8897:8897 --network=host -it origin-i...原创 2019-08-13 15:51:25 · 192 阅读 · 0 评论 -
使用代码连接etcd
使用clientv3.New创建客户端: cli, err := clientv3.New(clientv3.Config{ Endpoints: []string{"localhost:2379"}, DialTimeout: 5 * time.Second, }) if err != nil { Logger.Println("connect ETCD error, t...原创 2019-07-22 15:24:40 · 535 阅读 · 0 评论 -
Go语言入门(一)
Go是编译型的语言,Go的工具链会将程序的源文件转变成机器相关的原生二进制指令。最简单的子命令:run它将一个或多个以.go为后缀的源文件进行编译、链接,然后运行生成的可执行文件go run hello.go如果这个程序不是一次性实验,那么编译出一个可复用的程序,通过 go build实现。go build hello.go这条命令生成了一个名为hello的二进制程序执行:./...原创 2019-07-30 10:55:24 · 528 阅读 · 0 评论 -
etcd的搭建与基本操作
克隆仓库到本地git clone https://github.com/etcd-io/etcd.gitgit clone https://github.com/coreos/etcdctl.git进入etcd的目录cd etcd/执行build./build启动./bin/etcd关于启动方式,git有详细解释https://github.com/etcd-io/...原创 2019-07-19 18:20:34 · 280 阅读 · 0 评论 -
Beego框架的基础了解
beego的架构beego 是基于八大独立的模块构建的,是一个高度解耦的框架。即使不使用 beego 的 HTTP 逻辑,也依旧可以使用这些独立模块。cache:缓存逻辑;config:解析配置文件,目前支持解析的文件格式有 ini、json、xml、yamlcontext:上下文模块主要是针对 HTTP 请求中,request 和 response 的进一步封装,他包括用户的输入和输出...原创 2019-06-28 16:16:54 · 498 阅读 · 0 评论 -
Beego框架的基本使用
beego可以用来快速开发API、Web、后端服务等各种应用,是一个RESTFul的框架。Beego的安装go get github.com/astaxie/beegobee 工具是一个为了协助快速开发 beego 项目而创建的项目,通过 bee 可以很容易的进行 beego 项目的创建、热编译、开发、测试、和部署,默认是放在GOPATH/bin里面。go get github.com/...原创 2019-06-28 15:06:58 · 650 阅读 · 0 评论 -
golang 时间和时间戳的转换
时间 - - > 时间戳 t := time.Now() fmt.Println(t) t1 := t.Unix() fmt.Println(t1)打印结果:2019-05-27 19:49:41.2935796 +0800 CST m=+0.0029897011558957781时间戳 - - >时间 tm := time.Unix(t1,0) fmt.Prin...原创 2019-05-27 19:53:11 · 3399 阅读 · 0 评论 -
Linux下的GoPath转go mod
网上很多go mod 的使用都是重新在go path目录外新建了项目,但是往往我们用的时候以有项目,所以在gopath的src目录下尝试了一下,遇到了很多坑,现总结如下。1. 在配置文件中设置 export GO111MODULE=on(.vimrc 或.bash_profile)GO111MODULE 的取值为 off, on, or auto (默认值)off: GOPATH mode,...原创 2019-05-05 18:16:31 · 3493 阅读 · 0 评论 -
defer延迟调用
defer执行时机:包含defer的函数返回时 (延迟是相对一个函数并非代码块)包含defer的函数执行到末尾时所在的goroutine发生panic时(panic之后的defer不执行)执行顺序( LIFO )编译时从上到下放入栈中,执行时从栈中弹出。注意事项:由于defer的频繁使用经常会导致出现一些错误,所以使用时需要注意:判断没有err之后再释放资源if err...原创 2019-04-28 20:29:27 · 163 阅读 · 0 评论 -
Go使用其他主流的库操作mysql对比
参考Github地址:https://github.com/didi/gendry导包import ( "github.com/didi/gendry")建立连接db, err := manager .New(dbName, user, password, host) .Set( manager.SetCharset("utf8"), manager.SetTim...原创 2019-04-28 20:14:39 · 744 阅读 · 0 评论 -
Go操作数据库
Go操作数据库安装包 go get github.com/go-sql-driver/mysql导入包import ( "database/sql" _ "github.com/go-sql-driver/mysql" )连接数据库db, err := sql.Open(“mysql”, “用户名:密码@tcp(ip:端口)/数据库名字?charset=utf8”)db...原创 2019-04-28 17:31:33 · 162 阅读 · 0 评论