原创 Spring Cloud(Finchley.RCI) (八) Spring Cloud使用路由網關統一訪問接口

使用路由網關統一訪問接口 在微服務架構中, 需要幾個基礎的服務治理組件, 包括服務註冊與發現, 服務消費, 負載均衡, 熔斷器, 智能路由, 配置管理等。由這幾個基礎組件相互協作, 共同組建了一個簡單的微服務服務系統。   在Spring

原创 虛擬機的Ubuntu擴容

起因是最近在做一個爬蟲項目, 需要用到scrapy-splash去抓取一些javascript生成的html, 但是在通過docker安裝scrapy-splash的過程中發現即使給做爬蟲的虛擬機增加了硬盤, 虛擬機中始終報硬盤空間不足,

原创 Scrapy之Splash

最近在做爬蟲的項目, 遇到動態由js生成的html因爲是動態生成了, Scrapy是抓取不到的. 因爲現在網站單純全部寫成靜態的html的不是太多了, 抓取動態js生成的html必然是個繞不過去的坎, 所以需要研究下主流是如何處理這個問題

原创 Spring Cloud(Finchley.RCI) (四) Spring Cloud創建服務消費者(Ribbon)

在微服務架構中, 業務都會被拆分成一個獨立的服務, 服務與服務的通訊是基於http restful的, Spring Cloud有兩種服務調用方式, 一種是ribbon+restTemplate, 另一種是feign. Ribbon簡介

原创 MQ消息丟失和消息重複的解決方案和實戰

場景 假設支付寶轉賬1000元到餘額寶, 通過RabbitMQ對轉賬過程進行解耦, 支付寶將轉賬的消息投遞到RabbitMQ, 餘額寶通過監聽RibbitMQ的消息隊列獲得消息, 然後通過應答隊列告訴支付寶消息已經消費 遇到的問題 1.

原创 Redis(一) 簡介

簡介 是以key-value形式存儲, 和傳統的關係型數據庫不一樣, 不一定遵循傳統數據庫到的一些基本要求(非關係型的, 分佈式的, 開源的, 水平可擴展的) 優點: 對數據高併發讀寫 對海量數據的高效率存儲和訪問 對數據的可擴展性和高可

原创 消息隊列的流派

什麼是MQ Message Queue(MQ), 消息隊列中間件, 很多人都說: MQ通過將消息的發送和接收分離來實現應用程序的異步和解耦, 這個給人的直覺是—MQ是異步的, 用來解耦的, 但是這個只是MQ的效果而不是目的, MQ真正的目

原创 RabbitMQ (一) 簡介

RabbitMQ的優點 基於ErLang語言開發具有高可用高併發的優點, 適合集羣服務器 健壯, 穩定, 跨平臺, 支持多種語言, 文檔齊全 有消息確認機制和持久化機制, 可靠性高 RabbitMQ的概念 生產者和消費者 Product:

原创 Spring Cloud(Finchley.RCI) (九) Spring Cloud分佈式配置中心

在分佈式系統中, 由於服務數量巨多, 爲了方便服務配置文件統一管理, 實時更新, 所以需要分佈式配置中心組件。在Spring Cloud中, 有分佈式配置中心組件Spring Cloud Config, 它支持配置服務放在配置服務的內存中

原创 Spring Cloud(Finchley.RCI) (二) Spring Cloud服務註冊與發現

在這裏, 我們需要的組件是Spring Cloud Netflix的Eureka, Eureka是一個服務註冊與發現模塊 創建服務註冊中心 pom文件 <?xml version="1.0" encoding="UTF-8"?> <pr

原创 Scrapy(一) 入門

之前大部分的中間件都是在Docker中做的, 感覺Docker的確是牛逼, 隔離環境. 最近做一個爬蟲的項目, 用到Scrapy, 最開始沒有往Docker方面想, 之後有空需要研究下Docker如何安裝Scrapy 安裝 Scrapy是

原创 Redis(二) 主從複製與哨兵

主從複製 1. Master可以擁有多個slave 2. 多個slave可以連接同一個master外, 還可以連接到其他的slave 3. 主從複製不會阻塞master在同步數據時 master可以繼續處理client請求 4. 提供系統

原创 Spring Cloud Trouble Shooting

com.netflix.zuul.exception.ZuulException: Hystrix Readed time out 通過API網關路由來保存品牌,保存成功後, zuul網關報Hystrix超時 這個錯誤是因爲zuul的默認

原创 RabbitMQ (二) 使用

生產者 創建一個名爲spring-boot-amop-provider的生產者項目 application.yml spring: application: name: spring-boot-amqp rabbitmq

原创 Scrapy反爬蟲之521異常

引子 最近在爬取一個網站時, 遇到了521錯誤, 這是一種網站的反爬技術, 瀏覽器會渲染很多東西, 代碼爬數據會漏掉瀏覽器渲染的信息 思路 可以嘗試複製瀏覽器的cookie信息, 加在請求頭中, 但是這樣只能獲取單個域名的網頁。恰巧我需要