- 博客(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
3914
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
368
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
747
原创 使用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
283
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
760
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
7282
转载 10个常见的Redis面试"刁难"问题
导读:在程序员面试过程中Redis相关的知识是常被问到的话题。作为一名在互联网技术行业打击过成百上千名的资深技术面试官,本文作者总结了面试过程中经常问到的问题。十分值得一读。 作者简介:钱文品(老钱),互联网分布式高并发技术十年老兵,目前任掌阅科技资深后端工程师。熟练使用 Java、Python、Golang 等多种计算机语言,开发过游戏,制作过网站,写过消息推送系统和MySQL 中间件,实现过...
2018-12-05 21:01:15
444
原创 利用快慢指针求链表的中值
思想:慢指针slow遍历列表时,faster指针速度是slow的两倍,则当快指针到结尾时(next节点为空),slow指针恰好位于链表中间中间。package mainimport ( "math/rand" "time" "fmt")func main() {
2018-09-13 20:25:09
423
1
转载 HTTP2特性讲解
最近在搞grpc,就看了看H2协议,在网上看到了这篇文章,作者以老司机的口吻将H2的几大特性娓娓道来:HTTP2.0性能增强的核心:二进制分帧 HTTP 2.0最大的特点: 不会改动HTTP 的语义,HTTP 方法、状态码、URI 及首部字段,等等这些核心概念上一如往常,却能致力于突破上一代标准的性能限制,改进传输性能,实现低延迟和高吞吐量。而之所以叫2.0,是在于新增的二...
2018-09-12 16:35:12
895
转载 常见的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
305
原创 go json.Marshal 编组函数讲解
go标准库提供了一个将JSON的过程叫编组(marshaling)成slice函数;编组通过调用json.Marshal()函数完成:package mainimport ( "encoding/json" &a
2018-09-05 17:31:30
4073
原创 go条件变量sync.Cond的使用和思考
源码采用1.9版本;sync包的Cond,条件变量;在我看来,主要是采用他的wait()方法,来控制被阻塞的go程何时去竞争锁;我暂且叫它“双开关控制”(欢迎大神斧正): 废话少说,来个小例子吧:package mainimport ( "fmt" "sync" &
2018-09-04 16:50:10
5936
原创 go的WaitGroup使用及源码分析
sync 包里的WaitGroup主要用于线程的同步;计数主线程创建的子线程(WaitGoup.Add(i));调用清除标记方法(WaitGroup.Done());使用WaitGroup.Wait()来阻塞,直到所有子线程(标记=0)执行完毕。 例子:package mainimport ( "sync" "fmt&
2018-09-04 11:07:04
6064
原创 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
59929
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
1976
原创 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
2853
原创 go sync包的读写锁RWMutex的使用
sync包的读写锁RWMutex的使用(sync.RWMutex) 当然我们使用读写锁的场景主要是在多线程的安全操作下,并且读大于写的时候,也就是说既满足多线程操作的安全性,也要保证性能的最大化利用,这时候,我们可以考虑使用读写锁。(当然你也可以简单暴力直接干互斥锁(Mutex))RWMutex的使用主要事项1、读锁的时候无需等待读锁的结束2、读锁的时候要等待写锁的结束3、写锁的时候要等
2017-11-16 19:01:58
5895
转载 Go 关键字 defer 的一些坑你需要踩踩
Go 关键字 defer 的一些坑你需要踩踩 预览目录 一些结论 闭包与匿名函数 巩固一下 参考文档 什么是 defer?如何理解 defer 关键字?Go 中使用 defer 的一些坑。defer 意为延迟,在 golang 中用于延迟执行一个函数。它可以帮助我们处理容易忽略的问题,如资源释放、连接关闭等。但在实际使用过程中,有一些需要注意的地方(坑),下面
2017-08-28 10:57:04
505
原创 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
2169
1
转载 go之defer,panic,recover用法
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-03-08 16:21:48
430
原创 服务端:极光推送之单人推送
公司业务需要,需要将符合某一条件的信息推送到他的手机上。之前没有做过,在网上找了很多文章已经博客,感觉大部分都是一样的(官网上down下来的?),没有看明白。下面是个很小的代码:package test;import cn.jiguang.common.resp.APIConnectionException;import cn.jiguang.common.resp.APIReques
2016-12-19 14:54:34
880
python绝技:运用python成为顶级黑客
2017-03-17
go语言剖析
2017-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人