原创 全文搜索 Elasticsearch 簡介

概述 Elasticsearch (ES)是一個基於 Lucene 的開源搜索引擎,它不但穩定、可靠、快速,而且也具有良好的水平擴展能力,是專門爲分佈式環境設計的。 特性 安裝方便:沒有其他依賴,下載後安裝非常方便;只用修改幾個參數就可以

原创 Spring boot+mybatis+mysql+ sharding-jdbc實現分庫分表學習demo

項目初期版本使用噹噹sharding-jdbc進行數據庫的分庫分表操作,後續項目存儲更換爲自研彈性數據庫。總結學習噹噹數據庫中間件sharding-jdbc,並完成demo,可運行,下面列出demo代碼說明: 建表sql /* Navi

原创 阿里開源Mysql分佈式中間件:Cobar

 這幾天研究了下Cobar, Cobar是阿里巴巴研發的關係型數據的分佈式處理系統(Amoeba的升級版,該產品成功替代了原先基於Oracle的數據存儲方案,目前已經接管了3000+個MySQL數據庫的schema,平均每天處理近50億次

原创 MyCat,Cobar,分佈式數據庫分片(MySQL高可用中間件)

大綱  第一 MYCAT 背景 第二 MYCAT 發展 第三 MYCAT 簡介 第四 MYCAT特性 第五 MYCAT安裝使用 第六 MYCAT和COBAR 比較 第七 參考   一,背景 隨着傳統的數據庫技術日趨成熟、計算機網絡技術的飛

原创 冒泡排序和快速排序算法

序言: 一 冒泡排序算法 二 冒泡排序程序實現 三 快速排序算法 四 快速排序算法程序實現 第一 冒泡排序算法 簡介 冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序算法。 它重複地走訪過要排序的元素列,依次比較兩個

原创 python 生成器和協程詳解

序 第一 進程簡介 第二 進程與線程區別 第三 線程 第四 生成器(generator) 第五 協程和生成器 第六 協程   說到Python 協程就會想到,進程和線程,當然更離不開生成器。 一 進程簡介 一個程序的執行實例就是一個進程。

原创 python 閉包和裝飾器詳解

python 閉包,裝飾器 一 閉包 如果在一個函數的內部定義了另一個函數,外部的函數叫它外函數,內部的函數叫它內函數。 1 閉包條件    1 在一個外函數中定義了一個內函數。         2 內函數裏運用了外函數的臨時變量。  

原创 python 進階總結

大綱  1 關鍵字is 和 == 的區別 2 深拷貝和淺拷貝 3 私有化和Property 4 列表生成式 5 生成器 6 迭代器 7 閉包 8 裝飾器 9 動態語言添加屬性和方法 10 元類 11 內建屬性和內建方法 12 PDB調試

原创 java 自旋鎖

一 大綱 1 自旋鎖定義 2 自旋鎖原理 3 自旋鎖時間閾值 4 自旋鎖分類 5 自旋鎖應用 6 自旋鎖開啓 二 自旋鎖定義 何謂自旋鎖?         它是爲實現保護共享資源而提出一種鎖機制。其實,自旋鎖與互斥鎖比較類似,它們都是

原创 從分佈式一致性談到CAP理論、BASE理論

問題的提出 在計算機科學領域,分佈式一致性是一個相當重要且被廣泛探索與論證問題,首先來看三種業務場景。 1、火車站售票 假如說我們的終端用戶是一位經常坐火車的旅行家,通常他是去車站的售票處購買車 票,然後拿着車票去檢票口,再坐上火車,開始

原创 TCC兩階段補償型

TCC方案是可能是目前最火的一種柔性事務方案了。關於TCC(Try-Confirm-Cancel)的概念,最早是由Pat Helland於2007年發表的一篇名爲《Life beyond Distributed Transactions:

原创 jvm G1 深度分析

本文首先簡單介紹了垃圾收集的常見方式,然後再分析了G1收集器的收集原理,相比其他垃圾收集器的優勢,最後給出了一些調優實踐。 一,什麼是垃圾回收 首先,在瞭解G1之前,我們需要清楚的知道,垃圾回收是什麼?簡單的說垃圾回收就是回收內存中不再使

原创 Linux 網絡 I/O 模型簡介

1、介紹     Linux 的內核將所有外部設備都看做一個文件來操作(一切皆文件),對一個文件的讀寫操作會調用內核提供的系統命令,返回一個file descriptor(fd,文件描述符)。而對一個socket的讀寫也會有響應的描述符,

原创 從傳統技術團隊職能化向敏捷迭代轉變成功案例(互聯網公司快速擴張階段研發團隊效率提升)

一 序言       忙不完的事情,解不完的bug,每次發版都得集體熬個大通宵。幹得多,結果還不好。相信絕大部分技術工作者都有過這樣的困擾。今天,公司敏捷教練蔡春華以團隊敏捷實踐爲例,與大家分享如何提升研發效率。 某研發團隊處在事多、效果

原创 JVM內存模型、指令重排、內存屏障概念解析

 在高併發模型中,無是面對物理機SMP系統模型,還是面對像JVM的虛擬機多線程併發內存模型,指令重排(編譯器、運行時)和內存屏障都是非常重要的概念,因此,搞清楚這些概念和原理很重要。否則,你很難搞清楚哪些操作是在併發線程中絕對安全的?哪些