NashTech

ライトベンド、米航空宇宙大手をカバーするリアクティブ・アプリケーション

米国の大手航空宇宙をカバーするリアクティブ・アプリケーション。

はじめに

このアプリケーションはリアクティブに最適で、ライトベンドのリアクティブ・テクノロジー・スタック全体がその実現に貢献しました。 アプリケーションはマイクロサービスに基づいているため、設計は非常に拡張可能でスケーラブルである。 さらに、アプリケーションの一部が機能不全に陥ったとしても、ダウンタイムに直面することはない。

フリーバードについて

フリーバードは、フライトのキャンセル、4時間の遅延、乗り継ぎの失敗が発生した場合、旅行者が列に並ぶことなく、どの航空会社の新しい航空券でも即座に予約できるモバイル・フライト予約変更プラットフォームを提供している。 このプラットフォームは、フライトが中断した場合に旅行者に即座に通知し、モバイル機器を通じて再予約する機能を提供する。 プロジェクト「thePlatform」は、B2Bプロセスをより簡単にすることを目的としている。 これにより、パートナーはプラットフォームと交流することができる。 フライトが何らかの理由で中断された場合、旅行者はSMSとEメールでさまざまな再予約オプションを受け取る。 その後、旅行者は1つのオプションを選択することができ、freebirdは彼らのために新しいチケットを予約する。

課題

アプリケーションの基本的な流れは非常にシンプルだが、混乱がないかをチェックするために、アプリケーションが米国の航空宇宙全体をカバーする必要があるときに課題が生じる。 単一の情報源では信頼できないため、複数の情報源を使ってフライト状況を追跡している。 再予約のオプションを旅行者に即座に送ることができるように、ステータスは頻繁に取得され、データベースに取り込まれる必要がある。 ソースからステータスを取得するたびに、そのステータスに多くの変更が発生するため、膨大な量のデータを頻繁に処理する必要がある。 これはプラットフォームにとって1つの課題に過ぎず、フライトの空席状況やパートナーの好みにも対応する必要がある。

もうひとつの課題は、旅行が中断された場合の代替便を見つけることだ。 利用可能なフライトは、また別のソースから取得する必要がある。 すべての旅行にはさまざまなシナリオがあり、好みも異なる。代替便のソースを打つ前に、すべてのシナリオをうまく作成しなければならない。 代替便が作成されたら、旅行者にオプションとして送信し、カスタマーケアサービスに十分な情報を提供する。

APIはすべての課題の中で最もシンプルに見えるが、しかし、混乱監視を簡単に行えるように十分な情報を生成するためには、多くの操作を処理する必要がある。 クライアントが作成したデータだけでなく、バックエンドに取り込まれたフライト情報も検索する必要があった。

私たちのソリューション

ナッシュテックは、DDDアプローチによるアプリケーションの構築に着手した。 バウンデッド・コンテキストを特定し、マイクロサービス・アーキテクチャでアプリケーションを作成した。 価格設定と購入のためのAPI以外は、すべて非同期だった。 アーキテクチャはコレオグラフィックに設計され、サービス間のメッセージ・ブローカーとしてkafkaを使用した。 そのストレージレイヤーは、基本的に「分散トランザクションログとして設計された大規模スケーラブルなパブ/サブメッセージキュー」である。 各サービスの内部では、Scalaの関数型プログラミング、フューチャー、そして必要に応じてAkkaを多用した。 データの取り込みプロセスは膨大で、そのため背圧を処理するためにKafkaが各所で使用された。

大量のデータをデータベースに取り込むため、検索は慎重に行う必要があり、そのためElastic Searchを使用した。 これは、検索が行われた可能性のあるデータに基づいてデータの一部を保持し、更新されたデータがデータベースからフェッチされるインデックス・ポイントを返す。

ナッシュテックのスクラムとXPを使った開発方法は、スプリントでプロジェクトを構築するために使われた。 アジャイルであることの利点は、プロジェクトの開発期間中にたくさん発見された。 e2eテストケースの数が最も少なく、e2eよりも統合テストケースが多く、ユニットテストケースが大部分を占めるピラミッド型テストケース戦略を考慮し、TDDに高い焦点を当てた。 GitFlowがブランチ戦略として使用されたため、コード管理で苦労することはなかった。

その結果

テクノロジー・スタックとアーキテクチャは、プラットフォームに求められるSLAを満たしていた。 このアプリケーションはリアクティブに最適で、ライトベンドのリアクティブ・テクノロジー・スタック全体がその実現に貢献しました。 アプリケーションはマイクロサービスに基づいているため、設計は非常に拡張可能でスケーラブルである。 さらに、アプリケーションの一部が機能不全に陥ったとしても、ダウンタイムに直面することはない。

ケーススタディをもっと読む

THE OUTがプレミアムレンタカー業界をどのように破壊するか

ベトナムのナッシュテック開発チームと緊密に協力し合うことで、高品質でデジタルファーストの高級レンタカーサービスを構築することができた。 将来を見据えて、THE OUTは製品ロードマップに注力し、旅行代理店やコンシェルジュ・パートナーを含むB2B顧客へのサービスを拡大し、そのための新しいポータルを構築している。

特注のデスク予約システムでハイブリッド勤務を実現:内部の視点

ナッシュテックの社内デスク予約ソフトウェアがどのように職場の効率化を促進し、高い精度で稼働率を測定したかをご覧ください。

オーストラリアで設立された広告・メディア費ビジネスは、ナッシュテックの支援により、いかにして駆け出しのビジネスから世界的な大企業へと成長したのか?

オーストラリアで設立された広告・メディア支出企業は、現在世界的な事業展開をしており、ナッシュテックがその成長を支えていることを知っている。

私たちのパートナーシップ

上部へスクロール