孫玄、Zhuanzhuan 社アーキテクチャアルゴリズム部門: AI によるマイクロサービスアーキテクチャ

孫玄、Zhuanzhuan 社アーキテクチャアルゴリズム部門: AI によるマイクロサービスアーキテクチャ

[51CTO.com からのオリジナル記事] 2014 年頃から、マイクロサービス アーキテクチャの概念が徐々に普及してきました。Amazon や Netflix などの有名なインターネット企業のアプリケーション プラクティスと相まって、開発者はマイクロサービスがアーキテクチャ レベルでボトルネックを打破できると確信するようになりました。今日では、新しく開発されたシステムであれ、10 年以上前のレガシー システムであれ、マイクロサービス チームについて話さないことは稀です。では、マイクロサービス アーキテクチャの現在の適用状況はどうでしょうか?デメリットは何ですか? AI テクノロジーの実装によってどのような課題がもたらされるのでしょうか?

最近、2018 WOTグローバルソフトウェアおよび運用技術サミットの重鎮ゲストであり、Zhuanzhuanのアーキテクチャアルゴリズム部門の責任者であるSun Xuanが独占インタビューに応じました。インタビューでは、マイクロサービスアーキテクチャの利点、アプリケーションシナリオ、Zhuanzhuanのマイクロサービスアーキテクチャの進化、およびAIテクノロジーアプリケーションが直面しなければならない課題に焦点を当てました。

[[227143]]

孫玄、Zhuanzhuan 社の建築家 / 建築アルゴリズム部門責任者

マイクロサービスアーキテクチャの利点、適用シナリオ、欠点

マイクロサービスアーキテクチャの特徴

マイクロサービス アーキテクチャについて話す前に、まずモノリシック アーキテクチャについて話す必要があります。モノリシック アーキテクチャとは、すべてのビジネス機能が 1 つのプロセスで実装されることを意味し、次の 2 つの利点があります。

まず、リクエスト応答の遅延が低いです。クライアントのリクエストを受信した後、1 回のネットワーク インタラクションの後に、データベースからデータが一括して取得されます。残りの機能はすべてプロセス内で完了し、複数のネットワーク インタラクションを回避します。

2 つ目は、プロセスが 1 つだけなので、導入や運用・保守のコストが低く抑えられることです。

しかし、ビジネス機能単位間の結合が激しい、スケーラビリティが低い、テクノロジの選択が単一である(1 つのプロセスで複数の開発言語を使用できるかどうか)などの欠点も明らかです。その中でも、最大の問題は、アーキテクチャが粗すぎるため、システムの反復速度に重大な影響を与えることです。

モノリシック アーキテクチャでは、急速に成長するインターネット ビジネスのニーズを満たすことが難しいため、特定の次元に従って分割されます。

  • システムを水平に分割します (水平階層化アーキテクチャ)。
  • ビジネス機能に応じた垂直分割(SOA アーキテクチャ)。
  • ビジネス機能に応じて垂直に分割し、システムに応じて水平に分割します (マイクロサービス アーキテクチャ)。

下の図に示すように、マイクロサービス アーキテクチャは 2014 年に Martin Fowler によって提案されたアーキテクチャ パターンです。

マイクロサービス アーキテクチャは、一般的に、業務領域に応じてサービスを分割し、一連の小さなサービスで構成され、サービスを独立して展開し、独立して実行し、分散的にサービスを管理します (任意のサービスは、C/PHP/Go/Java など、任意の言語で開発できます)。

Linux/Windows などのあらゆるプラットフォームで実行可能 (理想はフル機能ですが、現実は比較的スリムです)。

孫玄氏は、マイクロサービスはまずビジネスドメインモデルに従って垂直に分割され、つまり、異なるビジネス機能単位に従って垂直に分割されると述べました。その後、垂直に分割されたサービスがさらに水平方向に分割されます。

マイクロサービスアーキテクチャの利点と現状

マイクロサービス アーキテクチャの利点について尋ねられた Sun Xuan 氏は、マイクロサービス アーキテクチャを採用した後、プロジェクトは迅速な反復と継続的な配信を実現できると述べました。サービス アーキテクチャの出現により、水平階層化アーキテクチャと SOA アーキテクチャの不完全な分割の問題が解決されます。

  • ビジネスの観点から見ると、マイクロサービス アーキテクチャは本質的にビジネス アーキテクチャです。ビジネスに対する理解が深まれば深まるほど、マイクロサービスの分割はより合理的になります。
  • システムの観点から見ると、マイクロサービス アーキテクチャは、水平階層型アーキテクチャと SOA アーキテクチャを組み合わせたものです。

マイクロサービス アーキテクチャについて語るとき、Netflix について言及する必要があります。 Netflix は、マイクロサービス アーキテクチャの実装に成功したインターネット企業です。数年前、Netflix はマイクロサービス フレームワーク スタックのほぼ全体をオープンソース コミュニティに提供しました。

Netflix のオープンソース フレームワーク コンポーネントは、Netflix の大規模分散マイクロサービス環境で長年にわたり運用検証されており、マイクロサービス フレームワークを構築するための標準コンポーネントとしてコミュニティに徐々に受け入れられています。昨年 Pivotal がリリースした Spring Cloud オープンソース製品は、主に Netflix オープンソース コンポーネントのさらなるカプセル化に基づいており、Spring 開発者がマイクロサービスの基本フレームワークを構築しやすくなっています。

マイクロサービスアーキテクチャの適用シナリオ

現在、国内の多くのシステムがマイクロサービス アーキテクチャを採用しており、Zhuan Zhuan 中古品取引プラットフォームもその 1 つです。社内でマイクロサービス アーキテクチャを積極的に実装するだけでなく、Baidu の ppc、Alibaba の Dubbo など、フレームワークをオープンソース化する企業もあります。

マイクロサービス アーキテクチャが適用できないアプリケーション シナリオは、内部システム、低レイテンシを必要とするシステム、強力な一貫性を必要とするデータの 3 つです。

内部システム

これらのシステムには、社内OAシステム(作業報告書など)、財務監査システム(精算システムなど)、人事システム(勤怠システムなど)、管理システム(会議室予約など)、運用保守自動化システム(作業指示システム、リリースシステム、CMDBシステムなど)が含まれます。このタイプのシステムは、機能が比較的単純で、要件が固定されており、変更頻度が低く、ユーザー数が少なく、平均訪問回数が少ないことが特徴です。このタイプのシステムでは、マイクロサービス アーキテクチャを使用する必要はほとんどありません。

システム要件: 低遅延

マイクロサービス アーキテクチャに従ってサービスを分割すると、サービスの数が増加し、サービス間の呼び出し関係が複雑になり、リクエスト チェーンが長くなり、平均リクエスト時間が長くなります。したがって、リクエスト時間の消費に非常に敏感なシナリオでは、マイクロサービス アーキテクチャは適切な選択ではありません。たとえば、定量取引のシナリオでは、リクエストは複数のサービスプロバイダーに届きます。どのサービスプロバイダーの応答が受け入れられるかは、サービスプロバイダーの応答速度によって異なります。このビジネスシナリオでは、応答速度が 1 ミリ秒遅い場合でも無効になります。

データには強い一貫性が必要

マイクロサービス アーキテクチャでは、データが比較的分散しており、データの一貫性、特に強力な一貫性を実装することが比較的困難です。したがって、データの強力な一貫性が求められるシナリオでは、マイクロサービス アーキテクチャは不適切になります。

上記の 3 つのシナリオに加えて、マイクロサービス アーキテクチャはインターネット上の他のシナリオでも使用できます。

孫玄氏は、マイクロサービス アーキテクチャにも明らかな欠点があると述べました。ビジネス ロジックの実装に重点を置くことに加えて、開発者はサービス登録、サービス検出、サービス通信、負荷分散、サービス サーキット ブレーク、要求タイムアウトの再試行など、マイクロサービス モジュール内の一連の問題にも対処する必要があり、これは非常に悪いことです。ビジネス開発チームの強みは、テクノロジーではなく、ビジネスへの理解にあります。ビジネス開発者がビジネス開発のみに集中し、サービス間通信やリクエスト管理機能を気にしなくて済むようにすることは可能でしょうか?サービス メッシュ アーキテクチャはこの問題を解決し、ビジネス開発者の負担を真に軽減します。

Zhuanzhuan中古プラットフォームのマイクロサービスアーキテクチャの進化

中古品ショッピングプラットフォームには、ユーザー機能、商品機能、取引機能、検索機能、推奨機能などが含まれます。各ビジネス ユニットは比較的独立しています。まず、ビジネス ドメイン モデルに従って、ユーザー、製品、トランザクション、検索、推奨のマイクロサービスに垂直に分割されます。機能単位(製品等)ごとに、製品ゲートウェイ層、製品ビジネスロジック層、製品データアクセス層、製品DB/キャッシュに水平分割し、同様にユーザー、トランザクション、検索、レコメンデーション、その他の業務についても水平分割します。

次の図は、Zhuan Zhuan Second-hand Easy Platform の最終的なマイクロサービス アーキテクチャを示しています。

中古取引プラットフォームには、登録センターと構成センターというサービス管理機能も含まれています。ゲートウェイはアクセス要求を担当し、ビジネス ロジック層はさまざまなビジネス ロジックを処理するために使用されます。データ アクセス層はデータ アクセス エージェントとして使用され、ORM、データ シャーディング、基盤となるストレージの違いのシールドなどの機能を提供します。登録センターはサービスの登録と検出を担当し、構成センターはパーソナライズされたサービス構成の読み取りを担当します。

製品機能がますます複雑になるにつれて、一部の機能はビジネス ロジック レイヤーで重複するようになります (たとえば、ビジネス ロジック レイヤーにはユーザー ログイン ロジック機能が必要です)。重複機能の問題を解決するには、それらをビジネス ロジック レイヤーの下に移動し、パブリック ビジネス ロジック レイヤーを抽象的に抽出します。ユーザーのリクエスト リンクは、ゲートウェイ、ビジネス ロジック レイヤー、パブリック ロジック レイヤー、およびデータ アクセス レイヤーになります。

AI におけるマイクロサービス アーキテクチャ

中古品取引プラットフォーム「Zhuan Zhuan」は、検索、パーソナライズされた推奨、リスク管理などの分野で AI 技術を活用しています。 AIの観点から見ると、Zhuanzhuan は機械学習、特に教師あり学習をより多く活用しています。当社ではディープラーニングの実験も行っており、リスク管理などの分野で活用され、良好な成果を上げています。

検索推奨に関しては、その本質は、大量の商品を呼び出して並べ替える問題を解決することです。

  • リコール層には大規模な製品データが関係します。製品リコールをより正確にする方法と複雑なモデルを使用する方法は、エンジニアリングとアルゴリズムの適用の両方で大きな課題に直面することになります。
  • ソートレイヤーはより多くの機能を使用し、複雑なソートモデルを適用して、最終的な順序をユーザーの期待にさらに沿わせます。

孫玄氏は、製品リコールの件数が増加し、機械学習モデルはますます複雑になっていると述べた。分散並列コンピューティング技術を合理的に使用して、ユーザーのリクエストにできるだけ早く応答できるようにする方法は、マイクロサービスエンジニアリングアーキテクチャにとってより大きな課題となるだろう。

では、製品の数が増え、機械学習モデルがますます複雑になるにつれて、エンジニアリング アーキテクチャ システムの観点からそれらをより適切にサポートするにはどうすればよいか、また、ユーザーのリクエストにできるだけ早く応答するにはどうすればよいか、という問題があります。

2018 年 5 月 18 日と 19 日、2018 WOT グローバル ソフトウェアおよび運用テクノロジー サミットの「コンテナでの AIOps」セッションで、Sun Xuan が「Zhuanzhuan が AI エンジニアリング アーキテクチャ システムを構築する方法」をテーマに講演します。そのとき、石器時代、鉄器時代、産業革命の各段階における工学建築システムの適用場面、建築上の特徴、さらに進化した理由などが詳しく説明されます。開発者は、Zhuanzhuan の AI エンジニアリング アーキテクチャ システムの進化の道筋を理解し、実践的な経験から学び、それを独自の AI エンジニアリング アーキテクチャに適用できます。

【インタビュー対象者プロフィール】

孫玄氏は現在、Zhuanzhuan 社のチーフ アーキテクト兼アーキテクチャ アルゴリズム部門の責任者であり、58 グループ技術委員会の元会長、シニア システム アーキテクトであり、「Beauty of Architecture」パブリック アカウントの著者でもあります。システムアーキテクチャ設計、ビッグデータ、機械学習などの技術分野に精通しています。彼は会社を代表して、Artificial Intelligence Conference、QCon、ArchSummit、SDCC、CCTC、DTCC、Top100、Strata + Hadoop World、WOT などのカンファレンスで講演を行い、Programmer 誌に 2 つの記事を執筆しました。 元Baiduシニアエンジニア。Baiduコミュニティ検索部の複数の基本システムの設計と実装に参加。浙江大学卒業。

【今月のランキング***0】

  1. 張震: AIOps の 6 つの技術的難しさと CreditEase の運用と保守における大きな変化
  2. 新居ネットワークの程永馨氏:AIの助けを借りて、運用保守プラットフォームは新たな活力を得ました
  3. SIEM&AIからSIEM@AIまで、AIが次世代のエンタープライズセキュリティの頭脳を構築
  4. 線形ネットワークに基づく音声合成のための話者適応
  5. 孫玄、Zhuanzhuan 社アーキテクチャアルゴリズム部門: AI によるマイクロサービスアーキテクチャ

[51CTO オリジナル記事、パートナーサイトに転載する場合は、元の著者とソースを 51CTO.com として明記してください]

<<:  7年間の変革:WOT2018がテクノロジーの背後にある真実を明らかにする

>>:  落とし穴を避けよう!ニューラルネットワークの欠点と短所を数え上げよう

ブログ    
ブログ    
ブログ    

推薦する

適切な人工知能を選択するにはどうすればよいでしょうか?

採用プロセスで人工知能テクノロジーに切り替えるのは難しいかもしれませんが、これらのヒントに従って、会...

...

人工知能と教育が出会うと、どのような火花が生まれるのでしょうか?

[[249507]]過去 1 か月間の教育業界のホットなキーワードを本当に選ぶとしたら、それは間違...

人工知能のもう一つの方向性:メモリスタに基づくストレージおよびコンピューティング技術

[[325184]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...

自動運転、顔認識…人工知能の時代が到来。私たちはどう対応すべきか?

2016年以降、人工知能がニュースに登場する頻度が高まっています。実は、理工系女子の私にとって、子...

海洋工学における生成AI:独自のデータセットが不十分なため、実用化が制限されている

現代のコンピューティングは造船や海洋工学における設計および建設プロセスを大幅に改善していますが、限ら...

インテルがモービルアイを買収、自動運転市場は3社間の競争の幕開けか

[51CTO.comより引用] 先日、インテルは、自動運転プラットフォームプロバイダーのMobile...

「一歩ずつ考えよう」というマントラよりも効果的で、プロジェクトが改善されていることを示す

大規模言語モデル (LLM) は、適切なプロンプトがあれば、多くの自然言語処理タスクにとって強力なツ...

2021年第2四半期の人工知能へのベンチャーキャピタル投資は200億ドルを超え、新たな記録を樹立した。

CB Insightsが発表した2021年第2四半期のAI(人工知能)レポートによると、疫病の刺激...

AIは生体認証のなりすまし攻撃を簡単に見分けることができる

研究論文によると、写真が実際に生きている人物を写したものか、それとも攻撃のデモンストレーションなのか...

...

...

OpenAIが安全チームを設置 準備: AIのリスクを評価し、外部からの悪用を防ぐ

OpenAIは10月27日、汎用人工知能(AGI)によって引き起こされる可能性のある壊滅的なリスクを...

誰もが今から準備すべき、2020 年のキャリアを変える 6 つのテクノロジー トレンド

[51CTO.com クイック翻訳] 新しいテクノロジーの導入により、私たちの職場は変化しています。...