- 博客(62)
- 资源 (18)
- 收藏
- 关注
原创 百万并发日志系统
文章目录前言原设计优化方案高并发工作池架构设计channel源码调度源码kafka生产者源码LogstashElasticsearchKibana压测前言优化了公司的一个日志系统,之前的人写的日志系统频繁出现各种问题,还会导致服务异常重启的情况。原设计之前的人设计很简单,每条日志直接开个goroutine,以http请求的方式写入logstash,logstash写入es也只有一个管道。这样设计的问题会导致在高峰的时候会有大量的goroutine堆积,导致内存溢出,服务重启。优化方案chann
2022-02-15 15:28:33 1400 1
原创 logstash配置kafka
文章目录logstash配置kafkalogstash配置kafka根据不同topic输出到不同的ES索引# input插件需要监听Logstash进程所在节点的端口,请使用8000~9000范围内的端口。input { kafka { bootstrap_servers => '10.0.24.111:9092' group_id => 'elk-dev' # 正则匹配topic topics_pattern => "elk-.*"
2022-02-10 09:45:43 5121
原创 Kafka集群搭建
文章目录Java环境安装Zookeeper安装搭建环境部署流程Kafka安装搭建环境部署流程Java环境安装mkdir javacd javawget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gztar -zxvf jdk-17_linux-x64_bin.tar.gzmv jdk-17.0.2/ /usr/javavim /etc/profile# 追加以下环境变量到文件末尾export JA
2022-01-26 18:02:41 1736
原创 Jenkins自动化部署阿里云K8s
Jenkins上执行脚本内容#!/bin/bashserviceName=$1code_dir=/var/lib/jenkins/workspace/Dice_$serviceNameexport GOROOT=/micro/goexport PATH=$PATH:$GOROOT/binexport GOPATH=/opt/code/goexport PATH=/usr/local/bin/:$PATHdocker login --username=zzt@10086 --password
2022-01-19 14:29:41 1294
原创 frp搭建内网穿透
文章目录环境配置外网服务器搭建内网服务器搭建电源设置远程设置注册frpc设置开机启动设置断电重启远程链接环境配置外网服务器一台(或者有公网ip的机器如阿里服务器);内网服务器一台(win10电脑);外网服务器搭建$ mkdir frp$ cd frp$ wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz$ tar -xzf frp_0.38.0_linux_a
2022-01-14 12:34:03 1493
原创 NSQ单节点和集群搭建
文章目录NSQ简介NSQ搭建单节点搭建集群搭建参考链接NSQ简介NSQ是由四个重要组件构成:nsqd:一个负责接收、排队、转发消息到客户端的守护进程nsqlookupd:管理拓扑信息并提供最终一致性的发现服务的守护进程nsqadmin:一套Web用户界面,可实时查看集群的统计数据和执行各种各样的管理任务utilities:常见基础功能、数据流处理工具,如nsq_stat、nsq_tail、nsq_to_file、nsq_to_http、nsq_to_nsq、to_nsqNSQ搭建下载和
2022-01-11 12:21:17 1488
原创 ETCD单节点和集群搭建
文章目录ETCD搭建单节点搭建集群搭建安装etcdkeeperetcd配置详解ETCD搭建下载和解压安装包,再移动到/opt/etcd下方便部署$ apt update$ mkdir etcd$ cd etcd$ wget https://github.com/etcd-io/etcd/releases/download/v3.5.1/etcd-v3.5.1-linux-amd64.tar.gz$ tar -zxvf etcd-v3.5.1-linux-amd64.tar.gz$ mv et
2022-01-07 16:20:53 1839
原创 golang批量写入elasticsearch
文章目录需求ES写入阿里云CDN的API整体代码BulkProcessor流程图需求需要将阿里云CDN的离线日志每天自动化写入到elasticsearch,方便查看。ES写入使用olivere/elastic组件单携程批量写入用Bulk,数据量上来之后一定会出现性能瓶颈后改用多携程用BulkProcessor// ReadLineFile 同步方式,使用Bulk批量写入func ReadLineFile(index int, fileName string, elk *Elk) { if
2021-12-22 17:15:59 4189 1
原创 elasticsearch集群CPU不稳定的问题排查
文章目录问题解放方案删除无用的索引查看有索引分片索引分片调整定期删除过期索引问题用的是阿里云Elasticsearch,数据节点3个:节点CPU时高时低,很不稳定解放方案内存和cpu使用率偏高的情况,可以从以下四个方面考虑:降低并发写入量、删除下无用的索引释放资源(尤其是.monitor开头的日志索引,可设置保留周期)考虑清理索引缓存, POST/索引名/_cache/clear?fielddata=true考虑升配集群扩容实例规格查看有索引分片是否合理删除无用的索引考虑清除.
2021-11-30 16:16:11 1557
原创 golang在Kubernetes中异常重启问题排查
文章目录问题解决方案问题Kubernetes上有些服务的某个 Pod总是时不时的重启一下,通过查业务日志根本查不到原因,我分析了一下肯定是哪里代码不严谨造成panic且没有recover才会挂掉的,但是容器重启后之前输出到控制台的日志会被清空的,所以需要将重启前的日志输出到文件里,这样就能通过容器的volume持久化日志文件的目录方式保留程序崩溃时的信息。解决方案服务启动入口,将控制台日志打印到文件中。注意Windows系统不支持的syscall.Dup2这个函数,所以该方法只能在Linux下运
2021-09-27 16:48:09 895
原创 Golang pprof使用
//安装xormgo get github.com/go-xorm/xorm//mysql驱动go get github.com/go-sql-driver/mysql//redisgo get -u github.com/go-redis/redis//esgo get github.com/olivere/elastic/v7
2021-04-08 22:17:02 761
原创 Telegram 群组创建机器人bot
文章目录创建机器人获取群组chatId发送消息Telegram是一款跨平台的即时通讯软件,用户可以相互交换加密与自毁消息,发送照片、影片等所有类型文件。创建机器人Telegram软件中直接搜索@BotFather点开对话框输入指令/newbot根据提示创建机器人之后会拿到Token输入指令/mybots可以查看和编辑机器人的信息。创建完机器人后再在搜索框搜索你的机器人名字(这里是zt_bot),打开对话框点击start开启机器人。获取群组chatId将创建的机器人拉入群组,然后群里做下
2020-12-16 17:41:18 12486
原创 K8s搭建微服务集群
#部署网关apiVersion: apps/v1kind: Deploymentmetadata: name: api-gateway labels: name: api-gatewayspec: replicas: 2 selector: matchLabels: name: api-gateway template: metadata: labels: name: api-gateway spec:
2020-11-15 17:00:29 2489
原创 k8s集群yaml配置详解及常用指令
文章目录k8s的yaml文件配置详解k8s的yaml文件配置详解缩进标识层级关系不支持制表符缩进,使用空格缩进通常开头缩进两个空格字符后缩进一个空格, 如冒号,逗号,- 等“—”表示YAML格式,一个文件的开始,用于分隔文件间。“#”表示注释 apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 kind: Pod #指定创建资源的角色/类型 metadata:
2020-11-10 10:19:51 3834 1
原创 K8S集群搭建简单示例
#配置镜像加速器,重启dockermkdir -p /etc/dockertee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://zmnwbg20.mirror.aliyuncs.com"]}EOFsystemctl daemon-reloadsystemctl restart docker#安装kubelet kubeadm kubectl,--nogpgcheck表示跳过公钥检查yum i
2020-11-01 22:35:57 606
原创 K8s学习笔记
文章目录Day1P1P3P5P6~P8 Kubeadm方式搭建k8s集群P7~P17 二进制方式搭建k8s集群P18 两个搭建方式的总结P19 kubectlP20 YAMLP21 YAML生成方式Day1P1P3P5![在这里插入图片描述](https://img-blog.csdnimg.cn/20201020154109142.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM
2020-10-23 18:28:25 2368
原创 NETCore在Centos下的内存泄漏排查
文章目录问题思路诊断工具过程问题测试环境一切正常,生产环境发布后项目使用内存逐渐增加直至溢出,溢出后项目挂了,守护进程自动重启了,如此反复。思路测试环境正常,线上环境异常说明很可能是数据量,并发量导致的内存溢出。查看最新服务器内存的使用情况(Skywalking,zabbix等工具),查看内存是从什么日期开始异常的,根据这个日期查看这个日期最近上线的功能,检查相关功能的代码,检查是否存在死锁,非托管资源没释放,线程阻塞等问题。使用内存诊断工具收集项目进程的内存信息。分析内存内容, 查看内存占用
2020-09-10 14:48:02 2465
原创 搭建Linux下GO的开发环境
文章目录安装图形界面Root登录安装TeamView安装谷歌浏览器安装anyconnect安装git安装图形界面云服务初始化后root账户登录执行以下命令# 更新软件库apt-get update# 升级软件apt-get upgrade# 安装可以切换到图形界面的工具,执行指令startx apt-get install xinit# 安装ubuntu桌面系统apt-get install ubuntu-desktop# 重启rebootRoot登录默认情况下,root不能登
2020-08-28 18:39:39 520
原创 Docker 运行mysql8.0挂载数据卷
# docker从仓库中拉取最新版的mysql镜像,如果没加标签的话,默认获取最新的版本Docker pull mysql# 创建挂载的目录,最好创建在home目录下,否则可能会有管理员访问权限的问题,因为docker容器中是普通用户mkdir -p /home/docker/mysql/conf && mkdir -p /home/docker/mysql/data# 把mysql临时运行起来,这时候mysql是还没有挂载数据卷的,为了取出 my.cnf文件docker run
2020-08-26 11:01:28 1665 1
原创 NetCore基于Consul+Ocelot+Docker+Jenkin搭建微服务架构
安装consuldocker pull consulhttps://www.cnblogs.com/lf13/p/10693559.html
2020-08-16 21:15:17 1179
原创 Jenkins+Docker+Git实现自动化部署
安装Gityum updateyum install -y gitgit生成SSH Key[root@iZwz925p95hhdeZ Document]# git config --global user.name "zzt"[root@iZwz925p95hhdeZ Document]# git config --global user.email "[email protected]"[root@iZwz925p95hhdeZ Document]# ssh-keygen -t rsa -C "xx
2020-08-04 17:17:44 845
原创 Linux常用指令
文章目录lspwdcdcpmvls功能: 列出目录。参数: -a :全部的文件,包括隐藏目录和文件。 -l :长数据串列出,包含文件的属性与权限等等数据。指令“ls -l“跟“ll”的功能一样。 -d :仅列出目录本身,而不是列出目录内的文件数据。一般配合“-l”参数使用。 -h:这个选项用来显示文件大小的时候以比较容易看的方式显示。一般配合“-l”参数使用。[root@loca...
2020-07-30 10:04:07 146
原创 使用阿里云容器镜像服务示例
构建镜像Dockerfile文件内容,可以用VS2019直接生成,注意COPY路径和存放位置。#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS baseWOR
2020-07-12 16:57:45 1004
原创 Go重新学习记录
文章目录T第1天P03~P07安装GO语言配置GO环境变量GO的目录结构GO的IDE执行第一个Go程序第2天P08~P18变量常量iota基本数据类型整型浮点型复数布尔值字符串byte和rune类型流程控制ifforfor rangeswitch casegotobreakcontinueT视频连接:2020年最新 Go语言线上VIP就业班全套(价值5K)/golang开发工程师视频配套博客...
2020-06-03 10:00:56 867
原创 在gin框架中使用JWT
留JWT全称JSON Web Token是一种跨域认证解决方案,属于一个开放的标准,它规定了一种Token实现方式,目前多用于前后端分离项目和OAuth2.0业务场景下。什么是JWT?JWT全称JSON Web Token是一种跨域认证解决方案,属于一个开放的标准,它规定了一种Token实现方式,目前多用于前后端分离项目和OAuth2.0业务场景下。为什么需要JWT?在之前的一些web项...
2020-05-06 11:33:01 269
原创 重新系统学习vue笔记
文章目录TDay1P3:前端框架P4:前端发展历程P6:MVC和MVVMP8:v-cloakT视频教程地址:vue教程-黑马-205集完整版视频教程源码:Day1P3:前端框架vue Angular React三大主流框架。VUE只关注视图层,易上手。P4:前端发展历程原生JS》Jquery类库》前端模板引擎》Angular/Vue在VUE里,用户不再操作DOM元素,提高渲染率,...
2020-04-10 18:10:13 311 1
原创 EFCore CodeFirst操作MySQL
文章目录安装包创建DBContext关联表迁移数据库种子数据增删改查新增单一新增批量新增查询修改追踪对象的修改修改非追踪对象删除原生SQL安装包新建项目,选择NETCore2.2版本打开NuGet,搜索安装以下几个包Microsoft.EntityFrameworkCore 2.2.6版本MySql.Data 8.0.19版本MySql.Data.EntityFrameworkCor...
2020-04-10 16:46:03 1350
原创 基于NET Core简单操作Kafka
文章目录安装安装JDK安装zookeeper安装kafka运行kafka创建topic创建生产者创建消费者安装windows服务器上安装JDK,kafka以及zookeeper。安装JDKJDK下载路径安装完成后需要添加以下的环境变量(右键点击“我的电脑” -> “高级系统设置” -> “环境变量” ):C:\Program Files\Java\jdk-14\bin(你...
2020-04-03 15:32:41 3094
原创 NETCore2.2/3.0+使用带有权限验证的Swagger
什么是Swagger1.NuGet安装Startup注册Swagger设置默认首页打开Swagger为接口添加数据
2019-11-02 18:37:22 3459 1
原创 Net操作RabbitMQ
文章目录1.安装2.管理界面1.安装RabbitMQ官网下载地址:RabbitMQ的服务器-3.7.14.exeRabbitMQ是由Erlang语言开发的,所以使用RabbitMQ需要安装Erlang。Erlang官网下载地址:otp_win64_21.3.exeRabbitMQ客户端下载:2.管理界面安装了Rabbitmq后,默认也安装了该管理工具,执行命令即可启动## 先...
2019-09-03 19:51:10 360
原创 Kafka学习笔记
文章目录1 远程报错问题1.1 防火墙允许3306端口1.2 修改环境变量(用于cmd可以运行mysql指令)1.3 执行cmd命令2连接报错问题2.1解决方法3.启动mysql报错问题1 远程报错问题报错问题:Host ‘XXX’ is not allowed to connect to this MySQL server1.1 防火墙允许3306端口首先控制面板——防火墙——高级设置 ...
2019-08-31 15:39:08 287
原创 GDSM自动化部署shell脚本
#!/bin/bashservice supervisord stopname=$1mv /root/Documents/NETCore /root/Documents/NETCore1mv /root/Documents/$name /root/Documents/NETCore\cp -f /root/Documents/NETCore1/appsettings.json /ro...
2019-08-31 15:02:58 180
原创 NET操作Redis
文章目录Redis安装Redis启动NET操作RedisRedis安装下载地址:https://github.com/microsoftarchive/redis/releases下载完后直接解压。相关程序说明:redis.windows.conf:是redis的配置文件。redis-server.exe:服务器端。redis-cli:命令行客户端。redis-bench...
2019-08-01 11:09:59 349
原创 NETCore执行Shell修改Centos系统IP信息
首先通过find命令找到/etc/sysconfig/network-scripts/目录下的ifcfg-en*的文件,然后通过sort排序,将第一个文件作为要修改的文件。type参数表示设置的是静态IP还是动态IP#/bin/baship=$1gateway=$2netmask=$3dns1=$4dns2=$5type=$6echo "###ip:" $ip "###"ech...
2019-06-12 14:37:07 1264
原创 RabbitMQ学习笔记
项目部署压缩包清单运行环境安装IIS安装NET Framework安装mysql安装Navicat部署站点运行站点开启转码工具压缩包清单站点:GDSMPlateForm数据库:jhgdsm.sql转码工具:GenerateService运行环境win系统:window server2012mysql数据库版本:mysql-installer-community-8.0.15.0.ms...
2019-05-25 22:45:57 130
原创 爬虫设计方案
文章目录1 引言2 系统主要功能需求3 系统架构3.1整体架构3.2 TS3.3 微服务4.技术方案4.1 爬虫4.1.1 网页抓取4.1.2 解析数据4.1.3 数据存储4.2 微服务4.2.1 Nginx4.2.2 负载均衡4.2.3 反向代理4.2.4 Netcore Web API4.3 数据展示4.3.1 前后端分离4.3.2 Vue4.3.3 百度地图api1 引言空着2 系统主...
2019-05-20 23:33:09 6412 1
原创 Centos7系统Docker环境下部署企业项目
文章目录1.简介2.项目部署配置1.jhgdsm.sql :2.data.dll.config3.Dockerfile4.proxy.conf5.docker-compose.yml3.项目部署1.简介项目介绍:系统:Centos7环境:Docker项目: Netcore2.1数据库:Mysql在部署前需要拉取三个官方镜像:mysql,nginx,microsoft/dotne...
2019-04-28 18:06:48 372
Serv-U FTP Server(FTP服务器端) V6.4.0.1 绿色汉化修正版 .rar
2011-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人