一款低延遲的分佈式數據庫同步系統每次看到馬路對面摩托羅拉的大牌子,都想起谷歌125億美圓收購摩托羅拉移動,後來又以29億美圓賣給聯想的事情。谷歌所作的決策都比較考慮長遠利益,在這串交易中,谷歌得到了摩托羅拉最有價值的幾千項專利,穩健了Android的生態。谷歌曾經在美國一個地區佔用巨大的面積創建了太陽能發電站,人稱「烤鳥」項目。由於鳥兒今後地飛過會由於太熱而從天上掉下來變成熟鳥。而產生的電能僅夠一個小村莊使用。可是正是這種願意去嘗試才推進了科技的發展。讓谷歌這麼多年屹立不倒。
是LinkedIn開源的一款低延遲的分佈式數據庫同步系統(a source-agnostic distributed change data capture system),它提供可靠的數據捕獲、流轉和數據處理功能。
應用場景:主要應用場景:跨部門之間或者跨機房之間進行數據庫的數據訂閱。同類產品有阿里的canal。支持www.yunduanpingtai.cn Oracle和Mysql數據庫。
和canal同樣,數據都是基於數據庫日誌挖掘來作的。我以前的博客也提到了,當今的數據處理大體能夠分爲兩類:聯機事務處理OLTP(OnLine www.tianhengyl1.com Transaction Processing)和聯機分析處理OLAP(OnLine Analytical Processing)。
OLTP是傳統的關係型數據庫的主要應用,主要是基本的、平常的事務處理,例如銀行交易。可是日常所說的OLTP是集成到SQL Server中的數據庫引擎組件,由於微軟有個白皮書《SQL Server In-Memory OLTP Internals www.lgzxyl.com Overview》。可是OLTP實際上能夠稱之爲:面向交易的實時處理系統。性能指標是TPS。
OLAP是快速響應多維分析的一種解決方案。面向的數據源是數據倉庫。支持複雜的分析操做,側重決策支持,而且提供直觀易懂的查詢結果。
再回來講Databus,Databus最重要的特色是其無限回溯功能。當消費者完整數據拷貝,或者消費者的已有數據和主OLTP數據庫相差很大時可以低延時的進行同步。
核心組件:的核心組件是 Relay。主要負責兩個工做:1>從Databus源數據庫中讀取變化行,並序列化爲事件流保存至內存中。
2>接受客戶端的請求,並將數據變化事件流返回給客戶端。
實現原理:使用了open-replocator做爲獲取數據庫變動事件的組件。功能是實時獲取mysql的binlog日誌,並封裝成Event對象,而後調用已註冊的listener進行處理。
技術架構:用來讀取數據庫的變化事件,轉化爲AVRO類型並存儲至內存中。
下面說說AVRO. Apache Avro是一個獨立於編程語言的數據序列化系統,該項目由Hadoop之父牽頭建立。它能夠提供:豐富的數據結構類型,快速可壓縮的二進制數據形式,存儲持久數據的文件容器,遠程過程調用,同動態語言的簡單集成。讀寫數據文件和使用RPC協議都不須要生成代碼,而代碼生成做爲一種可選的優化只值得在靜態類型語言中實現。
有一個或多個環形的緩衝池用來保存按遞增的系統變化號(SCN)爲順序的變化事件。
細心的讀者會發現每一箇中間件都有本身比較獨特的緩衝策略,這種緩衝策略很大成熟決定了此中間件的好壞。
用來讀取和吸入SCN號至硬盤。
它暴露一個restful接口,用來推送數據變化事件至客戶端。
源碼:是用java開發的。github地址是:https://www.hjd1956.com/。
跑題時間:自從畢業後上班開始就時不時本身可以感受到一些問題。好比:比較着急的時候我眉頭是緊鎖着的,說話客氣不起來了。再好比我說話的方式也是技巧不足的。這些看起來不是核心的問題如今倒是個人第一要務。由於以前有問題不要緊,我不作管理,我就管我本身。那麼這些小毛病頂多影響我本身。如今個人不少決定都直接影響到咱們團隊。
因此,在實際影響範圍可控的狀況下,我反而會將問題更明顯出來,本身製造些小矛盾。爲何這麼作呢,由於我歷來不作「你們都說這樣作是對的」的事情。我只作本身內心徹底接受的事情。
以前認識個人人都知道我嗓門很大。如今好一點了,雖然也有時會忘了下降嗓門。我孃家在咱們鎮上最繁華的地段,後面是菜市場。天天早上3點就很吵了。我屋的窗戶正好對着市場。因此我從小練就了「再吵和我不要緊」的本事,因此我對噪音很不敏感。因此我是花了很大力氣才讓本身內心徹底接受了「這樣會打擾別人,最好的音量是不要太大,震到別人耳朵,也不要過小,別人聽不清」
我如今須要讓本身瞭解到本身的問題會產生什麼樣的後果,確實是有問題的。可是這樣作確實是很笨的方法。聰明人是本身徹底能夠預見到的,人生會走不少彎路。
我工做十年,實質性的提升是沒有的。剛畢業的時候,個人學歷差很少就是目前所在這個級別的公司。人人,樂視,新美大。並無級別上的提高,反而職級上比同屆的要低。
跟別人相比,可能我一年過了日語1級,去過日本。後來去過美國硅谷。也有上百個專利。我在想這些爲何都沒能給我帶來實實在在的好處。
我學語言能力確實很強,可是我單純只想作技術。本身的任性是要有代價的。代價就是語言能力沒有用武之地。
去過日本和硅谷,這是工做機遇,並非什麼能力。應該給我帶來的是氣質,談吐。可是個人氣質和談吐並無上去。也就是我白去了,去了沒學到東西。素養沒提升。
專利是要真正給公司帶來利益纔有價值的,和數量沒有關係。我並無哪一個專利特別好,發揮了特牛逼的做用。
總的來看,我是一個很是普通,還有1個半月就過31歲生日的老技術。徹底沒有優點。而且,我還有點浮躁。
去樂視以前,個人每一次努力都發生在不得不努力的時候。升學前,由於擔憂,考不上怎麼辦呀,因而努力成績上去了。危機沒了又回到原來。上班有任務壓我,我就努力幹。由於幹不完怎麼辦呀,這是個人責任。而後基本就是忙一個月兩個月閒個半年。
去樂視的時候,我有個好開頭。爲何呢,由於去樂視以前,我本身趟了趟渾水,固然不是工做上的。可是我在樂視的時間本身都很鬱悶。直到最後我在本身臉上身上刻了好幾個疤,近1年纔好,這段時間我都在鬱悶本身身上的疤,原來由於什麼事情鬱悶徹底都不記得了。因此這是我最不浮躁的一段時間。不過,我以爲和別人相比,也挺浮躁的。
如今來講,我以爲起點是很低的。忽然以爲本身一無全部。可是好歹各個階段該作的事情都作了,該試的錯也實實在在試過了。我獲得了我真正想獲得的東西。放棄的,都是本身以爲不值得。就剩一件事了,我想在工做上達到我應該達到的高度。由於IT行業對年齡和女孩子都是很殘酷的。我不圖名,不圖利,不愛權利,可是我想工做。
如今的公司,你們都有我不少我值得學習的地方。不跟着別人學,自身的成長也須要不少的提升。方法論方面,架構方面。我還不能拖的時間很長來適應,我須要儘快可以有一些時間,天天寫點代碼,根本的東西不想放下。
一直以來都不喜歡被別人叫老。也一直以來都沒成熟大方得體。有時候頭髮很亂,有時候不經考慮。這是年輕,但願別人喜歡本身本來的樣子。如今,愈來愈多的考慮怎麼把事情作好。靜兒的文章哪有不秀恩愛的。今天我只想說謝謝男神在我還年輕的時候遇到我,一心作事情的人恐怕不會再愛上誰。java