---
title: Serving Engine as a Service at Yahoo! JAPAN #SolrJP
tags:  #solrjp  
author: [Yahoo!デベロッパーネットワーク](https://www.docswell.com/user/ydnjp)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/D7YPXLY67M.jpg?width=480
description: 第21回 Lucene/Solr勉強会 https://solr.doorkeeper.jp/events/75586 発表資料
published: July 20, 18
canonical: https://www.docswell.com/s/ydnjp/52Y375-2018-07-20-152005
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/D7YPXLY67M.jpg)

Serving Engine as a Service at Yahoo! JAPAN
2018年7月20日
Masakazu Nagaya
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.


# Page. 2

![Page Image](https://bcdn.docswell.com/page/VEN514R1J8.jpg)

ABYSS2のご紹介
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.


# Page. 3

![Page Image](https://bcdn.docswell.com/page/Y79Y5QMYE3.jpg)

ABYSS2は検索に特化した社内プラットフォーム
2014年に稼働した第2世代
SolrCould as a Service
ユーザーはWebUIから作成/削除
小中規模のユーザーがメインターゲット
PS. 大規模は伝統的にVespaの採用が多い
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/G786YGLKJD.jpg)

社内有数のプロダクトへ成長
リクエスト数 35,000req/sec以上
コレクション数 500以上
Solrの台数 4,000以上
チーム 運用1.5名, 次世代開発2.5名
PS. 1日平均10VMは落ちるので復旧作業を自動化
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/L7L94GLPER.jpg)

インフラは社内のOpenstackを利用
CentOS6/OracleJDK1.8
構成は松竹梅を用意
- 4vCPU/6144M
- 12vCPU/12288M
- XeonD-1541/32768M
シャード数/レプリカ数で調整
PS. 負荷試験を義務づけており測定結果で決める
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/4EMZKQM27W.jpg)

「アンバサダー パターン」っぽいシステム構成
各サービス FE/API/Internal CDN
LB (L3DSR)
Proxy
Solr Cloud
Control API / Admin UI
Solr Cloud
Control API / Admin UI
Service Discovery
LB (L3DSR)
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
Proxy
運用者
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/PER6X8V5J9.jpg)

Solrのサポートバージョンは3つを上限に設定
5.5.4/6.4.2/7.3.1(検証中)
セキュリティパッチは都度対応
PS. 移行作業は新旧の平行稼働後に切替が一般的
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/P7XM68ZXJX.jpg)

Solrやプラグインで機能を独自に拡張
ランキングプラグイン (昨年の話)
日本語形態素解析 (WebMA)
Boost Term (キーワードスコア)
更新処理のGZipサポート (SOLR-7925)
など
PS. ニーズがありますか？
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/37KG1K89ED.jpg)

想定ユーザはあくまでも検索サービスに設定
非推奨な利用によるビジネスの成長を保証しない
-
データベース/NOSQL/OLAPでの利用
-
データの堅牢性とトランザクション
-
スケーラビリティの確保
-
大量の件数取得
-
ディープページング
-
ワイルドカード
-
大量OR検索
PS. ビジネス成長と計算能力の進化どちらが速い？
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/LJ3NQZ29J5.jpg)

マイクロサービスへの取り組み (実施中)
メトリックス
-
Prometheus + Grafana
ログダッシュボード
-
ELK Stack (vs Splunk)
分散トレーシング
-
検討中 (Instana vs Zipkin・・)
認証
-
検討中 (Athenz)
PS. 世の中のトレンドに応じてベストな選択を行う
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/8JDW9RZ8EG.jpg)

jemallocによる性能改善 (実施中)
スレッドのアプリの高速化の定番手法
tcmalloc や vespa_malloc もある
3-10%程度の高速化を期待
PS. LD_PRELOADでシンボルを乗っ取る系
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/VEP9ZWDW78.jpg)

まとめ
Apache Solrは、Yahoo! JAPANの多く
サービスの要求を満たすことが可能
ABYSS2は、プラットフォーム化により
Solrの運用コスト削減とエコシステムを提供
開発/運用のノウハウの共有はとても大切
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/27VMW8197Q.jpg)

EOF
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.


