原创 線上環境應用程序消耗CPU過高問題排查

一、CPU使用率過高的原因一般是:  1、線程空耗,如大量線程獲取鎖的過程中自旋等待;  2、系統進行密集運算(密集數學運算的AI程序等);  3、內存不足造成JVM頻繁fullGC;  4、系統正在進行大量線程上下文切換消耗資源;  線程

原创 微服務設計(五)---分佈式配置中心與spring cloud stream

一、Spring Cloud Stream   在實際的企業開發中,消息中間件是至關重要的組件之一。消息中間件主要解決應用解耦,異步消息,流量削鋒等問題,實現高性能,高可用,可伸縮和最終一致性架構。不同的中間件其實現方式,內部結構是不一樣的

原创 微服務設計(四)---微服務網關與鏈路追蹤

一、微服務網關概述   如下圖:   不同的微服務一般會有不同的網絡地址,客戶端在訪問這些微服務時必須記住幾十甚至幾百個地址,這對於客戶端方來說太複雜也難以維護。如果讓客戶端直接與各個微服務通訊,可能會有很多問題: 客戶端會請求多個不同的

原创 微服務設計(三)---服務調用Feign及服務熔斷機制Hystrix

一 、Ribbon概述      Netflixfa 發佈的一個負載均衡器,有助於控制HTTP和TCP客戶端行爲。在SpringCloud中,Ribbon提供了客戶端負載均衡的功能,Ribbon自動從服務註冊中心Eureka中讀取到的服務提

原创 微服務設計(一)---微服務架構基礎

一、系統架構的演變 1、技術架構發展歷史時間軸        ①單機垂直拆分:應用間進行了解耦,系統容錯提高了,也解決了獨立應用發佈的問題,存在單機計算能力瓶頸。    ②集羣化負載均衡可有效解決單機情況下併發量不足瓶頸。  ③服務改造架

原创 ThreadLocal與線程控制

一、ThreadLocal原理分析    1、概念        ThreadLocal類並不是用來解決多線程環境下的共享變量問題,而是用來提供線程內部的共享變量。在多線程環境 下,可以保證各個線程之間的變量互相隔離、相互獨立。   2、核

原创 Java鎖原理與應用

 一、鎖   鎖是一種互斥的機制,在多線程環境中實現對資源的協調與控制,凡是有資源被多線程共享,涉及到修改的情況就要考慮鎖的加持。  (0)Java鎖原理   0)引申:Java對象結構     Java對象結構分爲3部分:     ①對象

原创 數據結構與算法核心知識(精簡版)

一、數據結構的理解   簡單地說,數據結構是計算機組織數據和存儲數據的方式;即數據結構是指一組相互之間存在一種或多種特定關係的數據的組織方式和它們在計算機內的存儲方式,以及定義在該組數據上的一組操作。  引申: 1、計算機解決一個具體問題時

原创 Elasticsearch(二)--集羣原理及優化

 一、ES原理 1、索引結構ES是面向文檔的   各種文本內容以文檔的形式存儲到ES中,文檔可以是一封郵件、一條日誌,或者一個網頁的內容。一般使用 JSON 作爲文檔的序列化格式,文檔可以有很多字段,在創建索引的時候,我們需要描述文檔中每個

原创 事務原理及應用

一、核心概念     1、概念   數據庫事務:數據庫事務( transaction)是訪問並可能操作各種數據項的一個數據庫操作序列,這些操作要麼全部執行,要麼全部不執行,是一個不可分割的工作單位。   事務概念擴展:事務概念來源於數據庫事

原创 Elaticsearch(一)--基礎原理及用法

一、基礎概念 1、Elasticsearch簡介   Lucene是Java語言編寫的全文(全部的文本內容進行分析,建立索引,使之可以被搜索)檢索引擎工具包(全文檢索引擎的架構),用於處理純文本的數據,提供建立索引、執行搜索等接口,但不包含

原创 Flink項目實戰(二)---原理及調優

1、checkPoint  (1.1)Flink 中的每個方法或算子都是有狀態的。 狀態化的方法在處理元素/事件的時候存儲數據,使得狀態成爲使各個類型的算子重要部分。 Flink 通過爲狀態添加 checkpoint(檢查點),使狀態具備容

原创 Flink項目實戰(一)---核心概念及基本使用

前言、flink介紹:   Apache Flink 是一個分佈式處理引擎,用於在無界和有界數據流上進行有狀態的計算。通過對時間精確控制以及狀態化控制,Flink能夠運行在任何處理無界流的應用中,同時對有界流,則由一些專爲固定數據集設計的算

原创 AI項目實戰-機器學習算法(基礎篇)

  說明:本文的側重點在於快速瞭解機器學習在項目中涉及到常見算法概念、應用,以及在保持核心原理本質的前提條件下,儘量用簡單易懂的方式介紹這些算法原理,拋磚引玉,打破心理障礙,讓AI儘快走進項目,服務於社會(後續會逐漸對原理進行展開深入分析,

原创 AI入門與項目實戰(基礎概念)

一、概念 1、人工智能、機器學習、深度學習 (1)人工智能; (2)機器學習(從數據中自動分析獲得的模型,並利用模型對未知數據進行預測)是人工智能的一個實現途徑,即選擇合適的算法對模型訓練; (3)深度學習是機器學習的一個方法發展而來。 2