项目实战
文章平均质量分 89
一些实战的小项目
南宫乘风
当你的才华撑不起你的野心时,只有静下心学习才是唯一的出路
展开
-
处理.git文件夹过大出现臃肿问题
项目名称代码托管平台: GitLab主要分支清理工具通过这次清理,我们成功地从 xxxx_adc_backend 项目中移除了不必要的大文件,不仅减轻了代码库的负担,还提高了代码管理的效率。BFG Repo-Cleaner 以其高效和稳定性,成为了我们清理 Git 历史大文件的首选工具。原创 2024-07-18 11:53:39 · 856 阅读 · 0 评论 -
使用Nginx OpenResty与Redis实现高效IP黑白名单管理
OpenResty是一个基于Nginx的全功能Web平台,它集成了一系列精心设计的Lua库、第三方模块和一个基于LuaJIT的轻量级Web框架。OpenResty的核心是Nginx,但它通过Lua语言扩展了Nginx的功能,使其能够构建能够处理超高并发的动态Web应用。白名单是一种安全策略,用于定义一组被信任的IP地址或实体,它们被允许访问特定的资源或服务。安全性增强:限制访问权限,仅允许特定的IP地址访问敏感资源。防止滥用:减少恶意用户或爬虫对服务的滥用。流量管理。原创 2024-07-15 16:47:03 · 910 阅读 · 0 评论 -
生产环境OpenLDAP主从集群
需要注意的是认证用户一定要使用超级管理员,如果使用普通用户连接master的话,slave将不会同步用户的密码字段信息。对于slave节点,也参照前述章节安装并配置,但只到执行ldapdomain.ldif文件后就行。通过上图,我们可以很明显的看到slave机器上slapd服务没有报错,而且已经在同步相关openldap数据。slave机器上配置完毕后,无需重启master机器和slave机器的slapd服务。1、在master节点上修改用户字段信息,slave节点上应能同步到修改信息。原创 2024-06-20 17:00:04 · 752 阅读 · 0 评论 -
Go开发Prometheus客户端实战步骤
为了满足业务逻辑相关的监控需求,尽管 Prometheus 官方提供了一系列标准的 Exporter(如 node_exporter 和 snmp_exporter),但它们在特定业务指标的监控上存在局限性。因此,我们决定使用 Go 语言(Golang)编写一个专为业务定制的 Prometheus Exporter,以实现对特定业务指标的精准监控。选择 Go 语言的原因如下:并发友好:Go 语言天然支持高并发,适合编写高性能的网络服务。成熟的 Prometheus 客户端库:官方提供了完善的 Pr原创 2024-05-29 18:10:56 · 1426 阅读 · 2 评论 -
MongoDB数据库(10亿条数据)清理策略: 自动化过期数据删除实战
根据公司业务发展积累,在众多应用场景中,如日志记录、临时缓存、会话管理等,数据往往具有时效性,超过一定时间后便不再有用。如果不及时清理,这些过期数据会占用大量存储空间,增加数据库维护成本,甚至影响查询效率。本文将深入探讨一种自动化清理MongoDB中过期数据的策略,并通过一个实际的Python脚本示例,展示如何实现这一功能。原创 2024-05-27 16:05:30 · 1235 阅读 · 0 评论 -
自动化重置数据库功能的探索与实践
在现代软件开发中,尤其是涉及到数据驱动的应用程序时,开发和测试环境中数据库的管理是至关重要的一环。为了确保开发和测试环境中的数据库始终处于一致的状态,自动化重置数据库成为了一种常见的实践。本文旨在介绍如何通过Shell脚本来自动化重置MySQL数据库,以便开发团队能够轻松地在每次测试或开发新功能前将数据库恢复到一个已知的初始状态。原创 2024-05-24 14:37:11 · 342 阅读 · 0 评论 -
生产环境 OpenLDAP 部署流程
一个目录,除了支持基本的查找和更新功能外,是一个特别设计用来搜索和浏览的专门的数据库。目录倾向于包含描述性的、基于属性的信息,并支持精细的过滤能力。目录通常不支持复杂的事务和回滚机制,这与关系数据库不一样。原创 2024-05-16 15:44:43 · 899 阅读 · 0 评论 -
Python实现“黑猫投诉平台,舆论监控系统”
"黑猫投诉"舆论监控系统是一款专为快速识别和响应网络投诉而设计的应用,旨在帮助企业或机构第一时间掌握公众意见和反馈。通过实时监控网站及其他在线平台,系统能够迅速侦测到关于品牌或服务的负面评论、投诉或提议。原创 2024-04-24 22:31:16 · 608 阅读 · 1 评论 -
ELK日志收集和备份填坑实战 (滞后8个小时等时区问题)
数据写入时间不一致、数据滞后8小时等时区问题的本质是:各个处理端时区不一致,写入源的时区、Kibana默认是本地时区(如中国为:东8区时区),而 logstash、Elasticsearch 是UTC时区。原创 2024-04-15 11:39:49 · 1051 阅读 · 0 评论 -
Ingress配置优化和追踪
在传统的业务系统中,应用微服务化后,需要一个统一的入口来将各个服务进行整合,这个入口可以是Nginx、Apache、HAproxy等等。而在K8s中,同样需要一个工具来将应用的各个service整合到统一的入口,这个工具就叫Ingress控制器,Ingress的中文翻译即为“入口”。它是由Kubernetes社区基于Nginx Web服务器开发的,并补充了一组用于实现额外功能的Lua插件,作为“官方”默认控制器支持当然最优。Github说明文档。原创 2024-04-11 18:30:08 · 775 阅读 · 0 评论 -
Nginx日志格式化和追踪
Nginx默认日志格式包含多个字段,每个字段都提供了有用的信息来帮助分析服务器行为。: 客户端的IP地址: 客户端用户的名称: 访问时间与时区$request: 完整的HTTP请求行,包括请求方法、URI和协议$status: 服务器响应的HTTP状态码: 发送给客户端的字节数,不包括响应头的大小: 客户端发送的HTTP Referer头部信息: 客户端发送的User-Agent头部信息这些字段的组合可以提供全面的请求和响应信息,有助于分析用户行为和服务器性能。原创 2024-04-10 17:25:30 · 1262 阅读 · 0 评论 -
MongoDB快照(LVM)业务场景应用实战
MongoDB的重要性:MongoDB支持的灵活的文档模型,使其成为处理大量分散数据的理想选择,特别是在需要快速迭代和频繁更改数据结构的应用中。LVM(逻辑卷管理)快照技术基本概念:LVM允许在不停止数据库服务的情况下,创建数据在某一时间点的快照。这意味着可以在不影响数据库性能和用户体验的情况下进行备份。MongoDB数据库的备份和恢复是确保数据安全和业务连续性的重要环节。通过使用LVM快照作为备份策略,我们能够快速备份MongoDB数据,最小化停机时间,并以高效的方式恢复数据。原创 2024-04-08 16:16:38 · 1037 阅读 · 0 评论 -
限制速度,释放潜力:Python中的ratelimit库解密
速率限制是一种限制某个操作或功能的调用频率的方法。它可以防止恶意用户或程序对系统造成过大的负载或滥用系统资源。速率限制通常通过设置每秒或每分钟允许的最大请求数来实现。ratelimit是一个Python库,它提供了速率限制的功能。它基于令牌桶算法,允许您以简洁而灵活的方式对函数或方法进行速率限制。原创 2023-07-04 11:04:27 · 1450 阅读 · 1 评论 -
GitPySearch: 全局Python代码搜索工具
搜索效率高:该工具通过使用GitLab的API接口进行搜索,避免了手动在每个项目中进行搜索的繁琐过程。它能够快速扫描多个项目,从而节省了大量的时间和精力。全面性:该工具可以在GitLab上进行全局搜索,即同时搜索所有项目,而不仅仅局限于单个项目。这样可以确保没有遗漏任何一个项目,提高了搜索的全面性和准确性。多线程支持:工具采用了多线程的并发处理方式,可以同时处理多个项目的搜索请求,提高了搜索效率。这意味着可以快速地并发搜索大量的项目,更快地找到符合条件的代码片段。原创 2023-06-21 18:41:14 · 2259 阅读 · 2 评论 -
提高错误日志处理效率!使用Python和钉钉机器人实现自动告警聚合
本博客,为我们构建了一个完整的应用日志监控和告警系统,通过ELK技术栈和钉钉机器人的结合,使得我们能够及时发现和处理应用中的错误,提高了团队的工作效率和系统的稳定性。原创 2023-06-17 18:26:30 · 1936 阅读 · 0 评论 -
实现无间断的自动化:Jenkins与GitLab的定时任务工作流程
Jenkins是一个流行的开源自动化服务器,而GitLab是一个强大的代码托管和协作平台。通过结合Jenkins和GitLab,我们可以建立一个强大的定时任务自动化工作流程,实现代码拉取、构建、测试和部署的自动化。本篇博客将介绍如何使用Jenkins与GitLab相结合,构建一个完整的定时任务自动化流程。原创 2023-06-12 11:20:03 · 1907 阅读 · 0 评论 -
Flask轻松构建钉钉接口模版,实现自动化流程优化
本博客将介绍如何使用Flask框架开发钉钉接口模版。通过本篇博客的学习,您将能够实现企业自定义机器人(Custom Bot)的基本功能,包括接收和发送消息,回复消息模版等。同时,我们也会提供完整的代码和相关技术文档,方便您在实际工作中快速实现自己的钉钉接口需求。原创 2023-05-13 21:07:25 · 1166 阅读 · 0 评论 -
Python批量导出阿里云ECS和Redis实例的监控数据到Excel
某公司使用阿里云的 ECS 和 Redis 服务作为其业务支撑,为了及时了解机器的使用情况,领导要求业务部门对所有阿里云机器的平均资源使用率进行统计,并汇总在一个 Excel 表格中,以便领导查看和分析。原创 2023-04-12 10:53:54 · 940 阅读 · 0 评论 -
SpringBoot集成Apollo和自动注册Consul
阿波罗是携程开源的分布式配置中心,支持多种编程语言和框架。它提供了一套完整的配置管理解决方案,可以帮助开发者实现配置管理、版本控制、灰度发布等功能。Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于 Spring Boot 和 Spring Cloud 开发,打包后可以直接运行,不需要额外安装 Tomcat 等应用容器。原创 2023-03-27 10:18:30 · 1979 阅读 · 0 评论 -
使用Spring Boot和Consul实现高可用的服务注册与发现
Consul是一种服务发现和配置工具,它可以管理和发现服务,还提供了一些高级功能,例如健康检查、负载均衡、故障转移等。使用Spring Boot和Consul的组合实现服务注册和发现可以提高系统的可靠性和可扩展性,同时也可以提高开发效率和用户体验。因此,预计该技术组合在未来会得到更广泛的应用。同时,Consul提供了集成式的服务发现和配置,可以使得服务注册和调用变得更加简单。负载均衡:Consul可以根据服务的负载情况进行负载均衡,确保请求可以平均分布到不同的提供者上,从而提高整个系统的性能和可靠性。原创 2023-03-16 16:12:05 · 1286 阅读 · 1 评论 -
SpringBoot(微服务)注册分布式Consul
Spring Boot应用可以通过向Consul注册自身来实现服务发现和治理,使得其他服务可以在Consul中发现并调用它。一篇文章了解Consul服务发现实现原理原创 2023-03-15 19:28:27 · 2506 阅读 · 1 评论 -
Elasticsearch快照备份
快照是增量的,可以包含在多个ES版本中创建的索引。如果在一个快照中的任何索引时在不兼容的ES版本中创建的,你将不能恢复该快照。在升级前备份数据的时候,如果快照中的索引是在与你升级版本不兼容的ES版本中创建的,那么这些快照将不能被恢复。如果你的情况是需要恢复一个与你当前运行的集群版本不兼容的索引快照,你可以先恢复到最新的兼容版本中,然后在当前版本中使用 reindex-from-remote 重建索引。远程Reindexing只能在源索引source为enabled的情况下进行。原创 2022-11-13 09:22:34 · 2289 阅读 · 0 评论 -
GitLab集成gitlab-runner
GitLab Runner是一个开源项目,用于运行您的作业并将结果发送回GitLab。它与GitLab CI结合使用,GitLab CI是GitLab随附的用于协调作业的开源持续集成服务。。原创 2022-10-31 10:18:30 · 2151 阅读 · 0 评论 -
集群服务器的网络连接状态接入ELK(可视化操作)
Rsyslog同步集群服务器的网络连接状态上篇文件,主要是把集群服务器状态同步到一台机器上,然后通过grep,awk 什么的比较方便。但是考虑到更简单,方便的操作,那就是接入elk日志管理平台来来,大致思路很简单(1)有个完成的elk集群(2)使用filebeat收集汇总的tcp.log(只要一个filebeat就可以)(3)把filebeat数据发送到logstash中,进行日志切割转换(靠,正则很难受)(4)把logstash的数据存储到es(5)kibana展示es中的..原创 2021-11-22 15:36:12 · 1415 阅读 · 0 评论 -
当MySQL主从数据不一致,怎么解决???(2)
当MySQL主从数据不一致,怎么解决???上面是采用mysqldbcompare工具,对比数据库的信息是否一致。percona-toolkitpercona-toolkit官网:https://www.percona.com/doc/percona-toolkit/LATEST/installation.html我们可以使用percona-toolkit工具做校验,而该工具包含1. pt-table-checksum 负责检测MySQL主从数据一致性2. pt-table-sync负原创 2021-01-18 12:33:38 · 386 阅读 · 0 评论 -
当MySQL主从数据不一致,怎么解决???
当MySQL主从数据不一致,怎么解决??? 在使用mysql replication时,有时候会担心,如果主库和备库的数据不一致,怎么办?以前是重新停掉从库,重新做主从,但是耗费时间太多 最近找到了一个mysql的工具,mysqldbcompare,可以实现对多库数据的对比。 下面MySQL主从原理一、主从复制MySQL数据库复制操作大致可以分成三个步骤:1. 主服务器将数据的改变记录到二进制日志(binary log)中。2. 从服务器将主服务器的binary log原创 2021-01-17 23:46:12 · 960 阅读 · 0 评论