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