- 博客(24)
- 收藏
- 关注
原创 Prometheus+Grafana+Alertmanager实现监控系统
prometheus服务(接收所有exporter发送过来的消息,配置告警规则;默认端口:9090)grafana可视化界面(将prometheus数据展示出来;默认端口:3000)exporter代理服务(将server上报的数据转换为prometheus能看懂的格式;nginx-vts默认端口:9913;nginx默认端口:9113)server服务(上报数据)alertmanager报警管理器(将告警通过mail或者webhook通知开发者;默认端口:9093)
2024-09-02 16:15:25
452
原创 Linux+Nginx部署Vue项目
下载nodejs解压nodejs修改/etc/profile文件,再最下面加上使/etc/profile文件立即生效看看是否安装成功node -v出现下图表明安装成功。
2024-09-02 15:13:48
331
原创 Redis-数据一致性问题
如果先淘汰缓存,在更新数据库的话,可能存在一种情况,当淘汰缓存成功,还未更新数据库时,新请求就来访问数据库,然后把旧值有设置到缓存里面了;即使是延迟双删,在第二次删除时,依旧可能产生异常,所以我们在第二次删除时,根据业务可以做一些补偿机制的处理,或者通知到负责人。当存在事务时,延迟双删最好放到代码底部,不然可能会出现第二次删除后,事务没提交,缓存依旧不一致的情况。减少第二次删除出现错误的概率,一般情况下,在短时间内,第一次能删除成功,第二次也能删除成功。2.淘汰缓存:指的是,通过del方法去将缓存删除;
2024-08-16 14:24:18
311
原创 Mysql参数调优解析
在MySQL中,“脏页”是指已经被修改但尚未写回磁盘的数据页。MySQL使用了一种称为“脏页管理”的机制来跟踪这些被修改但尚未持久化到磁盘上的数据页。这种机制可以帮助MySQL提高性能,因为将数据写入磁盘是一个相对缓慢的操作,而延迟这个操作可以减少磁盘IO的负担。当对数据库进行更新操作(比如插入、更新或删除记录)时,MySQL会将这些修改写入到内存中的数据页中,而不是立即将其写入到磁盘上。这些被修改的数据页就成为了“脏页”。MySQL会定期地将脏页写回磁盘,这个过程称为“脏页刷新”。
2024-08-15 15:03:18
643
原创 使用Netty搭建TCP服务器
在长连接中,我们可以给每个通道附带一些属性,也可以说是标识,当你拿到这个通道对象时,可以获取这些属性,不过这里的前提是,需要先拿到通道对象,所以,我们无法通过通道标识去拿到通道对象,这样非常的不友好,例如,我们需要获取某个用户的通道,然后向这个通道推送消息,这个时候我们就只能循环每个通道,然后判断当前循环的通道是不是对应用户的,加了这个类,可以让我们快速的找到对应用户的通道,这里使用。方法,是我构建发送消息的一个通用方法,消息最后的##@##是分隔符,后面会讲到。方法,这里的一定时间,后面的代码中会设置;
2024-08-15 11:59:26
955
原创 vue+cesium+heatmap实现全球热力图
1.安装cesium2.下载heatmap.js3.修改vue.config.js代码4.nginx配置代码5.vue页面代码6.完成图
2022-06-14 17:26:24
1878
原创 linux搭建基于FastDFS的文件服务器
一、安装包下载连接:fastdfs-5.12.tar.gz密码: o7ma连接:fastdfs-nginx-module-1.20.tar.gz密码: nk6f连接:libfastcommon-1.0.42.tar.gz密码: ohd9二、libfastcommon安装cd /usr/local/tar -zxvf libfastcommon-1.0.42cd libfastcommon-1.0.42/./make.sh./make.sh install三、fastdfs安装c
2021-09-09 16:23:57
163
1
原创 Mysql索引
索引类型分为:1.普通索引(NORMAL)2.唯一索引(UNIQUE):列值唯一,允许空值3.主键索引(PRIMARY KEY):列值唯一,不允许为空值3.全文索引(FULLTEXT):加速模糊查询,通常和match()、against()一起使用,查询多列时,建议创建联合全文索引,不然索引会失效,5.6版本之后innoDB引擎也能使用了4.空间索引(SPATIAL)索引方法分为:1.hash方法索引:每一次修改新增数据的时候,就会生成对应的一个hash值,检索效率非常高,但不过适用场景也很
2021-04-16 17:55:16
83
1
原创 vue中使用jsmpeg播放视频
1.下载jsmpeg.minjsmpeg.min下载地址提取码:lzal2.在main.js中引用import './views/video/jsmpeg.min'3.使用<canvas id="vueMiniPlayer" style="width: 100%;" @click="play"></canvas>mounted() { this.player = new JSMpeg.Player("video/video1.ts", {canvas: do
2021-03-05 11:14:02
3001
6
原创 使用Fiddler+夜神模拟器抓取App的包
Fiddler配置下载安装fiddler,进入Tools>Options进入HTTPS,配置如下:进入Connections,配置如下:夜神模拟器配置下载安装夜神模拟器,创建一个Android5版本的模拟器性能设置设置成手机版win+R 输入CMD ,输入ipconfig,获取当前电脑的ip进去手机浏览器,输入获取到的ip:8888 ,下载https证书(点击FiddlerRoot certificate)安装两次,分别选择VPN和应用,WLAN配置模拟器的wifi代理,点击
2021-01-25 15:19:49
762
2
原创 基于cryptoJS实现前端vue加密数据,后端java解密数据
VUE1.引入cryptoJSnpm install crypto-js --save-dev或cnpm install crypto-js --save-dev2.编写工具类import CryptoJS from 'crypto-js/crypto-js'// 默认的 KEY 与 iv 如果没有给const KEY = CryptoJS.enc.Utf8.parse("_aes_secret_key_");const IV = CryptoJS.enc.Utf8.parse('_
2021-01-21 14:56:49
545
原创 Nginx的基本使用
1.指向文件夹server { listen 80; #nginx监听的端口 server_name localhost; #拦截的用户访问路径 location / { alias /www/wwwroot/html/;#文件夹路径 autoindex on; }}2.指向文件server { listen 80; #nginx监听的端口 server_name localhost; #拦截的用户访问路径 lo
2021-01-21 14:32:17
137
原创 Java使用Selenium自动化工具(可爬虫)
1.导包 <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-firefox-driver</artifactId> <version>3.14.0</version> </dependency>
2020-10-28 15:39:43
295
3
原创 Java操作MongoDB(进阶篇)
1.导包 <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.0.4</version> </dependency>2.操作一些简单的增删改查我就不说了,百度一大
2020-10-28 15:06:28
519
原创 Java 非对称加密算法(RSA算法)
public class RSAUtils { public static void main(String[] args) throws Exception { String publicKey="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCapIG/XijKqbesb0LC9CdmcKbnzPJMIsa6tRbIwi1FKm3GSYkzYoJWQmHYq5WxVxDosc5aj2b0wBvhQ4WwLgaaNjyC5hcIfhSwAqMFD/
2020-10-27 16:05:13
293
1
原创 使用Netty搭建建议WebSocket服务器
1.导包 <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.36.Final</version> </dependency> <!-- io常用工具类 -->
2020-09-24 15:24:13
402
原创 SpringBoot 证书方式 对接微信小程序支付
准备1.准备好相对应的证书(普通公钥模式也行,但是B2C打款需要证书,所以在这里我用的是证书模式),文件如下:2.准备appId(18位英文数字混合,wx开头)、secret(32位英文数字混合)、mchId(10位纯数字)、wechatApiKey(32位英文数字混合),例如下:开始1.创建微信工具类import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.tz.common.uti
2020-09-15 15:03:49
701
原创 SpringBoot 证书方式 对接支付宝小程序
准备1.支付宝接口文档地址2.准备好相对应的证书(普通公钥模式也行,但是B2C打款需要证书,所以在这里我用的是证书模式),文件如下:3.准备好 appId,应用私钥、支付宝公钥及网关地址开始1.加入maven依赖<dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version&
2020-09-14 15:42:23
1545
原创 OBS+RED实现简单的直播功能
OBS+RED实现简单的直播功能链接:red5下载路径提取码:vvmi链接:obs下载路径提取码:91f1OBS1.安装2.点击右下角的设置 >进入推流>设置服务为自定义;服务器设置为rtmp://127.0.0.1/live;串流秘钥设置为1234563.点击左下角来源框的加号,添加一个显示器捕获4.点击右下角开始推流RED51.安装2.进入安装目录,启动red5.bat3.打开浏览器,进入http://localhost:5080/demos/publisher.
2020-09-11 17:34:29
390
原创 C#上传图片至Springboot服务器
C#上传图片至Springboot服务器C#端代码 public void upload(Stream stream) { //流转byte[] byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); stream.Seek(0, SeekOrigin.Begin); Sy
2020-09-11 16:58:30
348
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人