現在の位置: ホーム> 最新記事一覧> PHP開発におけるBaidu Wenxin Yiyan APIのデータの同期と災害復旧を実現する方法は?

PHP開発におけるBaidu Wenxin Yiyan APIのデータの同期と災害復旧を実現する方法は?

M66 2025-06-21

PHP開発におけるBaidu Wenxin Yiyan APIのデータの同期と災害復旧を実現する方法

Baidu Wenxin Yiyan APIは、Webサイトに適した人気のあるランダムな文サービスを提供して、興味深い文のコンテンツを表示します。 PHP開発では、Baidu Wenxin Yiyan APIインターフェイスに電話して文データを取得し、ページに表示できます。データの可用性とユーザーエクスペリエンスを確保するには、障害が発生した場合にユーザーアクセスが発生しないように、データの同期とリモート災害復旧を実装する必要があります。

Baidu Wenxin Yiyan APIを統合します

まず、PHPプロジェクトにBaidu Wenxin Yiyan APIを統合する必要があります。 APIデータは、Curlライブラリを介してHTTPリクエストを送信することで取得できます。これがサンプルコードです:

関数getOneword(){
    $ url = 'https://v1.hitokoto.cn';
    $ ch = curl_init();
    curl_setopt($ ch、curlopt_url、$ url);
    curl_setopt($ ch、curlopt_returntransfer、true);
    $ response = curl_exec($ ch);
    curl_close($ ch);
    return json_decode($ response、true);
}

$ worddata = getoneword();
if($ worddata && $ worddata ['status'] == 'success'){
    echo $ worddata ['hitokoto'];
} それ以外 {
    エコー「芸術を得るできなかった」;
}

このコードは、Curlを使用して、Baidu Wenxin Yiyan APIにリクエストを送信し、取得したJSONデータを解析し、文をページに出力します。

データ同期

データの同期の目的は、Baidu Wenxin Yiyan APIから取得した文データをデータベースに保存することです。これにより、毎回APIにリクエストを送信することができません。 MySQLをストレージデータベースとして使用できます。簡単な例コードは次のとおりです。

$ servername = "localhost";
$ username = "username";
$ password = "password";
$ dbname = "database";

$ conn = new mysqli($ servername、$ username、$ password、$ dbname);
if($ conn-> connect_error){
    die( "データベース接続が失敗しました:"。$ conn-> connect_error);
}

$ worddata = getoneword();
if($ worddata && $ worddata ['status'] == 'success'){
    $ hitokoto = $ worddata ['hitokoto'];
    $ sql = "hitokoto(content)valuesに挿入( '$ hitokoto')";
    if($ conn-> query($ sql)=== true){
        エコー「データの同じ期間が成功する」。
    } それ以外 {
        エコー「データの同じ期間が失敗しました:」。 $ conn-> error;
    }
} それ以外 {
    エコー「芸術を得るできなかった」;
}
$ conn-> close();

このコードは、MySQLデータベースのAPIから取得した文をHitokotoテーブルに保存します。ユーザーが訪問するたびに、毎回APIインターフェイスを求めることなく、データベースから直接文章を入手できます。

他の場所での災害復旧

他の場所での災害復旧とは、単一の障害を防ぐために、さまざまな地理的位置のサーバーにデータをバックアップすることを指します。 MySQLマスタースレーブレプリケーションを介して、データの遠隔災害復旧を実現できます。これが簡単な構成例です。

マスターサーバー(メインライブラリ)を構成します。

[mysqld]
サーバーID = 1
log-bin = mysql-bin
binlog-format = row

スレーブサーバー(スレーブライブラリ)を構成します。

[mysqld]
サーバーID = 2
leray-log = mysql-relay-bin
log-slave-updates = 1
読み選ぶり専用= 1

プライマリサーバーでデータ同期のユーザーを作成し、複製権限を指定します。

「パスワード」によって識別されたユーザー「レプリケーション」@'%'を作成します。
レプリケーションスレーブを付与 *。
フラッシュ特権;

メインサーバーで次のコマンドを実行して、現在のバイナリログのファイル名と場所を取得します。

マスターステータスを急行します。

サーバー上の複製接続を構成します。

マスターをmaster_host = '192.168.1.10'、master_user = 'replication'、master_password = 'password'、master_log_file = 'mysql-bin.000001'、master_log_pos = 123;

サーバーから複製関数を起動します。

スレーブを始めるします。

構成が完了すると、マスターサーバー上のデータはスレーブサーバーに自動的に同期されます。マスターサーバーが失敗した場合、スレーブサーバーはすぐに引き継がれてサービスの継続性を確保できます。

要約します

上記の例コードと構成により、Baidu Wenxin Yiyan APIのデータ同期と災害復旧を実現できます。これにより、Webサイトのパフォーマンスが向上するだけでなく、問題に遭遇してユーザーエクスペリエンスを向上させるときに、Webサイトが安定して実行できることも保証できます。