跟我學Spring Cloud(Finchley版)-26-使用Elasticsearch作為Zipkin Server的後端儲存
阿新 • • 發佈:2019-04-18
前文搭建的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-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,檢視之前儲存的資料是否存在,如果存在說明資料已被持久化。
本文首發
http://www.itmuch.com/spring-cloud/finchley-26/
關注我