运维工程师面试题总结-Zabbix分布式拓展Prometheus监控&消息队列RabbitMQ与微服务Dubbo、 Maven、Nexus18-19

简介: 个人学习

1.监控能做什么

硬件、软件、意外故障、关键事件、监控系统、趋势数据、报警灯

2.自动发现

通过制定需要扫描的IP范围及时间间隔,使用规定的检查方法(端口/agent/system.uname)进行自动发现,需要注意,自动发现含有VIP的主机,可能会产生重复添加,按需处理

3.Prometheus的局限

Prometheus是基于Metric的监控,不适用于日志(Logs)、事件(Event)、调用链(Tracing)。

Prometheus默认是Pull模型,合理规划你的网络,尽量不要转发。

对于集群化和水平扩展,官方和社区都没有银弹,需要合理选择Federate、Cortex、Thanos等方案。

监控系统一般情况下可用性大于一致性,容忍部分副本数据丢失,保证查询请求成功。这个后面说Thanos去重的时候会提到。

Prometheus不一定保证数据准确,这里的不准确一是指rate、histogram_quantile等函数会做统计和推断,产生一些反直觉的结果,这个后面会详细展开。二来查询范围过长要做降采样,势必会造成数据精度丢失,不过这是时序数据的特点,也是不同于日志系统的地方。

1.为什么使用消息队列

异步:批量数据异步处理(批量上传文件)

削峰:高负载任务负载均衡(电商秒杀抢购)

解耦:串行任务并行化(退货流程解耦)

广播:基于Pub/Sub实现一对多通信蓄流压测(线上有些链路不好压测,可以通过堆积一定量消息再放开来压测)

2.RabbitMQ集群部署

普通模式:创建好RabbitMQ集群之后的默认模式。

镜像模式:把需要的队列做成镜像队列。

3.如何查看RabbitMQ的集群状态

rabbitmqctl      cluster_status

4.ZooKeeper使用场景

ZooKeeper是一个分布式服务框架,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:命名服务、状态同步、配置中心、集群管理等。

5.kafka优势

通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。

高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。

支持通过Kafka服务器分区消息。

支持Hadoop并行数据加载

6.kafka存在几种角色

Broker:Kafka集群包含一个或多个服务器,这种服务器被称为broker

如果想上手操作的同学们可以通过阿里云ecs服务器免费试用参与或低价购买专属于自己的服务器入口如下↓↓↓↓↓

入口一:新老同学免费试用

入口二:新人服务器特惠礼包

入口三:大学生版低价特惠服务器

入口四:云服务器首购特惠&免费试用

入口五:云服务器特惠1.5折起

入口六:低价特惠建站

申领云栖大会免费门票入口如下↓↓↓↓↓

入口七:云栖大会免费领票

目录
相关文章
[go 面试] 雪花算法与分布式ID生成
[go 面试] 雪花算法与分布式ID生成
|
弹性计算 运维 安全
为了提升运维工程师及开发者
为了提升运维工程师及开发者
|
云安全 运维 安全
AK泄漏28小时:运维工程师的极限自救
随着比特币等加密货币的价格持续上涨,挖矿活动成为了黑客们眼中的一块肥肉。尤其是在2024年至2025年间,比特币价格突破历史高位,吸引了大量投资者和投机者的目光。与此同时,这也引发了新一轮的黑客攻击浪潮,目标直指那些拥有强大计算资源的企业和个人用户。
|
消息中间件 网络协议 C#
C#使用Socket实现分布式事件总线,不依赖第三方MQ
`CodeWF.EventBus.Socket` 是一个轻量级的、基于Socket的分布式事件总线系统,旨在简化分布式架构中的事件通信。它允许进程之间通过发布/订阅模式进行通信,无需依赖外部消息队列服务。
C#使用Socket实现分布式事件总线,不依赖第三方MQ
|
存储 监控 Java
招行面试: 分布式调度 设计,要考虑 哪些问题?
45岁资深架构师尼恩在读者交流群中分享了关于设计分布式调度框架时需考虑的关键问题。近期有小伙伴在面试招商银行时遇到了相关难题,因准备不足而失利。为此,尼恩系统化地梳理了以下几点核心内容,帮助大家在面试中脱颖而出,实现“offer直提”。
|
运维 监控 网络协议
|
NoSQL Java Redis
面试官:项目中如何实现分布式锁?
面试官:项目中如何实现分布式锁?
819 7
面试官:项目中如何实现分布式锁?
|
存储 运维 搜索推荐
|
消息中间件 NoSQL Java
面试官必问的分布式锁面试题,你答得上来吗?
本文介绍了分布式锁的概念、实现方式及其在项目中的应用。首先通过黄金圈法则分析了分布式锁的“为什么”、“怎么做”和“做什么”。接着详细讲解了使用 Redisson 和 SpringBoot + Lettuce 实现分布式锁的具体方法,包括代码示例和锁续期机制。最后解释了 Lua 脚本的作用及其在 Redis 中的应用,强调了 Lua 保证操作原子性的重要性。文中还提及了 Redis 命令组合执行时的非原子性问题,并提供了 Lua 脚本实现分布式锁的示例。 如果你对分布式锁感兴趣或有相关需求,欢迎关注+点赞,必回关!
782 2
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
1352 3