ホームページ  >  記事  >  バックエンド開発  >  Laravel プロジェクトは twemproxy を使用して Redis クラスター PHP インスタンスの完全な手順をデプロイします

Laravel プロジェクトは twemproxy を使用して Redis クラスター PHP インスタンスの完全な手順をデプロイします

jacklove
jackloveオリジナル
2018-06-25 17:05:031722ブラウズ

Twemproxy は、Memcached サーバーまたは Redis サーバーによって開かれる接続の数を減らすことができるプロキシ サーバーです。次の記事では、twemproxy を使用して Redis クラスターをデプロイする Laravel プロジェクトに関する関連情報を主に紹介します。必要な方は参照してください。 ##はじめに

twemproxy は Twitter によって開発された redis プロキシ プロキシであり、開発者が twemproxy を通じてこれらの redis サーバーにアクセスする場合、心配する必要はありません。 Redis サーバーは、k-v データをデータセットに読み取るか、k-v データを更新します。これにより、複数のサーバー間での Redis 共有の問題も解決されます。 Redis のマスター/スレーブ レプリケーションの助けを借りて、たとえいずれかの Redis が機能しなくなった場合でも、データ セット全体が存在することを保証できます。 Twemproxy は何に使用されますか?

#プロキシを介したキャッシュ サーバー接続の数を削減します。

  • 複数のキャッシュ サーバー間でデータを自動的に共有します

  • さまざまな戦略とハッシュ関数による一貫性のあるハッシュのサポート

  • #構成を通じて障害が発生したノードを無効にする
  • #複数のインスタンス、クライアント上で実行最初に利用可能なプロキシ サーバーに接続できます
  • #リクエストのストリーミングとバッチ処理をサポートし、ラウンドトリップの消費を削減します
  • 次に、twemproxy のインストールと構成を紹介します:

1. twemproxy 、autoconf、automake、libtool、gcc をインストールする前に m4 をインストールする必要があります。そうしないと、さまざまなエラーが発生します。報告されますm4

wget http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz
&& tar -xzvf m4-1.4.13.tar.gz
&& cd m4-1.4.13
&& ./configure –prefix=/usr/local 
make && make install

autoconf、automake、libtool、gcc

yum -y install autoconf automake libtool gcc
をインストールします

2. twemproxy

git clone https://github.com/twitter/twemproxy.git
autoreconf -fvi #生成configure文件
.configure
make && make install

##3 をインストールします。構成ファイル

##vim conf/nutcracker.yml

alpha:
 listen: 127.0.0.1:22121 #监听端口
 hash: fnv1a_64  #key值hash算法,默认fnv1a_64
 distribution: ketama  #分布算法 
#ketama一致性hash算法;modula非常简单,就是根据key值的hash值取模;random随机分布
 auto_eject_hosts: true  #摘除后端故障节点 
 redis: true   #是否是redis缓存,默认是false
 timeout: 400   #代理与后端超时时间,毫秒
 server_retry_timeout: 200000 #摘除故障节点后重新连接的时间,毫秒
 server_failure_limit: 1  #故障多少次摘除
 servers:
 - 172.16.175.145:6379:1 
 - 172.16.175.122:6379:1

#4. Redis 構成ファイルを変更します。

redis によって監視される IP とポートは twemproxy に対応している必要があります (twemproxy はいずれかのマシンにのみインストールされているため、両方のマシンにインストールされている場合は変更する必要はありません。)

2 つのサーバーの redis.conf でバインド オプションをそれぞれ変更します。この例では、127.0.0.1 を 172.16.175.145 と 172.16.175.122 に変更します。

5 twemproxy をオンにします。

#

nutcracker -t -c /twemproxy/conf/nutcracker.yml 
#测试配置文件 如果不加-c 默认是检测conf/nutcracker.yml

nutcracker -d -c /twemproxy/conf/nutcracker.yml -p -o /data/logs/twemproxy/redisproxy.log 
#启动并将日志记录到/data/logs/twemproxy/redisproxy.log

6. プロジェクト内の Redis 接続を twemproxy ip と port に変更します。

私のプロジェクトはlaravelを使用しています。.envのREDIS_HOSTとREDIS_PORTを127.0.0.1と22121に設定するだけです。

注意、設定も設定する必要があります。「database」をコメントアウトしてください => 0フォルダー内のdatabase.phpのredis構成では、Predisはデフォルトでこの構成に対して選択操作を実行するため、接続エラーが発生します。

Redis の読み取りおよび書き込みテストを実行します。予期せぬことが起こらなければ、twemproxy を通常どおり使用できます。

概要

興味があるかもしれない記事:

開く方法PHP7 オペコードは、php スキルの詳細な説明とともに強力なパフォーマンスを作成します

##PHP は、ウサギがウサギを産む問題を解決するための再帰的アルゴリズムに基づいています php スキル

#ThinkPHP について_php の例での例外処理の詳細な説明


##

以上がLaravel プロジェクトは twemproxy を使用して Redis クラスター PHP インスタンスの完全な手順をデプロイしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。