自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 K8S kube-proxy- iptable模式实现原理分析

每台机器上都运行一个kube-proxy服务,它监听api-server 和endpoint变化情况,维护service和pod之间的一对多的关系,通过iptable或者ipvs为服务提供负载均衡的能力。通常kube-proxy作为deemonset运行在各种节点中。kube-proxy 常支持以下二种:1)iptables:iptable模式是目前的默认模式,可以看成是userspace模式的升级版,它将请求的代理转发规则全部写入iptable中,砍掉了kube-proxy转发的部分。整...

2021-11-30 15:30:30 1645

原创 使用vagrant 搭建 k8s集群

1.部署目标在所有节点上安装Docker和kubeadm 部署Kubernetes Master 部署容器网络插件

2021-05-31 10:48:16 1288

原创 记录一次生产环境由于 Max open files 问题

原因:最近晚上大概8点到12点左右,服务器不可用,到阿里云控制台观察,cup和内存利用率不高,但是 ECS同时连接数(Count),比白天高出2倍,导致服务不可用,就连短信都发送不了,在这种情况下必须要重启服务,把 ECS同时连接数降下去才行,老是这样也不行,每晚不能老是盯着服务器,暴力重启吧,着实让人头疼。排查过程如下:1.首先登陆到服务器,使用ulimit -a 发现open files 数没问题,最大是65535,我们系统并发数才1000多就不能用了,这不科学2.我使着手动修改参数...

2021-03-19 12:17:34 993 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 882 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 759 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 775 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 1699 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 174

原创 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 864

原创 基于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 2807

原创 Laravel 观察者模型监听总结

如果你在给定模型中监听多个事件,可以使用观察者来对所有监听器进行分组,观察者类拥有反射你想要监听的 Eloquent 事件对应的方法名,每个方法接收模型作为唯一参数。Laravel 并没有为观察者提供默认目录,所以你可以创建任意目录来存放观察者类。&lt;?phpnamespace App\Observers;use App\Models\User;use Illuminate\S...

2018-05-23 20:18:01 1851

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除