phalcon:数据库分库,读写分离,负载均衡 系统方法执行顺序

用命名空间区分不同的数据库实例,对应代码结构上是不同的目录区分,在同一目录下基类负责初始化连接。连接来自初始化时注入的多个db服务

隐规则:

  • initialize()在每个请求期间只会调用一次

  • 为每个 new 创建的实例执行初始化任务使用onConstruct()

namespace Company\Models\Notification;

 

/**
* Class BaseModel
*
* beforeSave()和afterFetch()成对使用,用于读写数据时自动转化数据。
* 例如自动执行serialize unSerialize
*
* save()发生时事件调用顺序是
* initialize,
* onConstruct,
* beforeValidation,
* beforeValidationOnCreate,
* afterValidationOnCreate,
* afterValidation,
* beforeSave,
* beforeCreate,
* afterCreate,
* afterSave,
*
* @package Company\Models\Notification
*/
class BaseModel extends \Phalcon\Mvc\Model
{ /**
* - initialize()在每个请求期间只会调用一次
* - 子类必需调用父类方法
* - 为每个 new 创建的实例执行初始化任务使用onConstruct()
*/
public function initialize()
{
$this->setConnectionService('db_notification'); //$this->setConnectionService('node1');
//$this->setConnectionService('node2');
//
//真实场景可能使用mysqlnd_ms扩展或者haproxy
//仅演示读负载均衡一种思路
//$dbSlave = ['node1', 'node2', 'node3'];
//$key = array_rand($dbSlave);
//$db = $dbSlave[$key];
//$this->setReadConnectionService($db);
//
//
//$this->setReadConnectionService('dbRead');
//$this->setWriteConnectionService('dbWrite');
}
}

  

phalcon:数据库分库,读写分离,负载均衡 系统方法执行顺序的更多相关文章

  1. 基于amoeba实现mysql数据库的读写分离/负载均衡

    一.Amoeba的简述:[来自百度百科]      Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy.它集中地响应应用的请求,依据用户事先设置的规则,将SQL请 ...

  2. mysql高可用架构方案之二(keepalived+lvs+读写分离+负载均衡)

    mysql主从复制与lvs+keepalived实现负载高可用 文件夹 1.前言    4 2.原理    4 2.1.概要介绍    4 2.2.工作原理    4 2.3.实际作用    4 3方 ...

  3. MyCat 读写分离,负载均衡

    docker mysql 主从复制 配合Spring 事务 注意事项 配置好JRE,安装好MYCAT 在mysql主库创建表,会同步到从库 CREATE TABLE `user` ( `id` ) N ...

  4. 如何轻松实现MySQL数据库的读写分离和负载均衡?

    配置好了 Mysql 的主从复制结构后,我们希望实现读写分离,把读操作分散到从服务器中,并且对多个从服务器能实现负载均衡.读写分离和负载均衡是 Mysql 集群的基础需求,MaxScale 就可以帮着 ...

  5. SQL Server上唯一的数据库集群:负载均衡、读写分离、容灾(数据零丢失、服务高可用)

    SQL Server上唯一的数据库集群:负载均衡.读写分离.容灾(数据零丢失.服务高可用).审计.优化,全面解决数据库用户问题.一键安装,易用稳定,性价比高,下载链接:http://www.zheti ...

  6. mycat 安装 分表 分库 读写分离

    简单的 理解 一下 mycat :如图 mycat 是一个 连接数据库的中介.一个独立安装的 工具,他连接着真实的数据库,并且 把自己伪装成一个数据库. 程序连接 mycat ,mycat 连接 到真 ...

  7. 利用oneproxy部署mysql数据库的读写分离

    实验系统:CentOS 6.6_x86_64 实验前提:防火墙和selinux都关闭 实验说明:本实验共有4台主机,IP分配如拓扑 实验软件:mariadb-10.0.20 oneproxy-rhel ...

  8. Mycat - 实现数据库的读写分离与高可用

    前言 开心一刻 上语文课,不小心睡着了,坐在边上的同桌突然叫醒了我,并小声说道:“读课文第三段”.我立马起身大声读了起来.正在黑板写字的老师吓了一跳,老师郁闷的看着我,问道:“同学有什么问题吗?”,我 ...

  9. 基于 EntityFramework 的数据库主从读写分离服务插件

    基于 EntityFramework 的数据库主从读写分离服务插件 1. 版本信息和源码 1.1 版本信息 v1.01 beta(2015-04-07),基于 EF 6.1 开发,支持 EF 6.1 ...

随机推荐

  1. IIS与ApplicationPool重启检测自动化解决方案

    IIS与ApplicationPool重启检测自动化解决方案 Friday, November 28, 2014 DA Hotfix Automatic IIS & Application P ...

  2. 无边框窗体、用户控件、Timer控件

    一.无边框窗体1 最大化.最小化以及关闭按钮制作实际上就是更换点击前.指向时.点击时的图片 (1)将图片放在该文件夹的Debug中,获取图片的路径Application.StartupPath + & ...

  3. [cdoj843] 冰雪奇缘 (线段树+离散)

    [线段树 + 离散化] Description 艾莎女王又开始用冰雪魔法盖宫殿了. 她决定先造一堵墙,于是释放魔法让形为直角梯形的冰砖从天而降,定入冻土之中. 现在你将回答女王的询问:某段冻土上冰砖的 ...

  4. ZOJ 1015 Fishing Net(判断弦图)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=15 题意:给定一个图.判断是不是弦图? 思路:(1)神马是弦图?对于一 ...

  5. UVA 10453 十七 Make Palindrome

    Make Palindrome Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit St ...

  6. 昂贵的聘礼 Dijkstra法

    poj 1062 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 39437   Accepted: 11432 Descri ...

  7. 如何使用NUnit

    http://www.c-sharpcorner.com/UploadFile/84c85b/nunit-with-C-Sharp/ 从github上下载安装包 NUnit.3.4.1.msi htt ...

  8. CSS选择器、优先级与匹配原理(转)

    CSS选择器.优先级与匹配原理 导航 为了分析Bootstrap源码,所以的先把CSS选择器相关的东东给巩固好 废话就不多说了 CSS 2.1 selectors, Part 1 计算指定选择器的优先 ...

  9. [SAP ABAP开发技术总结]ALV

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  10. Installing Python 3.5.2 from source

    Here are the procedures we are to follow, Download the source code of an official Python release. Co ...