自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(428)
  • 资源 (37)
  • 论坛 (1)
  • 收藏
  • 关注

原创 go kafka常用客户端开发库

1. go常用客户端开发库sarama:https://github.com/Shopify/saramaconfluent-kafka-go: https://github.com/confluentinc/confluent-kafka-gogo_kafka_client: https://github.com/elodina/go_kafka_client’optiopay-kafka: https://github.com/optiopay/kafkasiesta:https://git

2021-01-18 09:05:05 47

原创 golang第三方包tail监听日志文件

1. 下载tail包#go get github.com/hpcloud/tail2. 处理流程首先初始化配置结构体config调用TailFile函数,并传入文件路径和config,返回有个tail的结构体,tail结构体的Lines字段封装了拿到的信息遍历tail.Lnes字段,取出信息(注意这里要循环的取,因为tail可以实现实时监控)3. 相关结构体说明:func TailFile(filename string, config Config) (*Tail, error)t

2021-01-18 08:45:46 26

原创 golang模块viper读取配置文件

文章目录一、介绍二、读取config.json一、介绍Viper是一个方便Go语言应用程序处理配置信息的库。它可以处理多种格式的配置。它支持的特性:设置默认值从JSON、TOML、YAML、HCL和Java properties文件中读取配置数据可以监视配置文件的变动、重新读取配置文件从环境变量中读取配置数据从远端配置系统中读取数据,并监视它们(比如etcd、Consul)从命令参数中读物配置从buffer中读取调用函数设置配置信息简单的设置默认值viper.SetDefault

2021-01-18 08:35:08 8

原创 kafka启动报错:INFO: os::commit_memory(0x00000000c0000000, 1073741824, 0) failed; error=‘Cannot allocate

现象启动kafka报错INFO: os::commit_memory(0x00000000c0000000, 1073741824, 0) failed; error='Cannot allocate memory' (e原因主机可分配内存不足解决办法使用top/htop等命令,查看占用cpu较大的进程,杀掉重启启动kafka关机,机器增加内存资源...

2021-01-16 12:11:34 25

原创 filebeat启动报错“Exiting: data path already locked by another beat. Please make sure t”

现象:filebeat启动报错Exiting: data path already locked by another beat. Please make sure that multiple beats are not sharing the same data path (path.data).原因本机器已经存在filebeat启动,datapath被lock解决办法关闭已存在filebeat的进程,然后重新启动...

2021-01-16 11:09:35 25

原创 Linux文件的分割与合并

文章目录1. 分割1.1 按行数分割1.2 按字节大小分割2.合并 -- cat命令3. 命令说明3.1split命令说明3.2 cat命令语法:1. 分割1.1 按行数分割$ split -l 10000 large_old.txt new_file_prefix加上-d,使用数字后缀;加上--verbose,显示分割进度:$ split -l 50000 -d large_file.txt part_ --verbose1.2 按字节大小分割$ split -b 100m larg

2021-01-16 10:14:57 42

转载 GlusterFS 配置及使用

GlusterFS 配置及使用GlusterFS集群创建一、简介GlusterFS概述Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端.在传统的解决 方案中Glusterfs能够灵活的结合物理的,虚拟的和云资源去体现高可用和企业级的性能存储.Glusterfs通过TCP/IP或InfiniBand RDMA网络链接将客户端的存储资块源聚集在一起,使用单一的全局命名空间来管理数据,磁盘和内存资源.Glusterfs基于堆叠的用户空间设计,可以为不同的

2021-01-14 09:06:14 25

原创 beego日志模块

1. 安装#go get github.com/beego/beego/v2/logs2.支持的日志引擎console:一般用在开发环境下面,方便调试fileL:一般用来保存常规日志,为生产环境中常用的方式conn:可以用来将日志发送到指定服务器,一般可以用来根据日志触发事件smtp:一般是将生产环境下比较重要的日志发送给相应的管理人员,以便及时发现和解决问题es:将日志推送到ESmultifile:日志输出到多个文件3. 支持的日志界级别级别以此递减  const (    

2021-01-11 09:01:47 19

原创 Linux释放内存

Linux服务器运行一段时间后,由于其内存管理机制,会将暂时不用的内存转为buff/cache,这样在程序使用到这一部分数据时,能够很快的取出,从而提高系统的运行效率,所以这也正是linux内存管理中非常出色的一点,所以乍一看内存剩余的非常少,但是在程序真正需要内存空间时,linux会将缓存让出给程序使用,这样达到对内存的最充分利用,所以真正剩余的内存是free+buff/cache。但是当程序结束时,然而内存不会被正常释放,而是作为caching。那么必然会造成资源的占用,下面就介绍一下使用通过修改/p

2021-01-09 11:27:22 22

转载 Form表单、四种常见的POST请求提交数据方式、MIME

浏览器行为:Form表单提交1、form表单常用属性action:url 地址,服务器接收表单数据的地址method:提交服务器的http方法,一般为post和getname:最好好吃name属性的唯一性enctype: 表单数据提交时使用的编码类型,默认使用"pplication/x-www-form-urlencoded",如果是使用POST请求,则请求头中的content-type指定值就是该值。如果表单中有上传文件,编码类型需要使用"multipart/form-data",类型,才能完成

2021-01-07 09:07:59 76

转载 Nginx常见的错误及解决方法

1、Nginx 常见启动错误有的时候初次安装nginx的时候会报这样的错误sbin/nginx -c conf/nginx.conf 报错内容:sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory启动时如果报异常error while loading shared libraries: libpcre

2021-01-07 08:56:55 63

原创 大并发下TCP内存消耗优化

场景:当进行大并发量的测试时,时常会出现内存不够用,kernel直接把进程给杀掉了,然后out of socket memory解决办法对TCP内存消耗进行优化1. TCP能够使用的内存#cat /proc/sys/net/ipv4/tcp_mem22020 29361 44040这三个值就是TCP使用内存的大小,单位是页,每个页是4K的大小。这三个量也同时代表了三个阀值,TCP的使用小于第二个值时kernel不会有任何提示操作,当大于第二个值时进入压力模式,当高于第三个值时将不接受新的TC

2021-01-06 02:00:05 55

原创 优化TIME_WAIT过多,解决time wait bucket table overflow

TCP四次挥手1. TIME_WAIT产生主动关闭方在发送四次挥手的最后一个ACK会变为TIME_WAIT状态,保留次状态的时间为两个MSL(linux里一个MSL为30s,是不可配置的)2. TIME_WAIT两个MSL的作用可靠安全的关闭TCP连接。比如网络拥塞,主动方最后一个ACK被动方没收到,这时被动方会对FIN开启TCP重传,发送多个FIN包,在这时尚未关闭的TIME_WAIT就会把这些尾巴问题处理掉,不至于对新连接及其它服务产生影响。3. TIME_WAIT占用的资源少量内存(查

2021-01-06 01:32:20 50

原创 Logstash工作原理

Logstash事件处理有三个阶段:inputs → filters → outputs,如下图所说。是一个接收,处理,转发日志的工具。支持系统日志,webserver日志,错误日志,应用日志,总之包括所有可以抛出来的日志类型。Input(输入)输入数据到logstash。一些常用的输入为:file:从文件系统的文件中读取,类似于tial -f命令syslog:在514端口上监听系统日志消息,并根据RFC3164标准进行解析redis:从redis service中读取bea

2021-01-05 02:33:18 101

原创 logstash yum安装部署

1. 创建yum源在/etc/yum.repos.d/下新建logstash.repo 配置YUM源地址[logstash-6.x]name=Elastic repository for 6.x packagesbaseurl=https://artifacts.elastic.co/packages/6.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=

2021-01-05 02:11:40 124

原创 kibana安装部署

安装yum install -y kibana配置vim /etc/kibana/kibana.ymlserver.port: 5601server.host: "0.0.0.0"elasticsearch.hosts: ["http://localhost:9200"]i18n.locale: "zh-CN"

2021-01-04 23:49:43 34

原创 ES安装与部署

文章目录1. 导入Elasticsearch GPG KEY2. 添加elasticsearch的yum repo文件3. 安装4. 配置4.1 配置/etc/elasticsearch/elasticsearch.yml4.2 配置 /etc/elasticsearch/config/jvm.options4.3 配置sysctl.conf4.4 配置/etc/security/limits.conf5.启动6. 测试离线安装方式:1. 导入Elasticsearch GPG KEY[root@ELK

2020-12-26 02:48:29 162

原创 Beego——数据绑定

文章目录1. 绑定普通变量2. 绑定切片1. 绑定普通变量BindVarController.gopackage controllersimport ( "github.com/astaxie/beego" "strconv")type BindVarController struct { beego.Controller}router.gofunc (this *BindVarController) Get() { var str string this.Ctx.In

2020-12-25 02:14:53 38

原创 手动同步系统时间报错he NTP socket is in use, exiting

Linux服务器上运行程序,启动报错,发现是系统时间同步问题,手动同步系统时间也报错手动执行报错:[root@localhost /]# /usr/sbin/ntpdate cn.pool.ntp.org22 May 13:56:26 ntpdate[17023]: the NTP socket is in use, exiting停止ntp服务:systemctl stop ntpdShutting down ntpd: [ OK ]设置ntp服务开机不自启动:systemctl

2020-12-22 16:50:53 46

原创 二维矩阵查找

题目:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]给定 target

2020-12-22 09:01:12 36

原创 利用stream做ssl passthrough

利用了nginx的stream配置,stream就是tcp的转发,如果只想绑定一个443端口,通过用户访问的域名来区分不同的服务,类似ingress的功能。用户可以采用ssl passthrough模式。原来nginx可以打开一个预读开关,可以(在握手阶段)把域名读出来,如下面的preread on。stream { map $ssl_preread_server_name $name { app1 app1_backend; app2 app2_backe

2020-12-22 08:56:36 56

转载 Jmeter分布式压测

Jmeter分布式压测Jmeter的集群模式可以让我们将多台机器联合起来一起产生负载,从而弥补单台机器负载生成能力不足的问题。假设我们的测试计划会产生100个threads,我们使用6台机器进行分布式测试的时候,一共会产生100 * 6 = 600的负载。日常情况,大部分的性能需求,单台压测机就可以抗住的。4C8G的window server机器,使用UI方式,最高压测过2000并发(RT 20ms以内),单机没什么问题(当然如果IO很高的话,注意压测机网卡可能会先出现瓶颈。)超过2000并发,可使

2020-12-22 01:11:51 75

原创 nginx四层代理配置

简介nginx常用于四层负载均衡和web service的代理转发。 nginx从1.9.0开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等,类似阿里云slb的 tcp协议模式。默认情况下,此模块不构建,应使用配置参数启用 --with-stream 。安装# tar -xvf nginx-1.10.3.tar.gz#cd nginx-1.10.3#./configure --prefix=/usr/local/nginx --with-http_ssl_module

2020-12-22 00:56:14 99

原创 libcurl http头默认的Expect: 100-continue引发的血案

现象:在使用libcurl库开发的程序发送请求,响应时间长达1s左右,结果对方反馈他们压测的结果是 2~3ms 就能返回结果原因libcurl 当 POST的数据大于1024字节的时候,http默认添加请求头Expect: 100-continue,先追加一个Expect: 100-continue请求头信息,发送这个不包含 POST 数据的请求;如果服务器返回的响应头信息中包含Expect: 100-continue,则表示 Server 愿意接受数据,这时才 POST 真正数据给 Serve

2020-12-22 00:43:12 104

原创 jmeter命令行配置客户端证书

方法一:命令行使用-Djavax.net.ssl.keyStore和-Djavax.net.ssl.keyStorePassword选项jmeter -n -Djavax.net.ssl.keyStore=/root/base_jmx/test.jks -Djavax.net.ssl.keyStorePassword=123456 -t HTTPS_100_long.jmx -l HTTPS_100_long.jtl -e -o /root/base_jmx/HTTPS_100_long/report

2020-12-14 20:36:51 61

原创 beego tag详解

文章目录1. auto2. pk3. - 忽略字段4. null5. index6. unique7. column8. size9. digits / decimals10. auto_now / auto_now_add11. type12. default13. 使用实例在使用ORM操作创建表时,经常需要用一些tag标签,在这里做一整理1. auto当 Field 类型为 int, int32, int64, uint, uint32, uint64 时,可以设置字段为自增健 AnyFiel

2020-12-14 03:08:09 129

原创 beego表达数据验证

文章目录1. 安装2. 实现方式2.1 方法1:StrutTag验证2.2 方法2beego提供了库validation,用于数据验证和错误收集1. 安装go get -u github.com/astaxie/beego/validation2. 实现方式2.1 方法1:StrutTag验证validation.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"

2020-12-14 02:47:51 141

原创 beego格式化输出

文章目录1. 直接输出字符串2. 模板数据输出3. json格式数据输出4. xml格式数据输出5. yaml格式输出6. jsonp格式输出7. 使用实例1. 直接输出字符串2. 模板数据输出3. json格式数据输出4. xml格式数据输出5. yaml格式输出用法:beego.Controller.Data[“yaml”]=数据beego.Controller.ServeYAML6. jsonp格式输出7. 使用实例package routersimport (

2020-12-14 02:37:09 135

转载 常用的GoLang包工具

Machinery异步队列 https://github.com/RichardKnop/machineryMqtt通信 github.com/eclipse/paho.mqtt.golang go文档http://www.eclipse.org/paho/clients/golang/微信开发 https://github.com/chanxuehong/wechatfasthttp包 github.com/valyala/fasthttp数据库操作包 https://github.com/goc

2020-12-12 21:19:48 51

转载 Linux 运维需要掌握的 17 个实用技巧

查找当前目录下所有以.tar结尾的文件然后移动到指定目录find . -name “*.tar” -exec mv {}./backup/ ;注解:find –name 主要用于查找某个文件名字,-exec 、xargs可以用来承接前面的结果,然后将要执行的动作,一般跟find在一起用的很多,find使用我们可以延伸-mtime查找修改时间、-type是指定对象类型(常见包括f代表文件、d代表目录),-size 指定大小,例如经常用到的:查找当前目录30天以前大于100M的LOG文件并删除。f.

2020-12-08 20:02:10 49

原创 zookeeper单节点和集群部署与配置

文章目录1. 安装与部署1.2 安装zookeeper2.单节点配置3.集群配置(伪集群配置)3.1 修改配置文件3.2 修改其他配置文件3.3 创建Server标识Id3.4 启动三个zookeeper实例3.5 检测集群状态1. 安装与部署##1.1 安装jdk```#tar -zxf jdk-8u60-linux-x64.gz -C /usr/local/jdk/#vim .bashrc #环境变量: export JAVA_HOME = /usr/local/jdk/jdk

2020-12-03 01:49:41 98

转载 Uber Go 语言编程规范

相信很多人前两天都看到 Uber 在 github 上面开源的 Go 语言编程规范了,原文在这里:https://github.com/uber-go/guide/blob/master/style.md 。我们今天就来简单了解一下国外大厂都是如何来写代码的。行文仓促,错误之处,多多指正。另外如果觉得还不错,也欢迎分享给更多的人。1. 介绍英文原文标题是 Uber Go Style Guide,这里的 Style 是指在管理我们代码的时候可以遵从的一些约定。这篇编程指南的初衷是更好的管理我们的代码,包

2020-12-03 01:09:07 169

原创 zookeeper工作原理

文章目录简介架构图作用存储结构zookeeper存储模型znodezode组成znode类型Sessions(会话)Watches(监视)zookeeper工作过程节点数规则工作流Leader选举过程Zookeeper 节点状态事务Id初始化Leader选举运行态Leader选举简介ZooKeeper 是一个分布式协调服务的开源框架。主要用来解决分布式集群中应用系统的一致性的问题.ZooKeeper 本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树种 的节

2020-12-02 18:59:18 140

原创 Zookeeper 启动报错:JAVA_HOME is not set and java could not be found in PATH

问题:Zookeeper 启动时报错 :JAVA_HOME is not set and java could not be found in PATH原因:zookeeper启动时需要java环境变量,环境变量没找到解决办法第一步JAVA_HOME是否设置并生效,#echo $JAVA_HOME #java --version第二步:如果JAVA_HOME确实存在,并且正确,那么可能原因是zkEnv.sh中没有读到环境变量,可以在该文件中直接写入JAVA_HOME环境变量的绝对

2020-12-02 00:25:55 184

转载 异常:The last packet sent successfully to the server was 0 milliseconds ago.

现象: 出现异常”The last packet sent successfully to the server was 0 milliseconds ago.“原因:由于数据库回收了连接,而系统的缓冲池不知道,继续使用被回收的连接所致的。解决办法以mysql为例:第一种解决办法,就是将mysql回收空闲连接的时间变长,mysql默认回收时间是8小时,可以在mysql目录下的my.ini中增加下面配置,将时间改为1天。单位是秒,最大好像是24天: [mysqld] wait_ti

2020-11-27 20:52:47 155

转载 JSON文件加注释的7种方法

缺省不能加注释,现实有需求根据JSON规范(http://www.json.org, RFC 4627, RFC 7159),不支持注释。JSON规范之所以不允许加注释,主要是防止:过多的注释,影响了文件本身的数据载体的目的。但是有些场合,尤其是配置文件,还是希望能够帮助说明数据项的含义。一方面有利于描述接口,另一方面能够减少重复性的文档。这在软件快速开发实践中有一定意义。以下介绍几种给JSON文件加注释的方法。方法一:直接用json-schema,使用规范中的注释字段在json-schema规范

2020-11-26 09:16:25 523

原创 mac安装consul

安装#brew install consul启动brew service start consul关闭brew service consul

2020-11-23 22:49:55 143

原创 go---gorm模块

文章目录特性安装模型定义约定高级选项字段级权限控制嵌入结构体连接数据库MysqlSQLServerSQLite3基础操作创建表创建通过数据的指针来创建用指定的字段创建记录创建记录钩子根据Map创建高级选项关联创建设置默认值查询检索单个对象根据主键检索检索全部对象条件string条件strut & Map条件内联条件NOT条件OR条件Order排序Limit & OffsetGroup & HavingDistinctJoins更新保存所有字段更新单个列更新多列更新的记录数删除删除一条

2020-11-22 23:12:45 229

原创 beego路由设置

文章目录固定路由基础路由自定义路由RESTful Controller 路由正则路由自动匹配注解路由namespace固定路由使用实例 beego.Router("/hello", &controllers.HelloController{})package controllersimport "github.com/astaxie/beego"type HelloController struct { beego.Controller //继承beego.Controll

2020-11-21 12:17:18 120

原创 curl 发送 POST 请求的四种方式

使用 curl 发送 POST 请求的四种方式:application/x-www-form-urlencoded使用实例$ curl localhost:3000/api/basic -X POST -d 'hello=world'multipart/form-data这种请求一般涉及到文件上传。后端对这种类型请求的处理也复杂一些。使用实例:$ curl localhost:3000/api/multipart -F raw=@raw.data -F hello=worldappli

2020-11-18 13:27:04 1039

libffi-devel-3.0.5-3.2.el6.x86_64.rpm

libffi-devel-3.0.5-3.2.el6.x86_64.rpm

2017-03-04

mysql5.5_win32

mysql5.5_win32

2016-05-16

C++加密/解密库

C++加密/解密库

2016-06-05

1023856-vdiskmanager-linux.7.0.1.zip

解决vmware Exsit平台多个vmdk文件需要合并的问题,需要此工具进行vmdk合并,谢谢谢谢

2020-08-18

vscode中Go的相关插件安装

vscode中Go的相关插件安装,go项目必须以工作空间方式打开,也可以 git clone https://github.com/golang/tools.git tools,

2020-08-14

jmeter资源监控的插件工具

JMeterPlugins-Extras.jar和JMeterPlugins-Standard.jar是专门用来进行jmeter资源监控的插件工具,测试过没问题

2020-03-01

ServerAgent-2.2.1.zip

ServerAgent ,jmeter服务端资源监测工具,可以对于响应时间分析,内存,网络io,磁盘io等做监控

2020-03-01

jmeter-plugins-manager-1.3.jar.zip

jmeter-plugins-manager-1.3安装包 ,需要自己解压下,下载完以后直接将jar包放到jmeter安装目录下的/lib/ext 目录下,重启Jmeter

2020-03-01

openssl-1.1.0c_libs.zip

libssl.so.1.1,libcrypto.so.1.1,libcrypti.a,libssl.a,libcrypto-1_1-x64.dll,libcrypto.lib,libssl-1_1-x64.dll,libssl.lib

2020-02-11

brctl相关源码包

网桥配置源码, Linux可以工作在网桥模式,在创建命名空间网桥时需要使用该软件包

2018-10-15

Go语言 guru.exe、godef.exe、gocode.exe

Go语言 guru.exe、godef.exe、gocode.exe,是64位的,专门用于eclipse配置时用的

2018-09-06

python3.6中文官方文档

python3.6中文官方文档是根据官方手册翻译过来的中文手册,帮助开发人员开发

2018-08-04

websocket文档

websocket 中文文档,是一个websocket API开发文档,为开发人员提供帮助

2018-08-04

Myeclipse10破解包

该软件包专门用于破解Myeclipse10,希望能帮助到大家。

2018-06-16

SDN核心技术剖析 & 实战指南

SDN核心技术剖析 & 实战指南

2017-08-06

source insight4.0破解工具

source insight4.0破解工具

2017-08-06

source insight 全局配色配置文件

source insight 全局配色配置文件

2017-08-06

source insight

一款开发工具

2017-08-06

open GL红蓝宝书

open GL红蓝宝书

2017-06-07

open GL编程指南

open GL编程指南

2017-06-07

瑞利信道仿真程序

瑞利信道

2017-06-07

Sed与awk书籍

2017-04-23

哈夫曼树及其应用

哈夫曼树及其应用

2017-04-23

哈希算法实现

哈希算法实现

2017-04-23

算法竞赛入门经典

2017-04-23

gns3镜像文件

2017-04-23

boost中文文档

boost中文离线文档

2016-12-08

VC++之MFC类库中文手册

2016-08-11

Docker技术入门与实战 杨保华,戴王剑,曹亚仑编著 机械工业出版社

2016-08-11

Django 中文手册.chm

Django 中文手册.chm

2016-07-11

jthread-1.3.1.tar.bz2

jthread

2016-07-11

jrtplib-3.9.1.tar.bz2

jrtplib-3.9.1.tar.bz2

2016-07-11

[图解TCPIP(第5版).

[图解TCPIP(第5版).

2016-04-16

ACM算法模板

ACM算法

2016-04-16

STL源码剖析(高清

STL源码剖析(高清)相信你们会喜欢的,欢迎下载

2015-11-12

X86-64上的Linux VM管理系统

X86-64上的Linux VM管理系统

2015-11-07

Expect笔记

Expect笔记,希望大家来下载吧,快点快点

2015-10-03

tornado

发表于 2017-02-14 最后回复 2019-03-15

空空如也

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

TA关注的人 TA的粉丝

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