分布式部署

分布式概述

通过分布式部署可以有效地应对高并发及复杂运算带来的服务端压力,同时还能保证整个系统的稳定性及可用性。
以下为您演示一个基于 phpGrace 框架为基础的简单的分布式部署方案:

1. 负载均衡服务器

1 使用 nginx 服务实现负载均衡;
2 使用各类云服务商提供的负载均衡服务(如 : 阿里云、腾讯云提供的负载均衡服务),优点 : 配置简单,带宽充足;

2. 核心运算服务器 ( apahce || nginx +php )

自行部署 apahce || nginx +php 服务器,将 php 及相关代码部署到服务器上,运算服务器可以根据实际情况(访问量、服务器压力)动态增减。
可以利用 git、svn、rsync 等技术实现多服务器间的代码同步。

3. 静态云存储服务

建议将图片、样式、js脚本等静态文件部署至统一的静态云存储服务,好处 :
1 将静态文件加载带来的带宽压力转给专业的云服务器;
2 多个运算服务可以共享基于一个统一地址的静态文件;

4. 数据库服务器

自行架设或购买云服务商提供的数据库服务,必要时进行读写分离,多个php运算服务器通过配置共享统一的数据库服务:

// phpGrace/config.php
// ****** 数据库配置 *****
'db'                     => array(
    'host'               =>    '独立数据库服务器地址',
    'port'               =>    '3306',
    'user'               =>    '用户名',
    'pwd'                =>    '密码',
    'dbname'             =>    '数据库名',
    'charset'            =>    'utf8',
    'pre'                =>    'grace_'
),

5. redis 服务器

自行架设或购买云服务商提供的 redis 服务,用于共享缓存数据:

// phpGrace/config.php
// 缓存设置
'cache'                  => array(
    'type'               => 'redis',
    'host'               => '192.168.0.100', // 主机地址
    'port'               => '6379',      //  redis 服务端口
    'password'           => '123456',    // redis 服务密码
    'pre'                => 'GSCMS_'     // 缓存变量前缀
),

6. memcache 服务器

自行架设或购买云服务商提供的 memcache 服务,用于共享session会话数据及其他验证性数据:

// phpGrace/config.php
// ****** session 配置 ******
'session'                => array(
    'type'               => 'memcache',
    'host'               => '192.168.0.101', // 主机地址
    'port'               => '11211',
    'password'           => ''
),

说明

通过以上几部我们就可以实现一个简单的分布式部署,利用分布式部署加上全面精准的缓存策略,可以极大的提高系统的高并发应对能力。以上只是一个简单的示例,请根据自己的业务情况进行更具体的部署。