Saturday, October 19, 2013

Re: Does the CakePHP ready for 'Large Scale' web applications?

But in this case you have 2 database. One is 'master' and another one is 'default'. So when you are saving data to 'master' and updating data by 'default' or deleting data by 'default'. Then how this 2 database will be synchronized. Data can be lost or any damage? Can you tell me the complete flow of this strategy? 



On Friday, February 11, 2011 5:39:52 PM UTC+6, majna wrote:
Cleaner solution for master/slave using callbacks (or Behavior)

function beforeSave() {
    $this->useDbConfig = 'master';
    return true;
}

function afterSave() {
    $this->useDbConfig = 'default';
    return true;
}

function beforeDelete() {
    $this->useDbConfig = 'master';
     return true;
}

function afterDelete() {
    $this->useDbConfig = 'default';
     return true;
}

http://bakery.cakephp.org/articles/eagerterrier/2007/05/26/load-balancing-and-mysql-master-and-slaves-2

On Feb 10, 6:14 pm, ibejohn818 <john.c.ha...@gmail.com> wrote:
> This what I am using.
> ===
> class AppModel extends Model {
>
>         public function save($data = null, $validate = true, $fieldList =
> array()) {
>
>                 $this->useDbConfig = 'master';
>
>                 $success = parent::save($data,$validate,$fieldList);
>
>                 $this->useDbConfig = 'default';
>
>                 return $success;
>
>         }
>
>         public function saveAll($data = null, $options = array()) {
>
>                 $this->useDbConfig = 'master';
>
>                 $status = parent::saveAll($data,$options);
>
>                 $this->useDbConfig = 'default';
>
>                 return $status;
>
>         }
>
>         public function updateAll($fields, $conditions = true) {
>
>                 $this->useDbConfig = 'master';
>
>                 $status = parent::updateAll($fields,$conditions);
>
>                 $this->useDbConfig = 'default';
>
>                 return $status;
>
>         }
>
>         public function delete($id = null, $cascade = true) {
>
>                 $this->useDbConfig = "master";
>
>                 $status = parent::delete($id,$cascade);
>
>                 $this->useDbConfig = 'default';
>
>                 return $status;
>
>         }
>
> }
>
> ====
>
> For multiple Slaves you should use a load balancer to RoundRobin
> Balance the requests to your slaves.
>
> On Feb 10, 9:05 am, Okto Silaban <o...@silaban.net> wrote:
>
> > That's what I'm trying to do.
> > I've setup 1 master and 2 slaves. But CakePHP doesn't support read & write
> > query separation.
> > So, do you have any information how can I split the read & write query?
> > *other than rewrite all my models
>
> > thanks.
>
> > On Wed, Feb 9, 2011 at 10:03 AM, Dr. Tarique Sani <tariques...@gmail.com>wrote:
>
> > > Have you split the reads and the writes?
>
> > > All the writes go to the master which is on a server of its own and
> > > the reads are from the slaves which are typically on the same machine
> > > as the webserver and of course use very aggressive caching
>
> > > Cheers
> > > Tarique

--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
 
---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/groups/opt_out.

No comments: