自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 收藏
  • 关注

原创 k8s下的发布策略详解

Kubernetes中三种常见的应用发布策略对比:金丝雀发布通过小范围测试(如25%流量)逐步验证新版本,适合核心系统升级;蓝绿发布维护两套环境实现瞬时切换,适合对中断敏感的关键业务;灰度发布可根据用户属性精准控制流量分配,适合用户体验敏感型应用。每种策略在K8s中都有对应的实现方式,如Deployment副本控制、Service选择器切换或Ingress注解配置,运维人员应根据业务场景选择合适方案。

2025-09-12 18:09:42 589

原创 Django的session机制

本文介绍了Django中的Session机制及其实现原理。首先对比了Cookie和Session的区别:Cookie在客户端存储信息,而Session在服务端记录用户状态。Django默认使用Session机制,通过中间件SessionMiddleware生成session对象,支持数据库、缓存、文件和Cookie四种存储方式。文章详细说明了Session的常用操作语法,并重点分析了Session的过期时间设置,包括全局配置选项和过期清理机制。

2025-09-11 16:12:34 507

原创 Django的基础概念与部署

Django是一个高效Python Web框架,遵循DRY原则,简化开发流程。其核心特点包括强大的ORM系统、自动管理后台、灵活URL路由、模板引擎和国际化支持。框架结构明确,包含URL路由(URLs.py)、视图(Views.py)、模型(Models.py)等模块。安装可通过pip或源码方式,创建项目后需配置数据库并运行开发服务器。Django适合快速构建安全、可维护的Web应用,使开发者能专注于业务逻辑而非底层实现。

2025-09-11 15:38:35 262

原创 python-线程池实现

摘要:线程池技术通过复用线程资源减少频繁创建销毁的开销,提升服务器性能。Python提供两种实现方式:ThreadPoolExecutor(简化线程管理,适合批量任务)和threading+Queue(灵活控制,适合复杂任务分发)。前者自动分配任务,后者需手动管理队列和线程。建议根据场景选择:简单任务用ThreadPoolExecutor,复杂场景用threading.Queue或两者结合。(148字)

2025-09-10 16:51:32 769

原创 python-threading.LOCK互斥锁

本文介绍了Python多线程编程中的线程安全问题及解决方法。当多个线程访问共享资源时会出现数据错乱,通过threading.Lock()互斥锁可以确保线程安全。文章展示了使用acquire()/release()方法和with语句两种加锁方式,并分析了死锁现象及其避免方法:按固定顺序获取锁、设置超时时间和减少锁持有范围。这些技术能有效保证多线程程序的正确性和可靠性。

2025-09-10 15:51:14 327

原创 python-线程池

Python多线程编程主要使用threading模块,相比thread模块更安全可靠。threading提供线程创建、同步和通信等功能,包含Thread类、锁机制(Lock/RLock)、条件变量(Condition/Event)等核心组件。通过Thread(target,args)创建线程后需调用start()启动而非run()。示例展示了创建3个线程执行函数并同步等待完成的过程。threading确保子线程退出后主进程才结束,是Python实现多线程的标准方案。

2025-09-09 18:13:23 597

原创 python-subprocess

Python的subprocess模块是执行外部命令的核心工具,提供进程创建、输入输出控制和返回码获取等功能。主要方法包括:subprocess.run()(Python3.5+推荐)用于简单场景,封装了常用功能;subprocess.Popen()则提供更灵活的底层控制,支持实时交互、管道通信等复杂操作。模块还提供异常处理、进程信号管理(terminate/kill)和多种封装函数(call/check_call/check_output)。使用时需注意shell参数的安全风险,以及管道通信可能导致的内存

2025-09-09 16:35:12 842

原创 容器-资源隔离机制

容器的隔离机制是实现 “轻量级虚拟化” 的核心,通过Linux 内核原生技术与容器运行时(如 docker、containerd)的封装,在共享宿主机内核的同时,为每个容器提供独立的资源、网络、文件系统等环境,避免容器间相互干扰。其本质是 “在同一内核中为进程组划定资源与权限边界”,而非像虚拟机那样完全隔离操作系统。

2025-09-08 23:27:40 1388

原创 kubernetes-lxcfs解决资源可见性问题

本文介绍了Docker/Kubernetes环境中容器进程默认显示宿主机资源视图的问题及其解决方案。当容器内应用查看系统资源时(如free、top命令),会显示宿主机而非容器的资源配额,导致JVM等应用错误配置内存、监控失效等问题。通过部署lxcfs工具可解决该问题。

2025-09-08 21:04:17 501

原创 zookeeper-集群扩缩容

Zookeeper运维指南:扩容缩容与故障处理 本文介绍了Zookeeper集群运维的关键操作步骤:1)扩容3.5版本前集群需修改各节点配置并重启;2)缩容只需下线节点并更新配置;3)故障替换分主机名和IP两种处理方式;4)3.5版本后支持通过动态配置文件实现在线重配置,无需重启服务。文章还提供了新旧版本配置示例,帮助运维人员掌握集群扩缩容和故障处理技能。

2025-08-27 19:29:37 300

原创 etcd-基本工作原理及部署

摘要: etcd是一个基于Raft协议的分布式键值存储系统,具有高可用和强一致性特点,广泛应用于Kubernetes等服务编排系统。其架构包含HTTPServer、Store、Raft和WAL四个核心模块,通过内存存储和预写日志(WAL)实现高效数据管理,配合快照机制防止数据过大。Raft算法确保集群一致性,读写请求分别由任意节点和Leader节点处理。部署时需配置三个节点,设置独立数据目录和集群参数,并通过etcdctl验证运行状态。etcd凭借其可靠的数据存储和故障恢复能力,成为分布式系统的关键组件。

2025-08-27 19:07:07 1073

原创 zookeeper-保姆级配置说明

摘要:ZooKeeper配置文件主要包含四类参数:1.基本配置(clientPort、dataDir、tickTime等);2.存储配置(preAllocSize、snapCount等);3.网络配置(maxClientCnxns、session超时等);4.集群配置(initLimit、server.x等)。其中tickTime是核心时间单位,影响心跳检测和超时判断;快照和日志配置影响性能与恢复;网络参数控制连接数和请求处理;集群配置则涉及选举、同步和节点角色。注意观察者节点、leader服务模式等特殊配

2025-08-26 18:39:56 351

原创 zookeeper原理-leader选举及请求处理

本文深入解析ZooKeeper的核心机制:Leader选举和请求处理流程。ZooKeeper集群包含Leader、Follower和Observer三种角色,其中Leader负责事务定序。选举采用投票机制,节点比较ZXID和myid,获多数票者当选,集群节点数建议为奇数以避免脑裂。请求处理方面,只读操作本地执行,写操作由Leader转化为事务并分配ZXID,确保原子性和顺序性。ZXID在选举时用于同步节点状态,保障集群一致性。文章还详细介绍了新建集群和运行中的选举流程。

2025-08-26 17:42:57 619

原创 zookeeper-znode解析

ZooKeeper采用类似文件系统的树形命名空间结构,每个节点(znode)存储数据并维护版本、时间等属性。znode分为四种类型:持久节点(永久存储)、临时节点(会话结束自动删除)及其有序版本(带自增序号)。关键特性包括:1)监视机制(watch)实现变更通知(单次触发需重复注册);2)数据原子性读写;3)版本控制(setData/delete操作需校验版本号)。每个变更会生成全局有序的zxid事务ID,节点状态记录创建/修改时间、子节点版本、数据长度等信息。这些特性使ZK适用于分布式协调服务场景。

2025-08-25 23:49:00 1026

原创 zookeeper基础概念及部署

ZooKeeper是一个分布式协调服务,基于ZAB协议实现,具有高可用和强一致性特性。它采用树形数据模型,节点分为持久/临时、顺序/非顺序四种类型,支持版本控制和Watcher事件通知机制。集群由Leader、Follower和Observer角色组成,通过奇数节点确保选举一致性。部署时需配置动态节点文件,指定各节点ID和通信端口。ZooKeeper广泛应用于分布式系统,提供配置管理、命名服务、分布式锁等功能。

2025-08-25 23:37:30 369

原创 Consul- acl机制!

本文探讨了Consul服务发现工具的ACL安全机制配置与验证。

2025-08-19 23:32:42 304

原创 consul-基础概念

Consul是一个基于Golang开发的开源服务网格解决方案,主要提供五大核心功能:服务发现、健康检查、状态监控、键值存储和多数据中心支持。其架构采用分布式设计,每个节点运行Agent,分为Server和Client两种模式。Server负责数据持久化和集群状态维护,建议每个数据中心部署3-5个Server节点以确保高可用性;Client则负责监控服务和转发请求。Consul支持跨数据中心服务调用,不同数据中心的故障不会相互影响。通过Leader选举机制和节点容错设计,Consul实现了高可靠的服务治理能力

2025-08-19 23:26:15 216

原创 redis-集成prometheus监控(k8s)

实现功能:如何在k8s中部署export并基于prometheus做es的指标采集,并绘制grafana dashboard看版

2025-08-18 21:01:55 426

原创 elasticsearch-集成prometheus监控(k8s)

如何实现:在k8s中部署export并基于prometheus做es的指标采集。并绘制监控看版

2025-08-18 20:48:07 488

原创 redis-保姆级配置详解

protected-mode yes #启用时,如果 Redis 没有绑定特定的 IP 地址(即通过 bind 参数指定),并且没有设置密码(通过 requirepass 参数设置),Redis 将只允许来自本地回环接口(127.0.0.1 和 ::1)的连接。maxmemory-policy noeviction #当 Redis 使用的内存达到或超过 maxmemory 限制时,Redis 会根据配置的内存淘汰策略来决定如何处理新的写入请求。从节点缓冲区超过 256MB 时立即断开。

2025-08-15 23:52:10 565

原创 redis-sentinel基础概念及部署

 Redis Sentinel 是 redis 官方提供的高可用解决方案,主要用于监控 Redis 主从集群,在主节点故障时自动完成故障转移,确保服务持续可用。

2025-08-15 20:56:19 447

原创 elasticsearch冷热数据读写分离!

面对elasticsearch每天存储大量数据且存储时间很长的情况下,比较突出的一个问题是:非常大量的读IO及聚合计算时,很可能会导致后端Load升高,从而阻塞新数据的写入,影响效率。庆幸的是:es提供了一套冷热数据分离的机制。即:将冷数据与热数据通过node隔离;这样,写操作集中在 N 台热数据节点上,大范围的读操作集中在 M 台冷数据节点上。提升检索(消耗cpu及磁盘io)效率的同时,避免了堵塞影响。

2025-08-14 19:23:31 647

原创 nginx-集成prometheus监控(k8s)

本文介绍了Nginx监控的两种方案:1)官方nginx-exporter(社区版指标较少,plus版收费),适合基础监控;2)第三方nginx-vts-exporter,适合生产环境非plus版本。详细说明了两种方案的部署方式,包括Nginx配置、Exporter部署(支持Docker/K8s)以及Prometheus集成步骤。最后提到可通过开源Dashboard与Grafana集成可视化监控数据。

2025-08-14 18:33:28 396

原创 elasticsearch mapping和template解析(自动分词)!

摘要:本文介绍了使用ELK分析Nginx日志时遇到的URL路径分词问题及解决方案。

2025-08-13 23:26:54 1267

原创 elasticsearch基础概念与集群部署

Elasticsearch(ES)是一款基于Lucene的分布式开源搜索引擎,专注于实时全文检索和数据分析。本文介绍了ES的核心概念,包括文档、索引、分片、节点和集群,并详细说明了3节点集群的部署方法。部署步骤包括环境准备、用户配置、证书生成、配置文件修改及服务启动验证。文中还强调了禁用swap、使用SSD存储等性能优化建议。最后提供了运维专家的联系方式以方便技术交流。

2025-08-13 21:20:25 1042

原创 clickhouse基础概念及集群部署

ClickHouse是一款高性能列式存储数据库,专为海量数据实时分析而设计。其核心优势包括:列式存储显著提升查询效率(仅读取所需列)和压缩率;向量执行引擎实现并行处理;支持高吞吐实时写入;提供多种表引擎满足不同场景需求。原生支持分布式部署,适合日志分析、用户行为分析、业务监控和时序数据处理等场景。

2025-08-12 19:37:45 610

原创 nexus-集成prometheus监控指标

摘要:本文介绍了如何基于Prometheus对Nexus进行监控。Nexus自带metrics接口(/service/metrics/prometheus),通过授予nx-metrics-all权限并配置basic_auth后,Prometheus可采集三类指标:Component(核心组件运行状态)、Jetty(Web容器性能)、JVM(内存和GC情况)。文章简要说明了Prometheus配置步骤和Grafana看板绘制方法,为运维人员提供了Nexus监控的实用方案。

2025-08-12 17:32:29 275

原创 nacos-采用prometheus进行监控指标采集

本文介绍了使用Prometheus和Grafana监控Nacos服务的方法。

2025-08-11 16:08:04 380

原创 nacos集群部署

Nacos是阿里巴巴开源的微服务管理平台,集服务发现、配置管理和健康检查于一体。其核心功能包括:服务注册与发现、动态配置更新和服务健康监测。本文详细介绍了Nacos的集群部署方案,包括节点规划、MySQL数据库配置、环境依赖安装(JDK1.8+、Maven)以及集群配置文件修改等关键步骤,并提供了服务启动和状态检查方法。最后建议使用Nginx或云LB进行代理,为微服务架构提供高可用支持。

2025-08-11 15:02:34 444

原创 jenkins-提交gitlab代码自动触发构建

一套完善的CI/CD体系,在提高效率,便捷度方面,自动构建也是很重要的。这里通过jenkins实现。

2025-08-09 22:14:03 261

原创 jenkins-飞书通知机制

触发构建和结束后,自动触发到飞书工作群,发布同学只需要关注消息即可,而无需人工盯梢。 

2025-08-09 16:10:52 400

原创 kafka-关于ISR-概述

ISR 是指与 Leader 副本保持同步的 Follower 副本集合。ISR 机制的核心是确保数据在多个副本之间的一致性和可靠性,同时在 Leader 副本出现故障时能够快速进行故障转移,保证服务的可用性。

2025-02-27 21:46:22 1261

原创 kafka-web管理工具cmak

 日常运维工作中,采用cli的方式进行kafka集群的管理,还是比较繁琐的(指令复杂?)。为方便管理,可以选择一些开源的webui工具。 推荐使用cmak。 

2025-02-27 17:33:16 678

原创 kafka-新增topic副本数

 在 Kafka 中增加主题(Topic)的副本数可以提高数据的可靠性和容错能力。

2025-02-26 16:23:51 896

原创 kafka-leader -1问题解决

在 Kafka 中,leader -1 通常表示分区的领导者副本尚未被选举出来,或者在获取领导者信息时出现了问题。

2025-02-26 10:40:32 869

原创 kafka-集群缩容

一个 broker 下线,它上面的所有 partition 都会处于副本不足的状态,并且 Kafka 集群不会在其它的 broker 上生成这些副本,因此,在将一个 broker 从集群中移除之前,需要将这个 broker 上的 partition 副本都转移到最终会保留的 10 台机器上,怎么实现这个呢?在重分区过程中,很耗节点资源的(cpu,内存,IO),所以如果数据量大,需要按批次进行多次操作。可以看到 broker list,broker id 分别为 141,142,145,146 ....

2025-02-21 15:15:58 1093

原创 kafka-集群扩容

随着业务增加,我们会面临这kafka当性能问题,需要进行集群扩容,增加broker节点。

2025-02-20 17:02:39 903

原创 kafka-保姆级配置说明(producer)

kafka-保姆级配置说明(producer)

2025-02-20 16:10:55 729

原创 jenkins-获取当前时间戳

jenkins-获取当前时间戳

2025-02-12 15:13:03 611

原创 kafka-保姆级配置说明(consumer)

kafka consumer配置说明

2025-01-25 22:54:39 1127

java6源码包,特殊情况下(如arm)部署迁移很老服务场景

特殊情况下(如arm)部署迁移很老服务场景,官方不提供arm系统,此时就需要编译安装。

2024-12-30

AirSLAM是一种高效的视觉SLAM系统,旨在应对短期和长期的照明挑战 使用C++和NVIDIA TensorRT部署和加速特征检测和匹配网络

AirSLAM具有双模式(V-SLAM和VI-SLAM),由AirVO(IROS23)升级而来。 AirSLAM是一种高效的视觉SLAM系统,旨在应对短期和长期的照明挑战。我们的系统采用了一种混合方法,将用于特征检测和匹配的深度学习技术与传统的后端优化方法相结合。具体而言,我们提出了一种同时提取关键点和结构线的统一卷积神经网络(CNN)。然后,这些特征以耦合的方式进行关联、匹配、三角化和优化。此外,我们引入了一个轻量级的重新定位管道,该管道重用构建的映射,其中关键点、线条和结构图用于将查询帧与映射相匹配。为了增强所提出的系统对现实世界机器人的适用性,我们使用C++和NVIDIA TensorRT部署和加速特征检测和匹配网络。在各种数据集上进行的广泛实验表明,我们的系统在照明挑战环境中优于其他最先进的视觉SLAM系统。效率评估表明,我们的系统在PC上可以以73Hz的速率运行,在嵌入式平台上可以以40Hz的速度运行。

2024-12-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除