Integration Technologies
これは、SDLC の各ステージにおいて、顧客との作業を通じて収集されたベストプラクティスのコレクションです。このリストは網羅的なものではありませんが、特定のステージや機能に関するミーティングに臨む際に SA にとって有用なポインタを提供します。
トピックリスト
| トピック | 説明 |
|---|---|
| 1. Elasticsearch - 高度な検索 | Elasticsearch を有効化することで、GitLab のアーティファクトをより速く正確に検索する |
Elasticsearch による高度な検索
検索は私たちの日常生活において非常に重要な側面です。近隣のレストランへの案内をするナビゲーションアプリの利用から、母国語にない単語を翻訳することまで、検索機能は高速で正確、かつ柔軟であり、可能な限り関連性の高い結果を得られることが極めて重要です。
Elasticsearch との統合により、Lucene ライブラリを活用して GitLab ユーザー向けの高度な検索機能を提供できます。
アーキテクチャ
Elasticsearch はクラスタリングを活用してノード全体で検索、タスクの分散、インデックス作成を行い、高性能な検索を実現します。テスト環境にデプロイされている場合を除き、通常 Elasticsearch クラスタは クォーラム を確立するために少なくとも 3 ノードを持つべきです。
クラスタが拡大するにつれ、ユーザーの並行性を向上させたり、レジリエンシー を向上させるために、より多くのノードをクラスタに追加できます。
インストールと統合
グローバルサーチチーム は、Elasticsearch のセットアップと GitLab との統合に関する基本的な「ノウハウ」について ページ を維持しています。
インストールオプション
Elasticsearch は、ほとんどの プラットフォーム にインストールできます。お客様に Kubernetes の採用を推奨することと一貫して、Elasticsearch にも公式の Kubernetes operator と docker image があり、デプロイプロセスを簡素化し、検索トラフィックに応じてクラスタを迅速にスケールアウトすることを支援します。
デモリソースとサンプル
デモサンプル:
FAQ
質問: Elasticsearch を GitLab と同じホストで実行することを推奨しますか?
回答: いいえ。Elasticsearch は JVM ヒープ に割り当てられていないメモリとファイルディスクリプタを消費します(例: 結果のキャッシング、集計など)。その結果、さまざまなシステムリソースの競合が発生し、セットアップ全体が不安定になる可能性があります。
質問: Elasticsearch の操作はトランザクショナルですか?
回答: いいえ、デフォルトではそうではありません。Elasticsearch は ACID 準拠であるよう設計されていません。
bfd74782)