![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Golang
文章平均质量分 57
go 语言交流学习
阿磊的博客
这个作者很懒,什么都没留下…
展开
-
使用vagrant 搭建 k8s集群
1.部署目标在所有节点上安装Docker和kubeadm 部署Kubernetes Master 部署容器网络插件原创 2021-05-31 10:48:16 · 1335 阅读 · 0 评论 -
记录一次生产环境由于 Max open files 问题
原因:最近晚上大概8点到12点左右,服务器不可用,到阿里云控制台观察,cup和内存利用率不高,但是 ECS同时连接数(Count),比白天高出2倍,导致服务不可用,就连短信都发送不了,在这种情况下必须要重启服务,把 ECS同时连接数降下去才行,老是这样也不行,每晚不能老是盯着服务器,暴力重启吧,着实让人头疼。排查过程如下:1.首先登陆到服务器,使用ulimit -a 发现open files 数没问题,最大是65535,我们系统并发数才1000多就不能用了,这不科学2.我使着手动修改参数...原创 2021-03-19 12:17:34 · 1043 阅读 · 2 评论 -
supervisor 守护 golang 进程
golang supervisor1.各平台安装1)centos 安装:yuminstallsupervisor2)ubuntu安装:sudoapt-getinstallsupervisor (如果安装失败检查镜像源,替换最新的更新下然后再安装)3)masOS安装:brewinstallsupervisor2.Supervisor配置以ubuntu为例,在/etc/supervisor/conf.d 文件下添加general.conf文件[progr...原创 2021-01-23 16:23:08 · 947 阅读 · 1 评论 -
Golang Context 详解
当需要在多个 goroutine 中传递上下文信息时,可以使用 Context 实现。Context 除了用来传递上下文信息,还可以用于传递终结执行子任务的相关信号,中止多个执行子任务的 goroutine。Context 中提供以下接口:type Context interface { Deadline() (deadline time.Time, ok bool) Done() <-chan struct{} Err() error Value(key原创 2021-01-05 11:04:22 · 800 阅读 · 1 评论 -
微服务 Docker 容器化部署和 Kubernetes 容器编排
说明:基于之前使用go-kit构建的用户微服务,今天主要使用docker和k8s部署用户系统,前提是你的系统已经安装了docker 和k8s,一切的环境都安装完毕。首先看下项目结构svc下是存放各个微服务,今天就user服务部署,其他也类似,common目录存放的是数据库操作和数据表的定义,还有log工具,错误处理公共包;为了快速部署,user微服务去掉了服务发现和链路追踪模块,服务网关以后优化再加上。Docker 部署 user 服务user 服务依赖于 Redis 和 MySQL 数原创 2020-12-24 17:18:58 · 820 阅读 · 1 评论 -
使用微服务框架go-kit搭建用户微服务
什么是 Go kit?Go是一种很棒的通用语言,但是微服务需要一定量的专业支持。 RPC安全性,系统可观察性,基础结构集成甚至程序设计。Go kit 填补了标准库留下的空白,并使 Go 成为在任何组织中编写微服务的一流语言 下面基于go-kit实现用户微服务,用户的登陆,注册和获取用户信息,使用jwt方式来加密和解码,本文事例比较简单,主要是实现微服务和理解微服务开发,通信使用grpc服务来编码和解码涉及到技术的如下:1.grpc2.consul服务注册使用3.golang/r...原创 2020-12-04 16:13:45 · 1736 阅读 · 7 评论 -
golang排序-快排
1.快排核心概念思路是使用递归,依此循环数据,不断把大小分成3类,与参考数大于,小于,等于2.直接上代码package mainimport "fmt"func main() { arr := []int{2, 4, 2, 11, 42, 1, 32, 33, 12} s := Quicksort(arr) fmt.Print(s)}/* 1.找到递归终止条件*/func Quicksort(arr []int) []int { length := len(arr.原创 2020-10-13 09:40:21 · 180 阅读 · 0 评论 -
Golang中unicode与字符编码理解
1 Go 语言字符编码基础我们首页要知道1)Go 语言的代码是由 Unicode 字符组成的,它们都必须由 Unicode 编码规范中的 UTF-8 编码格式进行编码并存储。2)Unicode 编码规范中的编码格式定义的是:字符与字节序列之间的转换方式。其中的 UTF- 8 是一种可变宽的编码方案。3)Go 语言中的一个string类型值会由若干个 Unicode 字符组成,每个 Unicode 字符都可 以由一个rune类型的值来承载。2.下面举例说明package main原创 2020-09-28 11:51:59 · 882 阅读 · 0 评论 -
基于golang实现websocket
Golang websocket 实现1.之前使用php的swoole 实现websocket,今天就来用golang基于beego框架实现下,首先是路由添加二行路由:beego.Router("/", &controllers.MainController{}) 是网站首页,监测客服端连接情况beego.Router("/ws", &controllers.MyWebSocketController{}) 供客服端连接2.先实现服务端代码,直接贴代码如下:pa.原创 2020-09-28 10:56:22 · 2867 阅读 · 0 评论