自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

司隶校尉博客

三千弱水只取一瓢饮

  • 博客(21)
  • 资源 (10)
  • 收藏
  • 关注

原创 k8s私有镜像仓库secret创建

一、 opaque类型的secretk8s常见常用的secret 类型opaque,通过base64 decode解码获得秘钥信息,安全性这块较弱,创建例子如下:apiVersion: v1kind: Secretmetadata: name: secret_userinfotype: Opaquedata: name: 5bCP5piO age: Ng==创建的secret的使用方法有挂载和环境变量两种,以下只介绍在环境变量中的使用方法:env: - name:

2021-07-07 20:07:50 3679 2

原创 Elasticsearch集群搭建

一、环境准备官网下载最新稳定版本的安装包:下载地址https://www.elastic.co/cn/downloads/elasticsearch下载jdk(最好java8以上版本,当然现在es安装包内自带了jdk)部署操作系统设置(1) 关闭swapping:内存交换到磁盘对性能影响很大,最好关闭swapping,命令sudo swapoff –a 或者在/etc/sysctl.conf 增加 vm.swappiness = 1配置项(修改syscctl.conf配置项以后,使用sysctl

2021-04-02 18:59:50 303 1

原创 go数字和字符交替打印的实现

package mainimport ( "fmt" "sync")func main() { var resultchan=make(chan interface{}) var signchan=make(chan struct{}) var chartArr=[]string{"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}

2021-02-19 15:45:55 660

原创 使用crontab 对nginx accesslog/tcpaccesslog/errorlog进行每日日志切割

logshell 文件编写vim /etc/nginx/nginx_log_rotate.sh#!/bin/bash#Rotate the Nginx logs to prevent a single logfile from consuming too much disk space.LOGS_PATH=/usr/local/webserverinx/logs/YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)mv ${LOGS_PATH}/access.lo

2020-12-18 14:07:16 237 1

原创 kafka sasl认证

修改配置文件server.properties端口监听信息修改成以下内容:listeners=SASL_PLAINTEXT://192.168.0.1:9092security.inter.broker.protocol=SASL_PLAINTEXTsasl.enabled.mechanisms=PLAINsasl.mechanism.inter.broker.protocol=PLAIN增加sever、client和配置文件vim config/kafka_server_jaas.conf

2020-12-18 11:48:24 700 1

原创 k8s常用的两种网络插件: flannel 、 calico简介

看了一些材料,现在将自己对flannel、calico的自己认识归纳如下k8s的容器虚拟化网络方案大体分为两种:基于隧道方案和基于路由方案一、隧道方案flannel的 vxlan模式、calico的ipip模式都是隧道模式。1、1隧道模式过程隧道模式分为两个过程:分配网段和封包/解包两个过程1.1.1分配网络宿主机利用etcd(etcd中维护ip)会为当前主机上运行的...

2019-12-19 10:15:53 7100

转载 10个常见的Redis面试"刁难"问题

导读:在程序员面试过程中Redis相关的知识是常被问到的话题。作为一名在互联网技术行业打击过成百上千名的资深技术面试官,本文作者总结了面试过程中经常问到的问题。十分值得一读。 作者简介:钱文品(老钱),互联网分布式高并发技术十年老兵,目前任掌阅科技资深后端工程师。熟练使用 Java、Python、Golang 等多种计算机语言,开发过游戏,制作过网站,写过消息推送系统和MySQL 中间件,实现过...

2018-12-05 21:01:15 410

原创 利用快慢指针求链表的中值

思想:慢指针slow遍历列表时,faster指针速度是slow的两倍,则当快指针到结尾时(next节点为空),slow指针恰好位于链表中间中间。package mainimport ( "math/rand" "time" "fmt")func main() {

2018-09-13 20:25:09 385 1

转载 HTTP2特性讲解

最近在搞grpc,就看了看H2协议,在网上看到了这篇文章,作者以老司机的口吻将H2的几大特性娓娓道来:HTTP2.0性能增强的核心:二进制分帧     HTTP 2.0最大的特点: 不会改动HTTP 的语义,HTTP 方法、状态码、URI 及首部字段,等等这些核心概念上一如往常,却能致力于突破上一代标准的性能限制,改进传输性能,实现低延迟和高吞吐量。而之所以叫2.0,是在于新增的二...

2018-09-12 16:35:12 798

转载 常见的Redis面试"刁难"问题

1、Redis有哪些数据结构? 字符串String、字典Hash、列表List、集合Set、有序集合SortedSet。 如果你是Redis中高级用户,还需要加上下面几种数据结构HyperLogLog、Geo、Pub/Sub。 如果你说还玩过Redis Module,像BloomFilter,RedisSearch,Redis-ML,面试官得眼睛就开始发亮了。 2、使用过Redis分布式锁...

2018-09-06 15:22:24 277

原创 go json.Marshal 编组函数讲解

go标准库提供了一个将JSON的过程叫编组(marshaling)成slice函数;编组通过调用json.Marshal()函数完成:package mainimport ( "encoding/json" &a

2018-09-05 17:31:30 3947

原创 go条件变量sync.Cond的使用和思考

源码采用1.9版本;sync包的Cond,条件变量;在我看来,主要是采用他的wait()方法,来控制被阻塞的go程何时去竞争锁;我暂且叫它“双开关控制”(欢迎大神斧正): 废话少说,来个小例子吧:package mainimport ( "fmt" "sync" &amp

2018-09-04 16:50:10 5864

原创 go的WaitGroup使用及源码分析

sync 包里的WaitGroup主要用于线程的同步;计数主线程创建的子线程(WaitGoup.Add(i));调用清除标记方法(WaitGroup.Done());使用WaitGroup.Wait()来阻塞,直到所有子线程(标记=0)执行完毕。 例子:package mainimport ( "sync" "fmt&

2018-09-04 11:07:04 5921

原创 go sync.Map使用和介绍

sync.Map使用和介绍首先看下该map的使用:_** package main import ( “sync” “fmt” )func main() { //开箱即用 var sm sync.Map //store 方法,添加元素 sm.Store(1,”a”) //Load 方法,获得value ...

2018-08-28 15:14:29 59332 3

原创 用go的goroutine和channel实现一个简单的“生产、消费”(带有超时控制)小例子

直接上代码1、没有超时的时候package mainimport ( "fmt" "time")//消费func worker(jobChan <-chan int, endChan chan bool) { for job := range jobChan { fmt.Println("消费:", job) } //消费结束,通知end

2017-11-24 16:47:37 1809

原创 go版本protobuf 在windows系统下安装环境

1.下载protobuf的编译器protoc 2.下载protobuf编译器所需插件 访问https://github.com/google/protobuf/releases 下载 下载解压出protoc.exe文件放入gopath下的bin目录(当然你也看自定义); 下载protoc在go下运行所需插件: go get github.com/golang/protobuf(gopat

2017-11-22 17:22:38 2763

原创 go sync包的读写锁RWMutex的使用

sync包的读写锁RWMutex的使用(sync.RWMutex) 当然我们使用读写锁的场景主要是在多线程的安全操作下,并且读大于写的时候,也就是说既满足多线程操作的安全性,也要保证性能的最大化利用,这时候,我们可以考虑使用读写锁。(当然你也可以简单暴力直接干互斥锁(Mutex))RWMutex的使用主要事项1、读锁的时候无需等待读锁的结束2、读锁的时候要等待写锁的结束3、写锁的时候要等

2017-11-16 19:01:58 5821

转载 Go 关键字 defer 的一些坑你需要踩踩

Go 关键字 defer 的一些坑你需要踩踩 预览目录 一些结论 闭包与匿名函数 巩固一下 参考文档 什么是 defer?如何理解 defer 关键字?Go 中使用 defer 的一些坑。defer 意为延迟,在 golang 中用于延迟执行一个函数。它可以帮助我们处理容易忽略的问题,如资源释放、连接关闭等。但在实际使用过程中,有一些需要注意的地方(坑),下面

2017-08-28 10:57:04 467

原创 defer用法

上一篇小文,我们介绍了deferd用法,但是还不是特别清楚,下面我们根据具体的代码深层次理解defer用法(只是个人理解,如有错误之处,还请大佬斧正。) 例子一 咱们直接怼代码:package mainimport "fmt"func main() { a := 1 defer fmt.Println("defer a=", a) a++ fmt.Println(

2017-03-15 17:29:00 2091 1

转载 go之defer,panic,recover用法

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-03-08 16:21:48 393

原创 服务端:极光推送之单人推送

公司业务需要,需要将符合某一条件的信息推送到他的手机上。之前没有做过,在网上找了很多文章已经博客,感觉大部分都是一样的(官网上down下来的?),没有看明白。下面是个很小的代码:package test;import cn.jiguang.common.resp.APIConnectionException;import cn.jiguang.common.resp.APIReques

2016-12-19 14:54:34 840

《MySQL技术内幕:InnoDB存储引擎》

《MySQL技术内幕:InnoDB存储引擎》,好书和大家分享。

2017-10-19

《七周七并发模型》

《七周七并发模型》,希望和大家分享,理解并发的奥秘。

2017-10-19

《Go 学习笔记 第四版》

这是“雨痕”的golang学习笔记,相信会给golang的学习者有帮助。

2017-10-19

《TCP-IP详解卷一:协议》pdf版本

《TCP-IP详解卷一:协议》pdf版,学习计算机网络的优先书籍。

2017-10-19

python绝技:运用python成为顶级黑客

2017-03-17

go语言剖析

2017-03-17

js学习指南

相互学习

2017-03-17

《go语言圣经》

共享资料,要啥积分

2017-03-17

服务端极光推送所需要的包

服务端极光推送所需要的包

2016-12-19

空空如也

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

TA关注的人

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