原创 分佈式爬蟲(Zookeeper+Redis+Spring+WebMgic+Dubbo)

Dpider 參考網上大佬的一張分佈式爬蟲的架構圖,對其的一個實現。因爲時間比較急,所以在某些地方跟原架構圖不一樣(有的省去了,有的用的其他技術),但總體架構是按照這個來的。文章很棒,推薦大家看一看! 文章如下: 分佈式爬蟲系統設

原创 redis+結巴分詞做倒排索引

起源 之前爬取過一百萬的歌曲,包括歌手名,歌詞等,最近瞭解到倒排索引,像es,solr這種太大,配置要求太高,對於一百萬的數據量有些小題大做,所以想到了redis做一個倒排索引。 我的配置 這裏說一下我的配置,後面用的到: cpu:i

原创 Netty斷線重連實現

netty斷線重連實現 學習文章 淺析 Netty 實現心跳機制與斷線重連 心跳機制 心跳是TCP長連接中,c-s之間發送的一種特殊的數據包,用來通知對方還在線,以確保TCP連接的有效性。 原理是:當在一段時間Idle後,c或者s會發

原创 基於netty+Spring+Zookeeper的分佈式RPC框架

文章目錄開發筆記參考文章啓動示意圖對示意圖中出現的單詞意義解釋providerconsumerZookeeperzk節點結構step1~6是啓動順序實現細節對於“當server的狀態沒有還沒有同步到consumer的服務器列表裏”這種

原创 動態規劃題目-合唱團-學習筆記

動態規劃題目-合唱團 題目地址及我參考的解析 牛客網-[編程題]合唱團 題目 [編程題]合唱團 熱度指數:86848 時間限制:1秒 空間限制:32768K 有 n 個學生站成一排,每個學生有一個能力值,牛牛想從這 n 個學生中按

原创 Zookeeper的典型應用場景(《從Paxos到ZooKeeper:分佈式一致性原理與實踐》讀書筆記)

文章目錄Zookeeper的典型應用場景數據發佈/訂閱實際案例——配置管理配置存儲配置獲取配置變更命名服務實際案例——zk實現一套全局唯一ID機制分佈式協調/通知實際案例——主備切換功能任務註冊熱備份熱備切換記錄執行狀態冷備切換冷熱備

原创 Zookeeper基礎學習(《從Paxos到ZooKeeper:分佈式一致性原理與實踐》讀書筆記)

Zookeeper基礎學習(《從Paxos到ZooKeeper:分佈式一致性原理與實踐》讀書筆記) 分佈式一致性問題 假設客戶端c1將系統中的一個值k由v1更新爲v2,但客戶端c2無法立即讀到k的最新值,需要一段時間才能讀到,這個例子

原创 Redis事務學習筆記

Redis事務 先來一張思維導圖 事務提供了一種“將多個命令打包,然後一次性的、按順序的執行”的機制,並且事務在執行的期間不會主動中斷,也就是說服務器在執行完事務中所有的命令後,纔會繼續處理其他客戶端的其他命令。 相關的命令 mul

原创 Spring事務管理學習筆記

Spring事務管理 Spring事務管理接口 PlatformTransactionManager: (平臺)事務管理器 TransactionDefinition: 事務定義信息(事務隔離級別、傳播行爲、超時、只讀、回滾規

原创 Redis持久化學習筆記(AOF與RDB詳細)

Redis持久化 首先是一張整理好的思維導圖 Redis持久化有兩種方式,rdb和aof: rdb會保存一個時間點的數據快照 aof會記錄每一個服務器收到的寫操作。在服務器啓動時,這些記錄的操作會逐行從aof文件中執行,從而重建

原创 ThreadLocal源碼學習筆記

參考文章: 併發容器之ThreadLocal 概述 線程安全問題的核心在於多個線程會對同一個臨界區共享資源進行操作,如果每個線程都使用自己的“共享資源”,各自使用各自的,又互相不影響到彼此即讓多個線程間達到隔離的狀態,這樣就不會出

原创 嘗試WebMagic+Dubbo搭建爬蟲Cluster(更新完畢)

目錄 現在還沒解決的問題 已經解決的問題 大致思路的演化 2017年11月11日開發記錄 2017年11月16日開發記錄 2017年11月17日開發記錄 2017年11月18日開發記錄 2017年11月19日開發記錄 2017年11月2

原创 Spring 多線程bean的問題(Spring+Javaweb中任務調度)

在寫一個文件暫存系統的時候,有這樣的一個需求:一個定時任務,每隔t分鐘,做一些掃描操作。實現思路是繼承ContextLoaderListener,實現自己的Listener,在這個Listener中,開啓定時任務。一開始直接使用@Comp

原创 關於“耦合”在Java中具體指什麼的問題

以前一直不知道“耦合”在Java中具體指的是什麼,最近在看《圖解設計模式》中Factory Method的時候發現了一段關於“耦合”的解釋,覺得很有道理,故摘抄下來便於分享和自己日後查閱。原文: 請回憶一下,在framework包中我們並

原创 Spring IOC 容器源碼閱讀筆記

參考的文章 Spring IOC容器源代碼解析,作者帶着看了一遍源碼,邊看邊講,非常nice。 正文 我對於Spring IOC(控制反轉)的理解,是將對象的管理(控制)權從以前的程序員手中“反轉”到了Spring IOC容器手中。