国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ PHPフレームワーク YII Yii2.0を使用してマイクロサービスを作成する

Yii2.0を使用してマイクロサービスを作成する

Nov 01, 2019 pm 04:15 PM
yii マイクロサービス

Yii2.0を使用してマイクロサービスを作成する

コンセプト


大規(guī)模な単一のアプリケーションとサービスを複數(shù)または數(shù)十に分割します。それぞれがマイクロサービスをサポートします。これにより、サービス レベル アグリーメントを満たすためにアプリケーション スタック全體ではなく、個(gè)々のコンポーネントがスケーリングされます。

従來(lái)の開(kāi)発モデルでは、すべての機(jī)能を 1 つのパッケージにまとめており、基本的に依存関係はありません。この利點(diǎn)は、開(kāi)発が簡(jiǎn)単、集中管理、すべての機(jī)能がローカルであり、分散管理やスケジューリングがないことです。 。しかし、欠點(diǎn)も明らかです。効率が低く、開(kāi)発者全員が同じプロジェクト內(nèi)のコードを変更してお互いを待ち、競(jìng)合が続きます。安定性が悪く、小さな問(wèn)題によりアプリケーション全體がハングアップする可能性があります。さらに、リソースの利用には明らかな欠點(diǎn)があり、たとえば、電子商取引のダブル 11 プロモーション シナリオでは、注文のプレッシャーが非常に高く、評(píng)価のプレッシャーが比較的小さいため、一時(shí)的に割り當(dāng)てを増やすことができればと考えています。ダブル 11 の大規(guī)模なプロセスに対処するには、固定點(diǎn)でサービスを注文するために追加の割り當(dāng)てを追加するだけではなく、すべてのリソースの割り當(dāng)てを増やすことしかできません。したがって、マイクロサービス アーキテクチャは徐々に普及し、大規(guī)模な Web サイト プラットフォームに適用されるようになりました。

おすすめ: 「Yii2.0 フレームワークの紹介と実踐的なプロジェクト開(kāi)発ビデオチュートリアル #」

それでは、今日のトピックである Yii でマイクロサービスを?qū)g行する方法を紹介します。 ? Yii は、基本テンプレートと高度なテンプレートに含まれる機(jī)能がなくても簡(jiǎn)単に使用できます。言い換えれば、Yii はすでにマイクロフレームワークです。テンプレートによって提供されるディレクトリ構(gòu)造は、Yii で動(dòng)作するために必要ありません。

Yii のインストール


プロジェクトのディレクトリを作成し、作業(yè)ディレクトリをそのパスに変更します。例で使用されているコマンドは Unix ベースですが、同様のコマンドが Windows にも存在します。

mkdir micro-app
cd micro-app

注: 続行するには、Composer の知識(shí)が必要です。 Composer の使用方法がまだわからない場(chǎng)合は、時(shí)間をかけて Composer ガイドを読んでください。

お好みのエディターを使用して、マイクロアプリ ディレクトリにcomposer.json ファイルを作成し、次の內(nèi)容を追加します。

{
    "require": {
        "yiisoft/yii2": "~2.0.0"
    },
    "repositories": [
        {
            "type": "composer",
            "url": "https://asset-packagist.org"
        }
    ]
}

ファイルを保存して、 コンポーザー インストール # を?qū)g行します。 # #注文。これにより、フレームワークとそのすべての依存関係がインストールされます。

プロジェクト構(gòu)造の作成


フレームワークをインストールした後、このアプリケーションのエントリ ポイントを作成する必要があります。エントリ ポイントは、アプリケーションを開(kāi)こうとしたときに実行される最初のファイルです。セキュリティ上の理由から、エントリ ポイント ファイルを別のディレクトリに配置し、Web ルートに設(shè)定することをお?jiǎng)幛幛筏蓼埂?

Web ディレクトリを作成し、その中に次の內(nèi)容を含むindex.php を配置します:

<?php

// comment out the following two lines when deployed to production
defined(&#39;YII_DEBUG&#39;) or define(&#39;YII_DEBUG&#39;, true);
defined(&#39;YII_ENV&#39;) or define(&#39;YII_ENV&#39;, &#39;dev&#39;);

require(__DIR__ . &#39;/../vendor/autoload.php&#39;);
require(__DIR__ . &#39;/../vendor/yiisoft/yii2/Yii.php&#39;);

$config = require __DIR__ . &#39;/../config.php&#39;;
(new yii\web\Application($config))->run();

すべてのアプリケーション構(gòu)成を含む config.php というファイルも作成します:

<?php
return [
    &#39;id&#39; => &#39;micro-app&#39;,

    //設(shè)置`micro-app`的根目錄
    &#39;basePath&#39; => __DIR__,

    // 控制器所在目錄。
    &#39;controllerNamespace&#39; => &#39;micro\controllers&#39;,

    // 設(shè)置命名空間為 micro
    &#39;aliases&#39; => [
        &#39;@micro&#39; => __DIR__,
    ],

    //默認(rèn)訪(fǎng)問(wèn)地址
    &#39;defaultRoute&#39; => &#39;home/index&#39;,

    &#39;components&#39; => [
        //請(qǐng)求配置
        &#39;request&#39; => [
            &#39;cookieValidationKey&#39; => &#39;test&123456&#39;,
            &#39;parsers&#39; => [
                &#39;application/json&#39; => &#39;yii\web\JsonParser&#39;,
            ]
        ],

        //Url 美化
        &#39;urlManager&#39; => [
            &#39;enablePrettyUrl&#39; => true,
            &#39;showScriptName&#39; => false,
            &#39;enableStrictParsing&#39; => false,
            &#39;rules&#39; => [
                &#39;<controller:\w+>/<action:\w+>/<id:\w+>&#39;   => &#39;<controller>/<action>&#39;,
            ],
        ],

        //數(shù)據(jù)庫(kù)配置
        &#39;db&#39; => [
            &#39;class&#39; => &#39;yii\db\Connection&#39;,
            &#39;dsn&#39; => &#39;mysql:host=localhost;dbname=micro&#39;,
            &#39;username&#39; => &#39;root&#39;,
            &#39;password&#39; => &#39;數(shù)據(jù)庫(kù)密碼&#39;,
            &#39;charset&#39; => &#39;utf8&#39;,
        ],
    ],

];

情報(bào): 設(shè)定は、index.php ファイルに保存できますが、個(gè)別に使用することをお?jiǎng)幛幛筏蓼?。このようにして、以下に示すようにコンソール アプリケーションでも使用できます。

プロジェクトをコーディングする準(zhǔn)備が整いました。ただし、名前空間を尊重する限り、プロジェクトのディレクトリ構(gòu)造を決定するのはあなた次第です。

最初のコントローラーの作成


コントローラーを作成する前に、controllers/base ディレクトリを作成し、ベース コントローラー BaseController を作成します。

<?php
namespace micro\controllers\base;

use yii\web\Controller;

class BaseController extends Controller
{
    //關(guān)閉 csrf 驗(yàn)證
    public $enableCsrfValidation = false;
}

次に、コントローラー フォルダーの下に新しい SiteController.php を作成します。これは、パス情報(bào)なしでリクエストを処理するデフォルトのコントローラーです。

<?php

namespace micro\controllers;

use yii\web\Controller;

class HomeController extends BaseController
{
    public function actionIndex()
    {
        return &#39;歡迎來(lái)到 Yii2.0 微服務(wù)!&#39;;
    }
}

このコントローラに別の名前を使用したい場(chǎng)合は、yii\base\Application::$defaultRoute を設(shè)定して変更できます。たとえば、HomeController の場(chǎng)合は、「defaultRoute」 => 「home/index」になります。

この時(shí)點(diǎn)で、プロジェクト構(gòu)造は次のようになります。

micro-app/
├── composer.json
├── config.php
├── web/
    └── index.php
└── controllers/
    └── base
        └── BaseController.php
    └── HomeController.php
└── vendor

Web サーバーをまだ設(shè)定していない場(chǎng)合は、サンプル Web サーバー構(gòu)成ファイルを確認(rèn)してください。もう 1 つのオプションは、PHP 組み込み Web サーバーを使用する yiiserve コマンドを使用することです。次の方法で micro-app/ ディレクトリから実行できます:

vendor/bin/yii serve --docroot=./web
ブラウザでアプリケーション URL を開(kāi)くと、「Welcome to Yii2.0 Microservices!」が出力されるはずです。これはすでに HomeController にあります。 :actionIndex()。

情報(bào): この例では、デフォルトのアプリケーション名前空間 app を micro に変更して、この名前に制限されていないことを示し (そう思われる場(chǎng)合)、コントローラーの名前空間を調(diào)整して、正しい別名。

以上がYii2.0を使用してマイクロサービスを作成するの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類(lèi)リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Golang マイクロサービス フレームワークを使用して分散システムを作成する Golang マイクロサービス フレームワークを使用して分散システムを作成する Jun 05, 2024 pm 06:36 PM

Golang マイクロサービス フレームワークを使用して分散システムを作成します。Golang をインストールし、マイクロサービス フレームワーク (Gin など) を選択し、Gin マイクロサービスを作成し、エンドポイントを追加してマイクロサービスをデプロイし、アプリケーションを構(gòu)築して実行し、注文と在庫(kù)のマイクロサービスを作成し、注文と在庫(kù)を処理するエンドポイント Kafka などのメッセージング システムを使用してマイクロサービスに接続する sarama ライブラリを使用して注文情報(bào)を生成および消費(fèi)する

PHPフレームワークLaravelとYiiの違いは何ですか PHPフレームワークLaravelとYiiの違いは何ですか Apr 30, 2025 pm 02:24 PM

LaravelとYiiの主な違いは、デザインの概念、機(jī)能的特性、使用シナリオです。 1.Laravelは、開(kāi)発のシンプルさと喜びに焦點(diǎn)を當(dāng)てており、迅速な開(kāi)発や初心者に適したEloquentormやArtisan Toolsなどの豊富な機(jī)能を提供します。 2.YIIはパフォーマンスと効率を強(qiáng)調(diào)し、高負(fù)荷アプリケーションに適しており、効率的なActiverCordおよびキャッシュシステムを提供しますが、急な學(xué)習(xí)曲線(xiàn)があります。

yii with docker:アプリケーションのコンテナ化と展開(kāi) yii with docker:アプリケーションのコンテナ化と展開(kāi) Apr 02, 2025 pm 02:13 PM

Dockerを使用してYIIアプリケーションをコンテナ化および展開(kāi)する手順には次のものがあります。1。DockerFileを作成し、畫(huà)像構(gòu)築プロセスを定義します。 2. DockerComposeを使用して、YIIアプリケーションとMySQLデータベースを起動(dòng)します。 3.畫(huà)像のサイズとパフォーマンスを最適化します。これには、特定の技術(shù)的運(yùn)用だけでなく、DockerFileの作業(yè)原則とベストプラクティスを理解して、効率的で信頼できる展開(kāi)を確保することも含まれます。

LaravelプロジェクトをYiiに移行するのは簡(jiǎn)単ですか? LaravelプロジェクトをYiiに移行するのは簡(jiǎn)単ですか? May 09, 2025 am 12:01 AM

移動(dòng)路lavel projectoyiiishallingbutachieffable Weiefleflant.1)MapoutlaravelコンポーネントLIKEROUTES、コントローラー、モデル。

YII開(kāi)発者:シニア対ジュニア YII開(kāi)発者:シニア対ジュニア May 24, 2025 am 12:10 AM

上級(jí)YII開(kāi)発者とジュニアYII開(kāi)発者の主な違いは、経験、深さのスキル、考え方です。 1.上級(jí)開(kāi)発者は、パフォーマンスの最適化とコード再構(gòu)成に注意を払い、YIIのキャッシュメカニズムを使用してアプリケーションのパフォーマンスを向上させます。 2。彼らは、Yiiの根本的な原則を深く理解し、建築設(shè)計(jì)と技術(shù)的意思決定に參加し、モジュラー設(shè)計(jì)を使用して柔軟なアプリケーションを構(gòu)築します。 3.上級(jí)開(kāi)発者は、プロジェクト全體の計(jì)畫(huà)と長(zhǎng)期開(kāi)発に注意を払い、メンターの役割を果たします。ジュニア開(kāi)発者は、學(xué)習(xí)と実踐を通じて徐々に改善し、最終的には上級(jí)開(kāi)発者に成長(zhǎng)する必要があります。

Java フレームワークでマイクロサービス アーキテクチャを構(gòu)築するためのミドルウェアの選択 Java フレームワークでマイクロサービス アーキテクチャを構(gòu)築するためのミドルウェアの選択 Jun 04, 2024 pm 05:52 PM

Java 環(huán)境でマイクロサービス アーキテクチャを構(gòu)築する場(chǎng)合は、次のミドルウェア オプションを考慮してください: Apache Kafka: ストリーム処理およびリアルタイム アプリケーション用、RabbitMQ: 非同期メッセージング用、Apache Camel: 耐障害性と弾力性の向上用。 SpringCloud: SpringBoot ベースのマイクロサービス用のツールとサービスを提供します。

PHP マイクロサービス アーキテクチャの実踐 PHP マイクロサービス アーキテクチャの実踐 Jun 05, 2024 pm 02:58 PM

PHP マイクロサービス アーキテクチャの実踐: LEMP スタックのインストール: Linux、Nginx、MySQL、および PHP をインストールします。 MySQL データベースの作成: データを保存するためのデータベースを作成します。 Composer をインストールする: Composer を使用して PHP の依存関係を管理します。マイクロサービスを構(gòu)築する: Symfony を使用して新しい Composer プロジェクトを作成し、サービスを設(shè)定します。エンティティの作成: データベース テーブルにマッピングするためのエンティティを定義します。データベース スキーマの作成: Doctrine を使用してデータベース スキーマを作成します。 API コントローラー (ユーザー リクエストを処理するコントローラー) を作成します。マイクロサービスの実行: PHP の組み込みサーバーを使用してマイクロサービスを開(kāi)始します。

YII開(kāi)発者:ヨーロッパで最も記録されたスキル YII開(kāi)発者:ヨーロッパで最も記録されたスキル May 11, 2025 am 12:02 AM

ヨーロッパのYII開(kāi)発者が所有する必要がある重要なスキルには、1。YIIフレームワークの習(xí)熟度、2。PHP習(xí)熟度、3。データベース管理、4。フロントエンドスキル、5。RestfulAPI開(kāi)発、6。バージョン制御システム、7。テストとデバッグ、8。セキュリティ知識(shí)、9。

See all articles