一、中間件
二、微服務架構
https://www.processon.com/view/604b00d71e08537ac5bcda02
我們項目的流程
1、拉取gitlib代碼
2、maven代碼檢查
3、maven構建
4、生成鏡像
git rev-parse --short HEAD獲取最新的commit id
使用dockerfile的docker build創建鏡像,
docker tag 標記鏡像,
docker push將本地的鏡像上傳到鏡像倉庫,
docker rmi 刪除本地鏡像
5、拉取鏡像,發布測試或者生產
三、集群和分布式,https://www.cnblogs.com/yinwenbin/p/11862793.html
微服務中不同中心是分布式
微服務中同一個中心下多個服務是集群
四、ELK
一個完整的集中式日志系統,是離不開以下幾個主要特點的。參考:https://zhuanlan.zhihu.com/p/121099453
1、收集 - 能夠采集多種來源的日志數據
2、傳輸 - 能夠穩定的把日志數據傳輸到中央系統
3、存儲 - 如何存儲日志數據
4、分析 - 可以支持 UI 分析
5、警告 - 能夠提供錯誤報告,監控機制
ELK其實並不是一款軟件,而是一整套解決方案,是三個軟件產品的首字母縮寫,Elasticsearch,Logstash 和 Kibana。
Logstash 數據收集引擎
Elasticsearch 是一個實時的分布式搜索和分析引擎,它可以用於全文搜索,結構化搜索以及分析
Kibana 為Elasticsearch提供分析和可視化的 Web 平台
五、ETL
ETL是將業務系統的數據經過抽取、清洗轉換之后加載到數據倉庫的過程;
目的是將企業中的分散、零亂、標准不統一的數據整合到一起,為企業的決策提供分析依據。
Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS為海量的數據提供了存儲,而MapReduce則為海量的數據提供了計算;
Spark,擁有Hadoop MapReduce所具有的優點;
但不同於MapReduce的是——Job中間輸出結果可以保存在內存中,從而不再需要讀寫HDFS,
因此Spark能更好地適用於數據挖掘與機器學習等需要迭代的MapReduce的算法