原创 MySQL基於GTID主從複製的雜談

先來回顧一下MySQL的二進制知識點。基於Row格式的日誌可以避免MySQL主從複製中出現的主從不一致問題。在一個sql語句修改了1000條數據的情況下,基於段的日誌格式只會記錄這個sql語句。而基於row的日誌格式會有1000條記錄來記錄

原创 MySQL複製性能優化和常見問題分析

先來說說影響MySQL複製性能的幾個參數吧二進制日誌文件並不是每次寫的時候都會同步到磁盤,當發生宕機的時候,可能會有最後一部分數據沒有寫入到binlog中,這給恢復和複製帶來了問題。當sync_binlog=1表示每寫緩衝一次就同步到磁盤,

原创 RabbitMQ生產端消息可靠性投遞方案分析

導文: 1.什麼是RabbitMQ 2.Java開發技術大雜燴(三)之電商項目優化、rabbitmq、Git、OSI、VIM、Intellj IDEA、HTTP、JS、Java之前在上面2篇文章中,講到過RabbitMQ的安裝,基本概念

原创 MySQL數據庫結構設計

在編碼過程中,如果MySQL數據結構設計不好的話,會大大影響開發人員編碼效率。比如說MySQL數據庫表設計不規範,創建時間字段設計成cjsj,創建者字段設計成cjr或者cjz。這樣的數據庫表可讀性和表意性相當差。下面我們就來講講如何規範設計

原创 OneProxy實現MySQL讀寫分離

系列文章: 1.MySQL主從複製 2.OneProxy實現MySQL讀寫分離讀寫分離方案,其實我們可以通過配置動態數據源來實現。也可以通過一些中間件來實現,比如OneProxy,MaxScale,MysqlProxy來實現。下面我們要

原创 Redis高可用搭建

我們都知道單機版的redis,無法保證CAP。所以我們搭建redis集羣,實現高可用。圖來自網絡.png看本篇文章之前,最好看如下幾篇文章。1.【Linux學習】 Redis常用的一些指令 2.分佈式架構之旅】Redis入門 3.Java開

原创 MySQL主從複製

配置MySQL主從複製,先來講講一些理論。MySQL複製功能提供分擔讀負載。 基於二進制日誌的複製是異步的,那麼複製有什麼好處? 1.實現在不同服務器上的數據分佈,利用二進制日誌增量進行,不需要太多帶寬,但是使用基於行的複製在進行大批量

原创 蛋疼的ElasticSearch(四)之基本用法、高級查詢

ElasticSearch系列文章: 1.蛋疼的ElasticSearch(一)之安裝ElasticSearch 2.蛋疼的ElasticSearch(二)之配置ElasticSearch Head插件 3.蛋疼的ElasticSea

原创 蛋疼的ElasticSearch(三)之配置elasticsearch-analysis-ik和集羣

配置elasticsearch-analysis-ik1.下載https://github.com/medcl/elasticsearch-analysis-ik2.解壓 elasticsearch-analysis-ik-master.z

原创 通過了解RejectedExecutionException來分析ThreadPoolExecutor源碼

觀看本文章之前,最好看一下這篇文章熟悉下ThreadPoolExecutor基礎知識。 1.關於Java多線程的一些常考知識點 2.看ThreadPoolExecutor源碼前的騷操作講解本篇文章從下面一個例子開始,test1()和te

原创 通過分析LinkedHashMap瞭解LRU

我們都知道LRU是最近最少使用,根據數據的歷史訪問記錄來進行淘汰數據的。其核心思想是如果數據最近被訪問過,那麼將來訪問的機率也更高。在這裏提一下,Redis緩存和MyBatis二級緩存更新策略算法中就有LRU。畫外音:LFU是頻率最少使用,