
go
文章平均质量分 83
快乐的蔡坤坤同学
这个作者很懒,什么都没留下…
展开
-
rancher:简单搭建与使用
一. 准备环境一台运行内存4G的机子关掉防火墙和selinux,之后重启docker//重启dockersudo systemctl daemon-reload //守护进程重启sudo systemctl restart docker //重启docker服务二. rancher搭建# 拉取镜像sudo docker pull rancher/server# 运行sudo docker run -d --restart=unless-stopped --name rc -p原创 2020-10-14 16:51:11 · 490 阅读 · 0 评论 -
go otto js插件化
这几天发现了一个特别有趣的东西,只要照着规定好的插件模板写,不懂go语法的人也可以交互go代码,大大提高了go代码的可扩展性,易用性。范例代码main.gopackage mainimport ( "fmt" "github.com/gin-gonic/gin" "log")func main(){ //加载文件夹下所有插件 plugins:=loadPlugins("./jsfilters") r:=gin.New() r.Use(func原创 2020-10-05 14:46:09 · 1128 阅读 · 0 评论 -
Go简单使用nacos配置中心
一. 环境搭建安装JAVA SDK(我装的是1.8版)链接: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html下载nacos(我装的是1.2版)链接: https://github.com/alibaba/nacos/releases下载后解压双击运行nacos/bin路径下的startup.cmd(我这里死活运行起来,加个JAVA_HOME为C:\Program Files\Java\jdk1原创 2020-09-30 11:56:22 · 5874 阅读 · 3 评论 -
go-micro2(一):简单使用
下载依赖go get github.com/micro/micro/v2@v2.5go get github.com/micro/go-micro/v2@v2.5go.mod文件module jtthinkgo 1.14require ( github.com/golang/protobuf v1.4.2 github.com/micro/go-micro/v2 v2.5.0 github.com/micro/micro/v2 v2.5.0 // indirect)代码.原创 2020-09-23 11:22:45 · 783 阅读 · 0 评论 -
ES7(三):用GO搜索elasticsearch数据
创建搜索模型package Modelsconst ( OrderByPriceAsc=1 //价格从低到高 OrderByPriceDesc=2 //价格从高到低)type SearchModel struct { BookName string `json:"book_name" binding:"omitempty"` BookPress string `json:"book_press" binding:"omitempty"` BookPrice1Start float32.原创 2020-09-17 14:24:46 · 1885 阅读 · 2 评论 -
grpc流模式
proto文件syntax="proto3";package services;//用户模型message UserInfo{ int32 user_id=1; int32 user_score=2;}message UserScoreRequest{ repeated UserInfo users=1;}message UserScoreResponse{ repeated UserInfo users=1;}service UserService{原创 2020-09-02 14:56:40 · 1970 阅读 · 0 评论 -
go+etcd(三): 使用Go实现服务注册
service.go文件package utilimport ( "context" "fmt" "github.com/coreos/etcd/clientv3" "time")type Service struct { client *clientv3.Client}//初始化etcdctlfunc NewService() *Service { config:=clientv3.Config{ Endpoints:[]string{"192.168.56.30:.原创 2020-08-27 17:06:34 · 1070 阅读 · 2 评论 -
nginx+gin+mysql 的docker环境部署
创建一个GO容器//拉取镜像docker pull alpine//因为gin要连接mysql,必须知道mysql docker容器的IP,然后更改gin代码mysql连接的IPdocker inspect <容器名> | grep IP//运行docker run --name goserver -d -v /home/gin/web:/server -w /server alpine ./build/gin/main创建一个nginx容器docker pull n.原创 2020-08-11 15:37:34 · 924 阅读 · 0 评论 -
使用golang的Deployment+Linux虚拟机测试
创建DeploymentTools ->Deployment ->Configuration点击+号创建,信息填完点OK编译main文件在项目的build文件夹里面创建build.bat,然后运行build文件进行编译//build.bat文件内容set GOOS=linuxset GOARCH=amd64go build -o gin ../main.go上传gin文件到虚拟机在虚拟机里运行main//通过ls可以找到main文件ls we..原创 2020-08-11 11:02:51 · 571 阅读 · 0 评论 -
go-micro学习日记(四)--熔断
一. 创建熔断Wrappers中间键。package Wrappersimport ( "github.com/micro/go-micro/client" "context" "github.com/afex/hystrix-go/hystrix" "go-micro-grpc/Services" "strconv")//熔断后默认方法func defaultProds(rsp interface{}) { models := make([]*Services.ProdMode原创 2020-08-06 15:32:56 · 651 阅读 · 0 评论 -
go-micro学习日记(三)--Wrapper
一. 创建Wrapper中间键。package Wrappersimport ( "github.com/micro/go-micro/client" "context" "fmt")//Wrappertype logWrapper struct{ client.Client}//Wrapper方法func (this *logWrapper)Call(ctx context.Context, req client.Request, rsp interface{}, opts原创 2020-08-06 14:47:08 · 623 阅读 · 0 评论 -
go-micro学习日记(二)--gPRC
一. 环境准备。创建一个consul服务中间件。安装protocol buffers。二. 编译proto文件。创建需要的proto文件。Model.proto文件 syntax = "proto3";package Services;message ProdModel{ int32 ProdID=1; string ProdName=2;}ProdService.proto文件syntax = "proto3";package Services;imp原创 2020-08-05 14:38:08 · 357 阅读 · 1 评论 -
go-micro学习日记(一)--HTTP
一. 环境准备。创建一个consul服务中间件。//拉取镜像docker pull consul//实例化镜像docker run -d --name=cs -p 8500:8500 consul agent -server -bootstrap -ui -client 0.0.0.0浏览器输入IP:8500,打开consul可视化web。二. 实现服务端。服务端代码。package mainimport ( "github.com/micro/go-micro/web"原创 2020-08-04 11:44:45 · 544 阅读 · 0 评论 -
go-micro微服务框架初体验
一. 环境准备。安装依赖包这里我用的是gomod。安装protocol buffers。下载地址: https://github.com/protocolbuffers/protobuf/releases下载解压后放入PATH路径下二. 实现服务端。新建account.proto文件。syntax = "proto3";service Greeter { rpc Hello(HelloRequest) returns (HelloResponse) {}}message原创 2020-08-01 18:19:43 · 334 阅读 · 0 评论 -
golang简单使用gRPC
一. 环境准备。安装gprc。go get -u google.golang.org/grpc安装protocol buffers。下载地址: https://github.com/protocolbuffers/protobuf/releases下载解压后放入PATH路径下二. 实现服务端。新建account.proto文件。syntax = "proto3";// 定义包名package account;// 可以定义多个服务,每个服务内可以定义多个接口servi原创 2020-07-27 17:55:10 · 1156 阅读 · 1 评论 -
利用go特性实现高并发接口
一. 用go语言自带的锁。下面代码为抢购Api。//锁var mu sync.Mutex//抢购Apifunc (this *RushController) Purchase() { //商品ID goods_id := int64(1) //加锁 mu.Lock() //结束时解锁 defer mu.Unlock() //orm o := orm.NewOrm() //读取商品信息 m := models.Goods{Id: goods_id} err := o.Read(原创 2020-07-16 18:13:50 · 1686 阅读 · 0 评论 -
大文件分片上传的大概思路(go语言)
前端代码下面代码为 上传页。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body>原创 2020-07-09 16:20:31 · 2678 阅读 · 3 评论