gmHappy
从不敢夜郎自大,但也不至于妄自菲薄,只是想做一个靠本事吃饭的手艺人
展开
-
Linux 通过监控系统内存并定时重启指定服务
利用 Shell 脚本监控 Linux 系统的内存并对指定服务状态进行监控,并再指定时间实现服务重启。原创 2023-01-16 14:47:21 · 760 阅读 · 0 评论 -
SpringBoot集成RocketMQ事务消息
`RocketMQ` 事务消息(`Transactional Message`)是指***应用本地事务***和***发送消息操作***可以被***定义到全局事务***中,要么同时成功,要么同时失败。`RocketMQ` 的事务消息提供类似 `X/Open XA` 的分布事务功能,通过事务消息能达到分布式事务的最终一致。原创 2023-01-12 16:03:42 · 1392 阅读 · 0 评论 -
MySQL 8 公用表表达式(CTE)—— WITH关键字深入用法
公用表表达式(CTE)是一个命名的临时结果集,它,可以在该语句中引用,可能多次。对于逻辑复杂的SQL,可以大大减少临时表的数量,提升代码的可读性、可维护性。原创 2023-01-05 14:08:21 · 518 阅读 · 0 评论 -
Java并发编程(二)—— CompletableFuture 超详细教程
Java并发编程—— CompletableFuture 超详细教程(源码分析)原创 2022-12-18 15:00:37 · 791 阅读 · 0 评论 -
Java并发编程(一)—— FutureTask超详细教程
Java并发编程—— FutureTask超详细教程(源码分析)原创 2022-12-17 15:36:51 · 451 阅读 · 0 评论 -
python基于pygame实现跨年烟花效果
- 随机生成一定数量的烟花- 绘制烟花渐渐上升轨迹- 实现烟花爆炸散开效果- 实现背景图展示- 实现背景音乐的播放- 实现不同按键对烟花数量的控制原创 2022-12-16 10:24:11 · 1062 阅读 · 0 评论 -
Java 线程池 ForkJoinPool(二)—— 具体应用示例
`ForkJoinPool`的本质就是两点: - 如果任务很小:直接计算得出结果 - 如果任务很大: - 拆分成N个子任务 - 调用子任务的`fork()`进行计算 - 调用子任务的`join()`合并结果原创 2022-12-15 15:36:01 · 484 阅读 · 0 评论 -
Java 线程池 ForkJoinPool(一)
线程管理器(ThreadPool):用于创建并管理线程池,包括创建线程池,销毁线程池,添加新任务。工作线程(PoolWorker):线程池中的线程,在没有任务时处于等待状态,可以循环的执行任务;任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行,它注意规定了任务的入口,任务执行完后的收尾工作,任务的执行状态等;任务队列(taskQueue):用于存放没有处理的任务,提供一种缓冲机制。原创 2022-12-14 17:25:22 · 764 阅读 · 0 评论 -
python基于flask搭建http服务(四)—— Docker容器化部署
flask构建docker镜像部署应用原创 2022-12-11 16:28:06 · 349 阅读 · 0 评论 -
python基于flask搭建http服务(二)—— 实现Excel上传、数据清洗、入库
- 利用`flask` 搭建简易的`http`服务,实现服务端文件上传;- 利用`Blueprint`将不同业务拆分至不同文件;- 利用`bootstrap-fileinput`组件构建页面;- 利用`flask_cors`配置允许跨域请求;- 利用`sqlalchemy`实现数据库连接;- 利用`pandas`实现`Excel`读取、清洗、入库;原创 2022-12-11 11:06:43 · 1283 阅读 · 0 评论 -
利用apache flink 消费rocketmq的消息(三)—— 自定义周期水印,解决最后一个窗口因为缺少数据到达不触发问题
为了使用事件时间语义,Flink应用程序需要知道事件时间戳对应的字段,意味着数据流中的每个元素都需要拥有可分配的事件时间戳。其通常通过使用从元素中的某个字段去访问/提取时间戳。时间戳的分配与watermark的生成是齐头并进的,其可以告诉Flink应用程序事件时间的进度。其可以通过指定来配置watermark的生成方式。使用Flink API时需要设置一个同时包含和的。工具类中也提供了许多常用的watermark策略,并且用户也可以在某些必要场景下构建自己的watermark策略。/**原创 2022-12-08 17:37:46 · 1689 阅读 · 0 评论 -
内网穿透代理服务器nps使用初探(三)微信小程序内网穿透
内网网站(内网机器`192.168.1.113`上部署的`Web`服务,因微信小程序开发需要采用`https`协议,`https`端口为`8070`),想通过外网`39.97.238.139`(给定域名如:https://proxy.***.com/)的`8070`端口进行内网网站访问。**`NPS`这里有几个点需要注意**:- 域名解析不能配置端口号,且只能解析到你配置好的`http`端口和`https`端口。- 只要在内网机器上做好了`https`,可以直接用`TCP`,很方便。原创 2022-12-07 15:28:46 · 2472 阅读 · 1 评论 -
内网穿透代理服务器nps使用初探(二)http正向代理及socks5代理
http正向代理适用范围: 在外网环境下使用`http`正向代理访问内网站点假设场景: 想将公网服务器`39.97.238.139`的`8001`端口作为`http`代理,访问内网网站(内网机器`172.17.247.74`上部署的`Web`服务)socks5代理适用范围: 在外网环境下如同使用`vpn`一样访问内网设备或者资源假设场景: 想将公网服务器`39.97.238.139`的`8002`端口作为`socks5`代理,达到访问内网任意设备或者资源的效果原创 2022-12-07 14:29:42 · 1500 阅读 · 0 评论 -
内网穿透代理服务器nps使用初探(一)
是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持、流量转发,可支持任何、上层协议(访问内网网站、本地支付接口调试、访问、远程桌面,内网解析等等……),此外还支持内网代理、内网代理、等,并带有功能强大的管理端。且全平台兼容,一键注册为服务。访问地址:https://github.com/ehang-io/nps/官方文档访问地址:https://ehang-io.github.io/nps/#/使用背景下载conf文件夹并解压,或前往项目主页自行下载继续阅读官方文档修改配置文件启动:客户端下载原创 2022-12-06 17:49:21 · 771 阅读 · 0 评论 -
python基于flask搭建http服务(三)—— 使用gunicorn部署项目
`gunicorn`-绿色独角兽,是一个 `Python` 的 `WSGI HTTP` 服务器。它所在的位置通常是在反向代理(如 `Nginx`)和一个 `web` 应用(如`Flask`)之间。它是一个移植自`Ruby`的`Unicorn`项目的`pre-fork worker`模型,即支持`eventlet`也支持`greenlet`。 `Gunicorn`启动项目之后会有一个主进程`Master`和一个或者多个工作进程。工作进程的数量可以指定,工作进程是实际处理请求的进程,主进程维护服务器的运行。原创 2022-12-05 16:50:13 · 622 阅读 · 0 评论 -
python基于flask搭建http服务(一)—— 实现数据查询和Excel导出
- 利用`flask` 搭建简易的`http`服务;- 利用`flask_cors`配置允许跨域请求;- 利用`pymysql`实现数据库查询;- 利用`sqlalchemy`实现数据库查询;- 利用`xlwt`实现`Excel`生成(带样式)与导出;- 利用`pandas`实现`Excel`生成与导出;原创 2022-12-04 16:43:23 · 1138 阅读 · 0 评论 -
Kettle BIGNUMBER & TIMESTAMP 类型格式处理
`Kettle`默认的格式化处理对`BIGNUMBER`列 ,把`0` 会强行写成`0.0`;对`TIMESTAMP`列强行写成如`2021/12/31 16:51:55.000000000`格式。从而引起不必要错误。原创 2022-12-04 10:01:13 · 903 阅读 · 0 评论 -
Linux 下进行服务器间网络测速
iperf 的工作时需要指定Server模式或Client模式,通过不同的参数来区别(-s和-c)。iperf所支持的功能也都通过设置不同的参数来实现。iperf的参数分为 3 类:通用参数,Server 端参数,Client 端参数,通用参数为 Server 端和 Client 端都可以使用的参数。以下是iperf支持的所有参数:-p, --port #,Server 端监听、Client 端连接的端口号;-f,原创 2022-10-10 13:22:47 · 1563 阅读 · 0 评论 -
利用apache flink 消费rocketmq的消息(二)—— 时间窗口
flink时间窗口原创 2022-10-07 17:44:08 · 1094 阅读 · 0 评论 -
利用apache flink 消费rocketmq的消息(一)
利用apache flink 消费rocketmq的消息原创 2022-10-04 17:28:12 · 1360 阅读 · 1 评论 -
部署Apache Flink伪集群
为了运行Flink,只需提前安装好Java 11。你可以通过以下命令来检查 Java 是否已经安装正确。原创 2022-10-04 15:17:45 · 953 阅读 · 0 评论 -
基于docker-compse 部署rocketmq
【代码】基于docker-compse 部署rocketmq。原创 2022-10-04 13:41:56 · 302 阅读 · 0 评论 -
shell 监听指定日志变化进行相关业务处理
【代码】shell 监听指定日志变化进行相关业务处理。原创 2022-09-14 16:59:29 · 519 阅读 · 0 评论 -
TDengine 常见问题汇总
TDengine 是一款高性能、分布式、支持 SQL 的时序数据库 (Database),其核心代码,包括集群功能全部开源(开源协议,AGPL v3.0)。TDengine 能被广泛运用于物联网、工业互联网、车联网、IT 运维、金融等领域。除核心的时序数据库 (Database) 功能外,TDengine 还提供缓存、数据订阅、流式计算等大数据平台所需要的系列功能,最大程度减少研发和运维的复杂度。...原创 2022-08-12 10:15:48 · 1055 阅读 · 0 评论 -
nginx 配置https(一)—— 自签名证书
nginx自签名证书制作原创 2022-06-14 15:52:38 · 1473 阅读 · 1 评论 -
利用docker-compose搭建redis5集群
一、安装Docker Compose1.1 下载docker-composecurl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose1.2 设置权限chmod +x /usr/local/bin/docker-compose1.3 检测是否安装成功docker-compo原创 2022-05-25 11:30:33 · 351 阅读 · 0 评论 -
K8S安装笔记(二)—— 多公网服务器搭建集群
目标:基于以下两台公网云服务器搭建`k8s v1.23.0`集群。原创 2022-05-18 15:34:19 · 37096 阅读 · 0 评论 -
nginx + etcd 动态负载均衡实践(四)—— 基于confd实现
一、前言各组件介绍及安装请转阅:nginx + etcd 动态负载均衡实践(一)—— 组件介绍nginx + etcd 动态负载均衡实践(二)—— 组件安装二、启动测试服务测试服务基于docker启动docker run -itd -p 8001:80 --name whoami1 traefik/whoamidocker run -itd -p 8002:80 --name whoami2 traefik/whoami访问实例1访问实例2三、配置nginx的配置资源whoa原创 2022-04-06 16:19:16 · 3106 阅读 · 0 评论 -
nginx + etcd 动态负载均衡实践(三)—— 基于nginx-upsync-module实现
一、前言各组件介绍及安装请转阅:nginx + etcd 动态负载均衡实践(一)—— 组件介绍nginx + etcd 动态负载均衡实践(二)—— 组件安装二、下载upsync 模块mkdir -p /root/nginx-etcd-confdcd /root/nginx-etcd-confdgit clone https://github.com/weibocom/nginx-upsync-module.git三、编译安装nginx下载:cd /root/nginx-etcd-con原创 2022-04-06 11:55:21 · 2741 阅读 · 0 评论 -
nginx + etcd 动态负载均衡实践(二)—— 组件安装
一、前言各组件介绍请转阅:nginx + etcd 动态负载均衡实践(一)—— 组件介绍二、ETCD部署三、CONFD部署四、ETCD + CONFD 集成验证五、常见问题原创 2022-03-31 10:05:03 · 3870 阅读 · 0 评论 -
nginx + etcd 动态负载均衡实践(一)—— 组件介绍
一、概述当系统变的复杂,配置项越来越多,一方面配置管理变得繁琐,另一方面配置修改后需要重新上线同样十分痛苦。这时候,需要有一套集中化配置管理系统,一方面提供统一的配置管理,另一方面提供配置变更的自动下发,及时生效。说到统一配置管理系统,大家应该比较熟悉,常见的:zookeeper、etcd、consul、git、nacos等。上述的集中配置中心使用的时候,部署图大致是这样的。MyServer端只需要调用config-server获取对应配置,和监听配置变更就可以了,总体来说没有太大难度。接下来要原创 2022-03-28 14:27:27 · 5387 阅读 · 0 评论 -
常用Tomcat服务可用性检测检测脚本
tomcat容器运行命令:docker run -itd --name tomcat -p 8888:8080 -v /root/tomcat/conf:/usr/local/tomcat/conf -v /root/tomcat/logs:/usr/local/tomcat/logs -v /root/tomcat/webapps:/usr/local/tomcat/webapps -v /root/tomcat/heapdump:/usr/local/tomcat/heapdump -v /root/原创 2022-03-02 14:08:43 · 776 阅读 · 0 评论 -
Docker 部署 tomcat 官方镜像相关问题解决及优化
一、默认首页4041.1 问题描述启动 Tomcat 容器后,访问 8080 默认首页,提示4041.2 原因默认 Tomcat 容器里面首页信息为空,需要手动添加。1.3 解决方案 [root@s0 ~]# docker exec -it tomcat /bin/bashroot@9b1edf7dd86c:/usr/local/tomcat# lsBUILDING.txt LICENSE README.md RUNNING.txt conf logs temp原创 2022-02-26 15:01:41 · 610 阅读 · 0 评论 -
利用ELK 搭建日志分析系统(六)—— 通过nginx设置kibana代理
一、需求希望通过nginx指定前缀进行kibana反向代理。二、kibana设置编辑kibana.yml文件,新增以下内容:server.basePath: "/kibana"三、nginx配置在nginx的配置文件中新增以下内容:location /kibana/ { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $rem原创 2022-02-18 10:14:04 · 1699 阅读 · 0 评论 -
nginx-vts + prometheus 监控nginx
一、前言基于docker方式部署由于yum安装的nginx,默认是没有nginx-module-vts模块。需要下载nginx源码和对应的nginx-module-vts模块,进行重新编译。为了快速演示,选择dockerhub已经有镜像https://hub.docker.com/r/vivin89/nginx-vts容器列表:prometheus,grafana,nginx-vts,nginx-vts-exporter二、nginx-vtsnginx的监控模块,能够提供json、html原创 2022-02-17 14:58:20 · 1857 阅读 · 0 评论 -
CentOS7 搭建NTP服务
一、主机环境IP角色192.168.3.125ntp服务端192.168.3.127ntp客户端二、服务端配置在192.168.3.125上进行相关配置2.1 首先安装检查服务器是否安装了ntp、ntpdate[root@node01 ~]# rpm -qa | grep ntpntp-4.2.6p5-29.el7.centos.2.x86_64ntpdate-4.2.6p5-29.el7.centos.2.x86_64fontpackages-file原创 2022-02-16 15:44:18 · 1319 阅读 · 0 评论 -
Maven 解决 maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories 问题
一、问题描述在Jenkins中利用Jenkinsfile进行流水线项目构建pipeline { agent { docker { image 'maven:3.8.4-jdk-8' args '-v /root/.m2:/root/.m2 -v /root/.m2/mymvn/settings.xml:/usr/share/maven/ref/settings.xml' } } stages {原创 2022-02-15 08:42:33 · 5712 阅读 · 0 评论 -
解决 Docker 内服务pid=1导致jvm分析命令不能使用问题
一、问题描述通过Docker部署Java服务,执行 jsp 命令发现其pid 为 1,通过jmap -histo 1出现以下异常:1: Unable to get pid of LinuxThreads manager thread二、解决方案网上查询得知pid:1-5为Linux的特殊进程。pid=1 :init进程,系统启动的第一个用户级进程,是所有其它进程的父进程,引导用户空间服务。pid=2 :kthreadd:用于内核线程管理。pid=3 :migration,用于进原创 2022-01-25 15:46:29 · 3124 阅读 · 0 评论 -
HttpServletRequest 通过反射添加 Header
HttpServletRequest 通过反射添加 Headerprivate void reflectSetHeader(HttpServletRequest request, String key, String value){ Class<? extends HttpServletRequest> requestClass = request.getClass(); try { Field requestField = requestClass.getDe原创 2022-01-24 10:27:08 · 1859 阅读 · 0 评论 -
mysql 实现主从复制/主从同步
一、前言本文基于Docker进行mysql数据库搭建。二、数据库安装2.1 启动主库 mysql-masterdocker run -p 3305:3306 --name mysql-master -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7--name 为容器指定名称,这里是mysql-master-p 将容器的指定端口映射到主机的指定端口,这里是将容器的3306端口映射到主机的3305端口-e 设置环境变量,这里是指定root账号的密码为原创 2022-01-20 10:15:52 · 1304 阅读 · 0 评论