Serving Engine as a Service at Yahoo! JAPAN #SolrJP
1. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
2018年7月20日
Masakazu Nagaya
Serving Engine as a Service at Yahoo! JAPAN
2. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
ABYSS2のご紹介
3. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
ABYSS2は検索に特化した社内プラットフォーム
3
2014年に稼働した第2世代
SolrCould as a Service
ユーザーはWebUIから作成/削除
小中規模のユーザーがメインターゲット
PS. 大規模は伝統的にVespaの採用が多い
4. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
社内有数のプロダクトへ成長
4
リクエスト数 35,000req/sec以上
コレクション数 500以上
Solrの台数 4,000以上
チーム 運用1.5名, 次世代開発2.5名
PS. 1日平均10VMは落ちるので復旧作業を自動化
5. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
インフラは社内のOpenstackを利用
CentOS6/OracleJDK1.8
構成は松竹梅を用意
- 4vCPU/6144M
- 12vCPU/12288M
- XeonD-1541/32768M
シャード数/レプリカ数で調整
5
PS. 負荷試験を義務づけており測定結果で決める
6. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
「アンバサダー パターン」っぽいシステム構成
6
LB (L3DSR) Solr Cloud
Proxy Control API / Admin UI
Service Discovery
LB (L3DSR) Solr Cloud
Proxy Control API / Admin UI
運用者
各サービス FE/API/Internal CDN
7. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
Solrのサポートバージョンは3つを上限に設定
7
5.5.4/6.4.2/7.3.1(検証中)
セキュリティパッチは都度対応
PS. 移行作業は新旧の平行稼働後に切替が一般的
8. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
Solrやプラグインで機能を独自に拡張
8
ランキングプラグイン (昨年の話)
日本語形態素解析 (WebMA)
Boost Term (キーワードスコア)
更新処理のGZipサポート (SOLR-7925)
など
PS. ニーズがありますか?
9. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
想定ユーザはあくまでも検索サービスに設定
9
非推奨な利用によるビジネスの成長を保証しない
- データベース/NOSQL/OLAPでの利用
- データの堅牢性とトランザクション
- スケーラビリティの確保
- 大量の件数取得
- ディープページング
- ワイルドカード
- 大量OR検索
PS. ビジネス成長と計算能力の進化どちらが速い?
10. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
マイクロサービスへの取り組み (実施中)
メトリックス
- Prometheus + Grafana
ログダッシュボード
- ELK Stack (vs Splunk)
分散トレーシング
- 検討中 (Instana vs Zipkin・・)
認証
- 検討中 (Athenz)
10
PS. 世の中のトレンドに応じてベストな選択を行う
11. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
jemallocによる性能改善 (実施中)
11
スレッドのアプリの高速化の定番手法
tcmalloc や vespa_malloc もある
3-10%程度の高速化を期待
PS. LD_PRELOADでシンボルを乗っ取る系
12. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
まとめ
12
Apache Solrは、Yahoo! JAPANの多く
サービスの要求を満たすことが可能
ABYSS2は、プラットフォーム化により
Solrの運用コスト削減とエコシステムを提供
開発/運用のノウハウの共有はとても大切
13. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
EOF