java - 在调用链日志存储和展现的过程中 HBase 和 ElasticSearch 如何取舍?
怪我咯
怪我咯 2017-04-18 10:33:44
0
2
592

要做微服务首先得把全链路监控搭起来,参考过一些方案,拿其中唯品会的方案来举例:

调用链信息分别存储于 HBaseElasticSearch中,ElasticSearch 单纯承担起类似于 Solr 的角色,查询的时候只需要通过 ElasticSearch 的倒排索引查到相关的 Rowkey 再去 HBase 里通过 Rowkey 查得完整调用链信息,并将起展现出来。

我知道 ElasticSearch 本身其实可以做可靠性存储的,为什么不直接将 Trace 调用链信息全量存入 ElasticSearch 中,这里借用 HBase 意义何在?

如果是为了后续的批处理计算,也感觉不妥,ES 也有 hadoop插件,可以做集成。
如果说 HBase 能够承受更大的吞吐,感觉也不对,ES 能承受的吞吐也不小。

关于这个问题我依旧思考不出个所以然来,忘各位给出见解,谢谢了!

怪我咯
怪我咯

走同样的路,发现不同的人生

全員に返信(2)
小葫芦

Vipshop がどのように設計されているかはあまり明確ではありません。

twitter のオープンソース zipkin 分散トレーシング システムが trace 情報を elasticsearch に直接保存していることは知っています。もちろん、zipkin は、mysql/nosql などの他の多くのストレージ方法もサポートしています。ジップキンzipkin分布式追踪系统是直接将trace信息直接存储在 elasticsearch 中的。当然zipkin还支持很多其它的存储方式如mysql/nosql。zipkin

条条大路通罗马。我认为不需要太纠结于别人为什么要这样选择,更多应该关注别人做成了什么。这当中有很多原因外人是无法知道的,也许就是个人便好,也许跟公司内部技术有关,也许有其它考量。
但是至少有一点是可以确定的要实现相同的功能,并不一定要选择hbase + elasticsearch

すべての道はローマに通ず。他の人がなぜそのような選択をしたのかにあまりこだわる必要はないと思います。他の人が何をしたかにもっと注意を払うべきです。これには、外部の者が知ることができない多くの理由があり、それは個人的なものである場合もあれば、会社の内部テクノロジーに関連している場合もあれば、その他の考慮事項がある場合もあります。
しかし、少なくとも 1 つ確かなことは、同じ機能を実現するために hbase + elasticsearch を選択する必要はないということです。 🎜
いいねを押す +0
巴扎黑

hbase は基本バージョンとみなされます。
分析を行いたい場合は、やはり es を使用する必要があります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート