自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 udp丢包原因分析

什么会导致udp丢包呢,这里列举了如下几点原因:调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改接收端,将包接收后存入一个缓冲区,然后迅速返回继续recv。发送的包巨大丢包。虽然send方法会帮你做大包切割成小包发送的事情,但包太大也不行。例如超过30K的一个udp包,不切割直接通过sen...

2020-01-06 11:15:20 1212

原创 gitignore命令

在~/.bashrc文件末尾新起一行,粘贴如下脚本#gitignore 用法: gitignore file1 file2 files...function gitignore(){ prjroot=`git rev-parse --show-toplevel 2>&1` #获取git项目根目录 notagit='not a git repository...

2019-12-03 15:01:31 941

转载 Go 中如何准确地判断和识别各种网络错误

Go 中如何准确地判断和识别各种网络错误发表于2018-07-29Go 自带的网络标准库可能让很多第一次使用它的人感慨,这个库让网络编程的门槛低到了令人发指的地步。然而,封装层次与开发人员的可控性往往是矛盾的。Go 的网络库封装程度算是一个不错的折衷,绝大部分时候,我们只需要调用 Dial, Read, Write Close 几个基本操作就可以了。但是,网络是复杂的。我们有时候需要细致的处...

2019-11-28 20:20:54 1032

原创 TOA(tcp option adress)安装

1.说明1.1.场景说明TOA 属于 4层转发系统的一个功能模块,缺省情况下服务经过 4层转发系统,服务源站查看到的请求IP为NAT的回源地址,这对于一些特殊业务来说(比如游戏),是无法满足的,TOA的功能就是让真实源服务源站获取访问者真实IP地址,该模块安装在源站服务器上。以下为 TOA 的局限性:仅支持 TCP 协议仅支持 IPv4仅支持 Linux 操作系统1.2.前提条件...

2019-11-19 19:05:56 5114

原创 golang编译android库

1. go build环境golang方法首先import “C”,然后在需要导出的函数上加//export func_name。库源代码// libcgopackage mainimport "C"import "fmt"//export GoCallfunc GoCall(buffer *C.char) { fmt.Println(C.GoString(buff...

2019-11-19 14:34:02 883

原创 go编译静态库

go编译静态库例如我有个golang项目ucp, 项目目录如下.├── README.md├── a.out├── client.json├── cmd.sh├── dist│ ├── libmudp.a│ ├── libucp.h│ ├── mudp.c│ └── mudp.h├── main.go├── server.json└── tests ...

2019-11-14 12:09:46 1413

原创 平滑升级udp研究

平滑升级平滑升级的一般思路发布新的bin文件去覆盖老的bin文件(如只需优雅重启,可以跳过这一步)发送一个(USR2)信号量,告诉正在运行的进程,进行重启正在运行的进程收到信号后,会以子进程的方式启动新的bin文件子进程启动成功之后,老进程停止接收新的连接,等待旧连接处理完成(或超时)父进程退出,升级完成golang库https://github.com/facebookarc...

2019-10-18 12:00:35 450

转载 golang控制台显示进度条

进度条元素[X] 总量[X] 当前进度[X] 耗时通过以上元素可以延伸出:完成百分比、速度、预计剩余时间、根据设置速度快慢阈值用不同的颜色来显示进度条。实现// 进度条type Bar struct { mu sync.Mutex line int //显示在哪行 多进度条的时候用 prefix s...

2019-05-23 14:17:55 7325 2

原创 redis三个模式的区别

主从主从复制原理从服务器sync命令主服务器bgsave rdb文件,缓冲区记录命令发送rdb快照,并继续记录从服务器丢弃旧数据,载入快照载入缓冲区命令主服务器执行写,会转发从服务器写主从模式缺点不具备容错和恢复功能依赖主服务器内存大小难在线扩容哨兵模式参考https://uule.iteye.com/blog/2438778监控主从服务器是否运行正常每秒一个PIN...

2019-04-24 10:26:06 1411

原创 分析Redis

分析统计rdb文件bgsave后,分析Redis的rdb文件,来统计各种类型key的个数安装 https://github.com/sripathikrishnan/redis-rdb-toolsyum install python-develpip install --upgrade pippip install rdbtools python-lzfgit clone https...

2019-04-16 10:42:41 117

原创 Redis主从复制模式

redis主从复制参考 https://www.cnblogs.com/kevingrace/p/5685332.html全量同步一般发生在Slave初始化阶段,过程如下:从服务器连接主服务器,发送SYNC命令;主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令; *当有多个从服务器同时请求同步时,主服务器只进行一个后台存储* *...

2019-04-15 17:43:30 173

转载 高可用负载均衡

负载均衡架构https://www.cnblogs.com/mindwind/p/5339657.html

2019-04-15 17:36:37 90

原创 golang后台知识图谱

这里写自定义目录标题golang后台知识图谱golang后台知识图谱https://mubu.com/doc/oGG1aDwz-0

2019-04-11 22:27:13 326

原创 高并发解决方案

系统服务器级别解决方案纵向扩展要点提高硬件性能增加内核、内存、硬盘等水平扩展:要点是增加设备反向代理层通过dns轮询站点层通过nginx服务层通过服务连接池数据库按照数据范围、hash拆分分层水平扩展架构 https://www.zhihu.com/collection/336745198应用级别解决方案缓存:数据库缓存层、静态HTML缓存redis/memcahed...

2019-03-15 09:45:58 90

原创 git用法

git用法状态查询git status修改git diff暂存git commit -m ‘modify message’推送git push日志git log分支合并git checkout mastergit branch newbranch_namegit checkout newbranch_namedo sometinggit checkout maste...

2019-03-01 10:22:53 89

原创 超级账本fabric带持久化数据升级到1.2时所遇的 implicit threshold 问题

这里写自定义目录标题超级账本fabric带持久化数据升级到1.2时所遇的坑implicit threshold 问题first-network 1.2.1e2e_cli git1.2.1官方版本跑例子时e2e_cli改造1.2.1升级时带旧数据升级到1.2尝试1尝试2环境版本问题configtxgen等工具版本kafka/zookeeper版本问题ccenv版本问题超级账本fabric带持久化数...

2019-02-28 15:11:31 2057 3

原创 git升级

# centos升级git#下载解压wget https://www.kernel.org/pub/software/scm/git/git-2.19.2.tar.xzcd /usr/localsudo tar -vxf git-2.19.2.tar.xzcd git-2.19.2#安装编译依赖库sudo yum -y install curl-devel expat-devel...

2018-11-28 09:49:10 661

原创 修改hostname

命名规范有主机名只包含数字0-9,a-z(不分大小写),和短横-以及点号. 。其他的都是无效的字符串。包括下划线_ 包括|,都是无效的。修改hostname1、如果只是修改hostname可以通过如下命令hostname newHostname 注意:这种修改方式只有当前有效,等服务器重启后hostname就会失效,回到原来的hostname。2、如果需要永久修改hostnam...

2018-11-28 09:45:16 4364

原创 docker配置

配置文件vi /usr/lib/systemd/system/docker.service #修改ExecStart## graph是docker存储地址, registry是docker镜像地址, bip是docker网段地址ExecStart=/usr/bin/dockerd --graph=/bgi/docker_image_container --registry-mirror=...

2018-11-28 09:41:13 371

原创 docker安装

docker-ce#将系统的所有packages 升级到最新版本sudo yum -y update#安装yum-utilssudo yum install -y yum-utils#执行安装sudo yum -y install docker-ce#将用户添加到docker组sudo usermod -aG docker vagrantsudo yum-config-man...

2018-11-28 09:35:22 105

原创 工作方法及工具

通用OneNote 使用方法及亮点。Xmind 使用方法及亮点。Kindle 使用方法及亮点。收集——整理——思考——输出,模型介绍及注意点。番茄工作法、巴赫音乐在自我管理中应用。闹钟 https://pan.baidu.com/s/1qY3EnFm#list/path=%2F发布macMounty ntfs盘拷贝工具keycue 快捷键查看...

2018-11-28 09:20:43 533

原创 Go知识图谱

2018-11-27 20:55:20 225

原创 golang pprof工具使用

服务代码pprof性能测试代码中已在ListenAndServe()前添加mux := http.NewServeMux()mux.Handle("/", &MyHttpsHandler{})/** 性能分析接口 */mux.HandleFunc("/debug/pprof/", pprof.Index)mux.HandleFunc("/debug/pprof/cmdline...

2018-11-27 20:51:42 808

原创 证书

解析证书openssl x509 -in cert.pem -noout -subject把一个证书转化成CSRopenssl x509 -x509toreq -in cert.pem -out req.pem -signkey key.pem

2018-11-27 20:41:15 150

原创 ssh免密登陆

sudo vi /etc/ssh/sshd_config #普通用户PasswordAuthentication yes #root用户PermitRootLogin yes #自动识别证书登陆ssh-keygen -t rsa 在~/.ssh下生成两个文件:id_rsa是私钥id_rsa.pub是公钥,拷贝到要登录的机器的~/.ssh/authorized_keys中...

2018-11-27 20:34:34 123

原创 常用linux命令

常用linux命令查看目录结tar -tvf sns.tar.gz查看当前目录大du -h .更改文件夹所有者chown [-R] 账号名称 文件或目录chown [-R] 账号名称:用户组名称 文件或目录统计行数wc -l统计当前目录及子目录的所有文件行数find . -name "*.h" | xargs wc -l find . -name "*.c" | ...

2018-11-27 20:29:57 115

原创 bash语法

计数 比较 ++ whilesleeptime=30sleepinterval=3while [ $sleeptime -gt 0 ]do echo to wait $sleeptime seconds sleep $sleepinterval sleeptime=$[ sleeptime-sleepinterval ]donebash 传参argv=$@arglen=$#...

2018-11-27 20:25:21 158

原创 linux bash配置

linux bash配置goexport GOPATH=/opt/gopathexport GOBIN=$GOPATH/binexport PATH=$PATH:$GOROOT/bin:$GOBIN时钟export IP=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6 | awk '{print $2}' | ...

2018-11-27 20:21:36 715

转载 【转】windows下装linux mint双系统的全过程

原文方法一:用u盘制作安装盘装linux mint1.准备阶段下载linux mint镜像文件,地址:linux mint下载 运用制作工具:UltraISO软碟通官方中文版2. linux启动盘的制作(1)下载完成后,打开UltraISO软件运行,首先打开linux系统镜像文件到软牒通里边(2)然后点击“启动----写入硬盘镜像”(3)如已经格式化过的u盘,...

2018-08-13 16:21:04 17887

原创 编程之美 nim(3)的递归解法

​// 编程之美1.13 nim(3) 两对石头的游戏// 一种递归解法package mainimport ( "fmt")// 两堆石头, 假定 n <= mtype pair struct { n, m int}var mapsafe map[pair]boolfunc main() { mapsafe = make(map[pa...

2018-02-10 20:36:52 288

原创 openssl和java关于rsa的交互

因为在做证书的RSA加密,要做c++和java两个版本,碰到了一个问题,特来分享心得。两个版本自加解密时均能工作。但是交互时存在错误:openssl加密java解密,信息后附有乱码;java加密openssl解密,信息现实不正常。查阅很多资料后,无法确定问题,最后从java解密后的乱码入手分析,发现是填充的方式不同。以RSA_NO_PADDING 模式为例,假设rsa 1024bit,...

2016-03-30 22:56:32 2603 4

空空如也

空空如也

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

TA关注的人

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