原创 生產問題系列一次機房停電引發的思考

一次機房停電引發的思考 今天早上到公司的時候,接到開發反饋 DEV 環境所有接口都卡,耗時都在一分鐘以上,嚴重影響開發正常工作,然後通過網關的日誌定位到原因是因爲 kafka 集羣不可用(總共 3 個 broker,前一天晚上機房停電導致

原创 redis開發之調錶 skiplist的用法

前言 跳躍表結構在 Redis 中的運用場景只有一個,那就是作爲有序列表  Zset  的使用。跳躍表的性能可以保證在查找,刪除,添加等操作的時候在對數期望時間內完成,這個性能是可以和平衡樹來相比較的,而且在實現方面比平衡樹要優雅,這就是

原创 技術選型必看經典:RabbitMQ 七戰 Kafka,差異立現

作爲一個有豐富經驗的微服務系統架構師,經常有人問我,“應該選擇RabbitMQ還是Kafka?”。基於某些原因, 許多開發者會把這兩種技術當做等價的來看待。的確,在一些案例場景下選擇RabbitMQ還是Kafka沒什麼差別,但是這兩種技術

原创 es開發之聚合數據結果不精確

1、實戰開發遇到聚合問題 請教一個問題,ES 在聚合的時候發生了一個奇怪的現象聚合的語句裏面size設置爲10和大於10導致聚合的數量不一致,這個size不就是返回的條數嗎?會影響統計結果嗎?dsl語句摘要(手機敲不方便,雙引號就不寫了)

原创 如何帶領團隊“攻城略地”?不可告人的龍嶺迷窟

架構師職責   架構師不是一個人,他需要建立高效卓越的體系,帶領團隊去攻城略地,在規定的時間內完成項目。   架構師需要能夠識別定義並確認需求,能夠進行系統分解形成整體架構,能夠正確地技術選型,能夠制定技術規格說明並有效推動實施落地。  

原创 很有價值的提升RabbitMQ消費速度的一些實踐

RabbitMQ是一個開源的消息中間件,自帶管理界面友好、開發語言支持廣泛、沒有對其它中間件的依賴,而且社區非常活躍,特別適合中小型企業拿來就用。這篇文章主要探討提升RabbitMQ消費速度的一些方法和實踐,比如增加消費者、提高Prefe

原创 Apache Kylin開發之概覽

  Apache Kylin 查詢流程源碼剖析 - 簡書 可能是全網最深度的 Apache Kylin 查詢剖析 - 簡書 一、什麼是 Kylin Apche Kylin 是 Hadoop 大數據平臺上的一個開源 OLAP 引擎。它採用多

原创 spring之Hystrix從原理到實戰剖析

背景 分佈式系統環境下,服務間類似依賴非常常見,一個業務調用通常依賴多個基礎服務。如下圖,對於同步調用,當庫存服務不可用時,商品服務請求線程被阻塞,當有大批量請求調用庫存服務時,最終可能導致整個商品服務資源耗盡,無法繼續對外提供服務。並且

原创 hive開發之動態插入數據解析

 往hive分區表中插入數據時,如果需要創建的分區很多,比如以表中某個字段進行分區存儲,則需要複製粘貼修改很多sql去執行,效率低。因爲hive是批處理系統,所以hive提供了一個動態分區功能,其可以基於查詢參數的位置去推斷分區的名稱,從

原创 java線程池的原理和美團業務實踐應用

隨着計算機行業的飛速發展,摩爾定律逐漸失效,多核CPU成爲主流。使用多線程並行計算逐漸成爲開發人員提升服務器性能的基本武器。J.U.C提供的線程池ThreadPoolExecutor類,幫助開發人員管理線程並方便地執行並行任務。瞭解併合理

原创 生產的一個問題的通徹思考:Eureka註冊中心集羣如何實現客戶端請求負載及故障轉移?

前言 先拋一個問題給我聰明的讀者,如果你們使用微服務SpringCloud-Netflix進行業務開發,那麼線上註冊中心肯定也是用了集羣部署,問題來了: 你瞭解Eureka註冊中心集羣如何實現客戶端請求負載及故障轉移嗎? 可以先思考一分鐘

原创 小心我擼了一個動態線程池!!!

線程池在日常工作中用的還挺多,當需要異步,批量處理一些任務的時候我們會定義一個線程池來處理。 在使用線程池的過程中有一些問題,下面簡單介紹下之前遇到的一些問題。 場景一:實現一些批量處理數據的功能,剛開始線程池的核心線程數設的比較小,然後

原创 不要再 if...else了,才能看出你的編碼功底

前言 if...else 是所有高級編程語言都有的必備功能。但現實中的代碼往往存在着過多的 if...else。雖然 if...else 是必須的,但濫用 if...else 會對代碼的可讀性、可維護性造成很大傷害,進而危害到整個軟件系統

原创 一次非常有意思的sql優化

一次非常有意思的 SQL 優化經歷:從 30248.271s 到 0.001s 互扯程序 昨天   場景 索引優化 單列索引 多列索引 索引覆蓋 排序 場景 我用的數據庫是mysql5.6,下面簡單的介紹下場景

原创 秒殺系統架構面試經典分析

秒殺業務分析   正常電子商務流程:   查詢商品 創建訂單 扣減庫存 更新訂單 付款 賣家發貨   秒殺業務的特性:   低廉價格 大幅推廣 瞬時售空 一般是定時上架 時間短、瞬時併發量高