-
從一次 Kafka 節點宕機探究 Kafka 的高可用實現
一、Kafka宕機引發的高可用問題 問題要從一次Kafka的宕機開始說起。 筆者所在的是一家金融科技公司,但公司內部并沒有采用在金融支付領域更為流行的RabbitMQ ,而是采用了設計之初就為日志處理而生的Kafka,所以我一直很好奇Kafka的高可用實現和保障。從Kafka部署后,系統內部使用的Kafka一直運行穩定,沒有出現不可用的情況。 但最近系統測試人員常反饋偶有Kafka消費者收不到消息的情況,登陸管理界面發現三個節點中有一個節點宕機掛掉了。但是按照高可用的理念,三個節點還有兩個節點可…
-
云上 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 從的高可用模式,實時熱備,提供宕機自動檢測和故障自動轉移。主從復制方式有三種:異步、半同步、強同步。高可用版默認一主一從異步復制方式,可以通過購買和…
-
這幾種技巧,能有效幫你提升接口查詢速度
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) 查詢響應時間增加 慢查詢數增加 …
-
一條 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進行壓力測試之前,需要更改其默認…