• 从一次 Kafka 节点宕机探究 Kafka 的高可用实现

    一、Kafka宕机引发的高可用问题 问题要从一次Kafka的宕机开始说起。 笔者所在的是一家金融科技公司,但公司内部并没有采用在金融支付领域更为流行的RabbitMQ ,而是采用了设计之初就为日志处理而生的Kafka,所以我一直很好奇Kafka的高可用实现和保障。从Kafka部署后,系统内部使用的Kafka一直运行稳定,没有出现不可用的情况。 但最近系统测试人员常反馈偶有Kafka消费者收不到消息的情况,登陆管理界面发现三个节点中有一个节点宕机挂掉了。但是按照高可用的理念,三个节点还有两个节点可…

    技术干货, 数据库 2021年10月20日
  • 云上 MySQL 的这8个要点,运维,请了解一下~

    使用云上的 MySQL 时,会遇到很多人询问 CDB 的。为了更好的了解云上的 MySQL,本文将介绍一些重要的知识点。 1.实例类型 目前云数据库 MySQL 支持三种架构:基础版、高可用版、单节点高 IO 版 1.基础版是单个节点部署,价格低,性价比非常高,由于是单节点,数据安全性以及可用性不能保证,不建议生产环境使用 2.高可用版采用一主 N 从的高可用模式,实时热备,提供宕机自动检测和故障自动转移。主从复制方式有三种:异步、半同步、强同步。高可用版默认一主一从异步复制方式,可以通过购买和…

  • 时序数据库之InfluxDB

    最近公司业务重度依赖时序数据库, 公司上个版本选择了OpenTSDB, 在1-2年前,他的确很流行。但是在做软件重构时, 业务层反馈的一些问题, OpenTSDB暂时无法解决,成为了一个痛点, 让我需要考虑其他方案, 由于之前使用过InfluxDB, 也一直在关注, 它给了我惊艳的感觉,所以记忆犹新.  1   背景 之前做运维时,重度使用过zabbix, 关系型数据库的优化,根本无法解决高IO, 后面又使用过Graphite, 这个安装像迷一样的工具, 它后端在RRD上面设计出了一个简单的时序…

  • 云上 MySQL 的这8个要点,运维,请了解一下~

    使用云上的 MySQL 时,会遇到很多人询问 CDB 的。为了更好的了解云上的 MySQL,本文将介绍一些重要的知识点。 1.实例类型 目前云数据库 MySQL 支持三种架构:基础版、高可用版、单节点高 IO 版 1.基础版是单个节点部署,价格低,性价比非常高,由于是单节点,数据安全性以及可用性不能保证,不建议生产环境使用 2.高可用版采用一主 N 从的高可用模式,实时热备,提供宕机自动检测和故障自动转移。主从复制方式有三种:异步、半同步、强同步。高可用版默认一主一从异步复制方式,可以通过购买和…

    技术干货, 数据库 2021年8月12日
  • 这几种技巧,能有效帮你提升接口查询速度

    1. MySQL查询慢是什么体验? 大多数互联网应用场景都是读多写少,业务逻辑更多分布在写上。对读的要求大概就是要快。那么都有什么原因会导致我们完成一次出色的慢查询呢? 1.1 索引 在数据量不是很大时,大多慢查询可以用索引解决,大多慢查询也因为索引不合理而产生。 MySQL 索引基于 B+ 树,这句话相信面试都背烂了,接着就可以问最左前缀索引、 B+ 树和各种树了。 说到最左前缀,实际就是组合索引的使用规则,使用合理组合索引可以有效的提高查询速度,为什么呢? 因为索引下推。如果查询条件包含在了…

  • 面试官:如果MySQL引起CPU消耗过大,你会怎么优化?

    谁在消耗cpu? 用户+系统+IO等待+软硬中断+空闲 祸首是谁? 用户 用户空间CPU消耗,各种逻辑运算 正在进行大量tps 函数/排序/类型转化/逻辑IO访问… 用户空间消耗大量cpu,产生的系统调用是什么?那些函数使用了cpu周期? IO等待 等待IO请求的完成 此时CPU实际上空闲 如vmstat中的wa 很高。但IO等待增加,wa也不一定会上升(请求I/O后等待响应,但进程从核上移开了) 产生影响 用户和IO等待消耗了大部分cpu 吞吐量下降(tps) 查询响应时间增加 慢查询数增加 …

    技术干货, 数据库 2021年7月7日
  • 一条 update 语句引起的事故,这回让开发长长记性!!

    一、前言 最近经常碰到开发误删除误更新数据,这不,他们又给我找了个麻烦,我们来看下整个过程。 二、过程 由于开发需要在生产环节中修复数据,需要执行120条SQL语句,需要将数据进行更新 于是开发连上了生产数据库,首先执行了第一条SQL: 我们仔细看了下,这个SQL,的确没有什么问题,where条件也是正常的,大意就是将这个地址的前面加字符串bj1062,是真的没有错误么?是的没有错误。开发执行完成后,结果的确是符合预期。 然后开发执行了剩下的SQL,都是和上面的SQL一样,将地址进行更新。执行完…

  • 为Django查询生成原始SQL查询的3种方法

    我们使用Django ORM使查询数据库变得非常容易,但是如果我们知道幕后发生了什么或对某些Django查询执行了什么SQL查询,对我们提升查询性能帮助会非常的大,以下是一些有用的方法,能帮助我们了解幕后的SQL语句是什么。 1.使用queryset的查询属性这是在Django中查找原始SQL查询的最简单方法。 2.Django  connection 这种方法比前一种方法提供的信息更多,因为我们可以找到原始SQL语句以及执行该语句所需的时间(以秒为单位)。需要确保在settings.py文件中…

  • 简单、易用的 MySQL 官方压测工具,建议收藏!

    一、MySQL自带的压力测试工具 Mysqlslap mysqlslap是mysql自带的基准测试工具,该工具查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较。mysqlslap为mysql性能优化前后提供了直观的验证依据,系统运维和DBA人员应该掌握一些常见的压力测试工具,才能准确的掌握线上数据库支撑的用户流量上限及其抗压性等问题。 1、更改其默认的最大连接数 在对MySQL进行压力测试之前,需要更改其默认…

历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、云原生、Go、Python开发专业人才培训机构!