跟我學Spring Cloud-26-Elasticsearch作為Zipkin的後端存儲

前文搭建的Zipkin Server是沒有後端存儲的——數據會存儲在Zipkin的內存中。這一般不適合生產,本節來探討如何將Zipkin中的數據持久化。

Zipkin支持多種存儲:

  • 內存(默認)
  • MySQL(數據量大時,查詢較為緩慢,不建議使用)
  • Elasticsearch
  • Cassandra(Twitter官方使用Cassandra作為Zipkin Server的存儲,但國內大規模用Cassandra的公司較少,Cassandra相關文檔也不多)

綜上,個人建議使用Elasticsearch作為Zipkin Server的存儲。

OK,話不多說,來搭建吧。

搭建

  • 前往 https://www.elastic.co/products/elasticsearch 下載Elasticsearch,筆者使用的版本是 elasticsearch-6.5.3
  • 啟動Elasticsearch:
cd elasticsearch-6.5.3/bin
./elasticsearch

# Elasticsearch集群的搭建大家自己百度一下吧,也很簡單。本文主要是講Zipkin,只用一個實例演示就可以了。
  • 執行如下命令,啟動Zipkin Server
STORAGE_TYPE=elasticsearch ES_HOSTS=localhost:9200 java -jar zipkin-server-2.11.3-exec.jar
  • 其中:STORAGE_TYPE 指定存儲類型是啥;ES_HOSTS 指定你的Elasticsearch地址列表,多個用 , 分隔。還可指定其他環境變量,詳見:https://github.com/openzipkin/zipkin/tree/master/zipkin-server#elasticsearch-storage
  • 訪問 http://localhost:9411/ 即可看到Zipkin Server的首頁。

測試

測試步驟非常簡單:

  • 按照 跟我學Spring Cloud(Finchley版)-25-Spring Cloud Sleuth與Zipkin配合使用 一節的描述,往Zipkin Server中存儲一些數據
  • 停止Zipkin Server
  • 再次啟動Zipkin Server,查看之前存儲的數據是否存在,如果存在說明數據已被持久化。

乾貨分享

最近將個人學習筆記整理成冊,使用PDF分享。關注我,回覆如下代碼,即可獲得百度盤地址,無套路領取!

  • 001:《Java併發與高併發解決方案》學習筆記;
  • 002:《深入JVM內核——原理、診斷與優化》學習筆記;
  • 003:《Java面試寶典》
  • 004:《Docker開源書》
  • 005:《Kubernetes開源書》
  • 006:《DDD速成(領域驅動設計速成)》

您的關注是對我最大的支持!

本文首發:http://www.itmuch.com/spring-cloud/finchley-26/


分享到:


相關文章: