合同会社DMM.com / 検索アプリケーショングループ
更新システムリニューアル
検索エンジンをElastic Cloudに移行したことから、AWSを使うメリットが薄れ、他チームのシステムとの連携なども考えてGoogle Cloudへの移行を開始しました。 その中で、検索エンジンへの更新システムを大きく刷新し、Google Cloudで作り直しました。 元々は更新API→Kafka→更新workerという構成でScalaを使ったアプリケーションを運用していましたが、Scalaのメンテナンスができていなかったのと、Kafkaは中のデータ確認などが難しく、更新データを細かく辿ることが難しかったことからGoogle Cloudでは中間にMySQLを配置した以下のような構成にしました。 更新API→Pub/Sub→更新worker→MySQL→Logstash MySQLをCloud SQLで運用しており、メンテナンスが定期的に発生することから、一時的なコネクションエラーを救うためにPub/Subを導入しており、またElasticsearchへの更新がデフォルトで機能として備わっているLogstashを使うことでアプリケーションの開発コストを下げる狙いがありました。実際にはこれまで使ってこなかったツールを様々使っているため、現状運用は日々苦労しているところはありますが、MySQLを挟んだことで、これまで検索チームではあまり意識できていなかった細かなデータ分析なども可能になりました。
