- 博客(171)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 SpringBoot优雅关机,监听关机事件,docker配置
如果默认的优雅停机行为不能满足需求,你还可以自定义优雅停机逻辑。例如,对于不同的 Web 容器(如 Tomcat、Jetty、Undertow),可以编写相应的代码来控制线程池的行为。以 Tomcat 为例,你可以创建一个类实现和接口,来定制化优雅停机过程。/*** @createTime 2025年03月04日/*** 优雅关机是否已开始。
2025-03-06 11:37:29
1071
转载 OpenSSL 证书通过 Subject Alternative Name 扩展字段扩展证书支持多域名
1、SAN(Subject Alternative Name) 是 SSL 标准 x509 中定义的一个扩展。它允许一个证书支持多个不同的域名。通过使用 SAN 字段,可以在一个证书中指定多个 DNS 名称(域名)、IP 地址或其他类型的标识符,这样证书就可以同时用于多个不同的服务或主机上。这种灵活性意味着企业不需要为每个域名单独购买和安装证书,从而降低了成本和复杂性。
2024-12-04 11:23:07
441
原创 OpenSSL 自建CA 以及颁发证书(网站部署https&&双向认证)
CA机构是具有权威公信力的第三方安全认证机构,负责数字证书的申请、审核申请人身份、签发证书及证书的生命周期管理等工作。作为独立第三方,CA机构为用户提供电子认证服务,确保网上传递信息的机密性、完整性,以及交易实体身份的真实性、信息的不可否认性,从而保障网络应用的可靠性。
2024-12-03 14:46:20
4119
3
原创 window 远程桌面链接&微软账户无法链接问题
一般来说这个账号是B本身就有的,你平时打开B电脑,也是用的这个账户,密码你也知道,要是没有密码,那你后面远程链接的时候密码就不用填写,只写一个账户就行。3、第三步:链接,你可以在开始链接之前就设置账户密码(点击显示选项),或者先直接链接,后面弹出账号密码你再输入也行,要是没有密码,那你就不用填写。4、其实这些网上都有,稍微一搜就出来,我主要想说的是,如果B电脑,登录使用的微软账户,有两种登录方式。,是能登录到B电脑的,但是在A上面远程链接B,密码不能用PIN ,得用为微软账户的密码。
2024-10-23 17:15:01
752
原创 WebRTC入门
WebRTC(Web RealTime Communication)是 Google于 2010 以 6829 万美元从 Global IP Solutions 公司购买,并于2011 年将其开源,旨在建立一个互联网浏览器间的实时通信的平台,让 WebRTC技术成为 H5标准之一。我们看官网的介绍从官网上的描述我们可以知道,WebRTC是一个免费的开放项目,它通过简单的API为浏览器和移动应用程序提供实时通信(RTC)功能。
2024-10-23 11:01:33
1798
原创 树型结构构建,模糊查询,过滤
1、最近在做甘特图,有些需求和树型结构要求很大,看的是pingCode,有搜索2、还有抽取一部分树型结构的,如下是抽取上面的结构类型为需求的,重新组成树型。
2024-02-02 10:05:09
944
转载 一文搞懂 Kafka 中的 listeners 和 advertised.listeners 以及其他通信配置
listeners 和 advertised.listeners 以及其他通信配置
2023-12-22 15:40:21
8002
1
转载 七种 WebSocket 框架的性能比较
1、 原文地址前一篇文章使用四种框架分别实现百万 websocket 常连接的服务器介绍了四种 websocket 框架的测试方法和基本数据。前一篇文章介绍了四种 websocket 框架的测试方法和基本数据。最近我又使用几个框架实现了 websocket push 服务器的原型,并专门对这七种实现做了测试。本文记录了测试结果和一些对结果的分析。最近用 Golang 实现了第八种,Go 表现还不错。
2023-10-14 14:17:30
1724
转载 Kafka 生产者 ack、min.insync.replicas、replication factor机制剖析
kafka 的 acks、min.in.sync.replicas 、replication.factor 参数解析
2023-09-21 08:42:54
1983
原创 springBoot + netty搭建高性能 websocket 服务 & 性能测试(包含python 测试脚本)
springBoot netty websocket 性能测试
2023-09-13 12:05:20
9087
2
原创 kafka各种环境安装(window,linux,docker,k8s),包含KRaft模式
6、删除 topic,该操作在winodw,会出现文件授权问题,日志可以在kafka的启动命令窗口中查看,只需要修改文件权限即可,3、把主题中所有的数据都读取出来(包括历史数据),可以看到我们获取到了从消费者没有上线之前到上线之后的所有数据,一共6条。如果是linux,不使用window下的命令即可,使用对应的 xxxx.sh 即可。2、发送消息,这里发送了2次的数据,第一次是hello,第二次是world。1、解压刚刚下载的配置文件,解压后如下,其中。2、修改配置:进入到config目录,
2023-08-17 16:28:36
4645
6
原创 sealos安装k8s
kubeadm2、安装k8s的方式有很多3、关于sealos来安装 k8s ,也是非常建议大家去官方文档看看,,说的很非常清楚,一看就知道。
2023-08-11 10:42:21
3542
2
原创 tdengine(3.0.7.1)多数据源使用
springBoot多数据源使用tdengine(3.0.7.1)+MySQL+mybatisPlus+druid连接池
2023-08-02 12:07:16
3970
5
原创 (十九)使用InfluxDB搭建报警系统
1、监控其实每隔一段时间对数据计算一下。比如,我有一个一氧化碳浓度传感器, 每 1分钟我就算一下这 1 分钟内室内一氧化碳浓度的平均值。将这个结果跟一个写死的标准值做比较,如果超过了就报警。这就是监控的基本逻辑。2、所以,InfluxDB中的监控其实也是一个FLUX脚本写的定时任务。只不过,不管是在HTTP API还是在Web UI上,InfluxDB都把它和定时任务分离区别对待了。1、睿象云是一个告警平台,它提供五花八门的报警方式。
2023-07-26 16:08:42
2403
原创 (十八)FLUX查询优化
1、最后值得说一下,我们的map操作数据的原理是对数据集中的数据一行一行处理。我们可以看到现在操作列表里,有一个叫做 merged_ReadRange4_filter2的算子操作,后面紧跟的是我们的map操作。FLUX语言在执行时,会尽可能实现谓词下推的优化,什么样的查询可以实现谓词下推,可以参考官网文档的优化查询一节。2、这里的query和operator是查询计划的两个选项,query表示你要查看整个执行脚本的的执行情况,operator表示你要查看一个FLUX查询各个算子的执行情况。
2023-07-26 14:52:53
595
原创 (十六&十七)时序数据库是怎么存储用户名和密码的&从InfluxDB OSS迁移数据
默认情况下,BlotDB的数据会存储在一个单独的文件中,这个文件会在~/.influxdbv2/ 路径下,名称为influxd.bolt。7、不过,我们要注意到InfluxDB行协议的一个特点,其实对于整个文件来说,多条数据的measurement其实是重复的,tagset的重复率也不低,filed的变化也不会很大。ls -lh,ls的h参数,可以将文件的字节数打印为更容易阅读的MB、GB单位。1、这次,我们尝试导出test_init的数据导出,截至目前,这个bucket里面的数据应该是当前最多的。
2023-07-26 14:26:56
692
原创 (十五) InfluxDB服务进程参数(influxd命令的用法)
本文不会介绍influxd的全部命令,通过下面的命令列表,大家可以窥探InfluxDB的一些可配置的能力。你可以使用下面的命令来杀死当然的influxd进程。下面主要是讲解auth子命令的用法,使用下面的命令可以进一步查看auth子命令的帮助信息。3、最后,因为我们用的是export命令,临时搞了一个环境变量,如果你觉得当前shell会话不重要,可以关闭当前shell会话。1、最后,如果要做配置的修改,建议一定要参考InfluxDB的官方文档,这一部分写的非常清楚,而且官网已经给出了进行配置的各种模板。
2023-07-26 12:20:09
1062
原创 (十四)InfluxDB仪表盘
1、前面已经给大家介绍过InfluxDB的仪表盘功能了。点击左侧的 按钮,可以进入 InfluxDB的仪表盘管理页面。可以看到仪表盘的管理页面,如下图所示:2、我这里打开一个System仪表盘,注意,这个仪表盘中的内容依赖我们之前做的示例 2。3、这是一个监控主机硬件与网络资源的仪表盘。仪表盘中的每个 Cell其实都是一个FLUX查询语句,通过执行FLUX获取数据结果,再使用UI将它展示为各类图表。在你打开仪表盘的一瞬间,InfluxDB就会执行这些查询。
2023-07-26 11:57:18
1065
原创 (十三)定时任务
1、InfluxDB任务是一个定时执行的FLUX脚本,它先查询数据,然后以某种方式进行修改或聚合,然后将数据写回InfluxDB或执行其他操作。
2023-07-26 11:29:38
723
原创 (十二)使用InfluxDB模板
1、InfluxDB模板是一份yaml风格的配置文件。它包含了一套完整的仪表盘、Telegraf配置和报警配置。InfluxDB模板力图保证开箱即用,把yaml文件下载下来,往InfluxDB里一导,从数据采集一直到数据监控报警就全部为你创建好。2、InfluxDB官方在github上收录了一批模板。开发前可以在这里逛一逛,看有没有可以直接拿来用的。
2023-07-26 10:29:42
647
原创 (十一)JAVA操作InfluxDB
这里是将写入的时间精度确定为了毫秒,如果你传入了一个纳秒时间戳,但精度指明了毫秒,那超出毫秒的部分会被直接截断。2、influxdb-client-java为我们提供了一个WriteOption对象,调用makeWriteApi时可以传入这个对象,通过上图的提示我们可以看到,缓冲区的大小,批的大小,刷写的间隔我们都是可以进行明确指定的。3、两个方法各有很多不同的实现,其中一大部分是用来制定连接参数的,比如你创建连接对象的时候没有制定org和bucket,那么可以延迟到调用具体api的时候再指定。
2023-07-26 10:12:27
9795
原创 (十)使用influx命令行工具
1、这一部分的内容可以详细参考Gitee官方文档 https://gitee.com/help/articles/4328#article-header02、所谓发行,就是这个开源项目进行到一定程度,各种特性和功能已经趋于完善和稳定,到了可以出一个阶段性版本的时候了。通常来说,github或者gitee上放的是一个项目的源码,但是源码需要经过编译之后才能运行的,那么当作者觉得自己的项目,目前开发进度差不多,应该没什么坑的时候,他就可以自己创建一个发行版。
2023-07-26 09:20:28
2552
原创 (八&九)如何与InfluxDB交互&InfluxDB HTTP API
1、InfluxDB启动后,会向外提供一套HTTP API。外部程序可以也仅能通过HTTP API与InfluxDB进行通信。我们后面要讲到的influx命令行、Web UI 和各编程语言的客户端库,其内部都是封装的对HTTP API的调用。2、所以各种客户端同InfluxDB交互时,都离不开API TOKEN。因为HTTP是一种支持官方且简单的协议,这也方便了用户进行二次开发。
2023-07-26 08:37:12
3808
原创 (七)FLUX查询InfluxDB
1、本节内容较为重要1、此处,我们定义一个管道函数,它可以将表流中的_value字段的值乘上x倍。大家在接下来的示例中注意声明管道函数时所用的语法。(^) r with "_value" : r [ "_value" ] * x })) } 接下来我们调用刚才声明的函数,最终整个脚本如下 : big 100 =(table = < return table - , x) = > {2、可以自行运行查看函数效果。
2023-07-25 16:58:24
1476
原创 (六)如何使用FLUX语言的文档
1、另外,需要额外注意有一个函数库的名字叫experimental,这个单词是实验的意思,也就是在未来的FLUX版本中,这个函数有可能会变,参数名可能也不是很确定,甚至这个函数可能会在未来的某个版本被放弃。如果你有升级的打算,那么experimental里面的函数应该敬而远之,否则在未来的某个时间,很有可能会导致重复开发。3、点击一个包的左侧的+按钮,就可以看到这个包里的所有函数,任意点击其中一个,就可以看到这个函数的详细说明,包括会返回什么,调用的时候需要传递什么参数等等。
2023-07-25 16:45:28
496
原创 (五)FLUX中的数据类型
1、FLUX没有提供关于bytes的语法。可以使用bytes函数将字符串转为bytes。注意:只有字符串类型可以转换为bytes。1、 FLUX语言是GO语言实现的,因此使用GO的正则表达式语法。正则表达式需要声明在正斜杠之间 / /1、字符串类型表示一个字符序列。字符串是不可改变的,一旦创建就无法修改。2、字符串是一个由双引号括起来的字符序列,在FLUX中,还支持你用\x作为前缀的十六进制编码来声明字符串。
2023-07-25 16:40:37
777
原创 (四)FLUX语法
我们从源头把水抽取出来,然后按照我们的用水需求,在管道上进行一系列的处理修改(去除沉积物,净化)等,最终以消耗品的方式输送到我们的目的地(饮水机、灌溉等)。3、此处,if then else被我们成为条件子句,你需要先指定一个条件,然后当条件为true的时候,条件子句会返回then后面的内容,也就是"hello"。1、需要注意,因为InfluxDB是一个用Go语言编写的数据库,它的整个项目成果就是一个单独的可执行二进制文件,所以FLUX语言其实也会被编译到同一个文件里。
2023-07-25 15:31:36
934
原创 (三)InfluxDB入门(借助Web UI)
Telegraf是InfluxDB生态中的一个数据采集组件,它可以讲各种时序数据自动采集到InfluxDB。现在,Telegraf不仅仅是 InfluxDB的数据采集组件了,很多时序数据库都支持与Telegraf进行协作,不少类似的时序数据收集组件选择在Telegraf的基础上二次开发。抓取任务就是你给定一个URL,InfluxDB每隔一段时间去访问这个链接,把访问到的数据入库。在InfluxDB 1.x的时候,类似的任务只能由Telegraf来实现。
2023-07-25 15:05:00
10995
4
原创 (二)安装部署InfluxDB
Go语言开发的项目一般来说会只打包成单独的二进制可执行文件,也就是解压后目录下的influxd文件,这一文件中全是编译后的本地码,可以直接跑在操作系统上,不需要安装额外的运行环境或者依赖。4、 创建用户和初始化存储桶,点击GET STARTED按钮,进入下一个步骤(添加用户)。如图所示,你需要填写、组织名称、用户名称、用户密码。5、配置完成,看到如图所示的页面,说明我们已经开始使用tony这一用户身份和InfluxDB交互了。2、window 下,直接下载安装包解压后,在 cmd 命令框内运行即可。
2023-07-25 11:18:04
5530
1
原创 (一)认识InfluxDB
通常,关系型数据库会采用B+树数据结构,在数据写入时,有可能会触发叶裂变,从而产生了对磁盘的随机读写,降低写入速度。差别主要是在,权限管理方式不同, 2 .x TICK的集成性比 1 .x好, 1 .x中的database到了 2 .x中变成了bucket等。这样一看,只给一个数据库其实只能完成数据的存储和查询功能,上游的采集和下游的报警都需要自己来实现。到了 2 .x,TICK进一步融合,ICK的功能全部融入了InfluxDB,仅需安装InfluxDB就能得到一个管理页面,而且附带了定时任务和报警功能。
2023-07-25 10:49:19
1116
原创 docker - prometheus+grafana监控与集成到spring boot 服务
docker prometheus grafana springBoot
2023-07-20 11:06:43
1401
原创 修改linux ssh 22 端口
1、找到 sshd 的配置文件,增加一行 Port 32586 ,默认是 22 端口,记得,先不要把 22 端口的这一行删除,或者注释,因为我们要先验证一下,我们修改后的端口是否可以使用,都ok后,再把 22 端口给注释。可以看到如下图,有32586了,我们重新关闭控制端,再次使用 32586 端口登录即可,3、查看 sshd 服务是否正常,如果没有错误信息,那就下一步,如果出现如下图错误,请参考。4、开放防火墙对应端口。
2023-06-06 10:17:17
1990
微信授权登陆全后台实现(springboot)
2019-02-03
基于opencv和mfc的人脸检测
2017-07-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人