How to get core to leverage a MySQL master/slave configuration? I read this question MySQL master/slave replication not working and its answer: 


  Using slave databases is barely implemented in Drupal core. If you are
  developing your own modules then calls to db_query need to specify
  that they want to use the slave database using the $options array. See
  DatabaseConnection::defaultOptions for how to set this array.


Is there a way without killing kittens hacking the core to get db_query() and db_select() to make more slave SELECT queries ?

By default, these functions will query the master unless specifically told to query the slave (see their API). You have to write db_query($query, $args, array('target' =&gt; 'slave')) in order to query the slave and the core (and all the modules) aren't written to achieve this.

Only search (see the slave part) and aggregator seems to leverage this.

Edit: Oct, 25
I saw pressflow 7 is out but I'm not sure if it helps a lot right now.
I haven't found something relevant so let's try a little bounty to help this getting an answer.

Edit: Oct, 31
I'm mainly worried about Crell's comments regarding this topic: What to do with slaves?.
Mainly, is there troubles if I send SELECT queries to the slave, what happens with delays in the replication and the fact that I may want to do a node_load() just after saving a new node.
Here's how I currently implement this.

First you need to set up a SelectQueryExtender class like this:

class SlaveTarget extends SelectQueryExtender {
  public function __construct(SelectQueryInterface $query, DatabaseConnection $connection) {
    if ($connection-&gt;getTarget() != 'slave') {
      $connection = Database::getConnection('slave', $connection-&gt;getKey());
    }
    parent::__construct($query, $connection);
    $this-&gt;addTag('SlaveTarget');
  }
}


Once you have that, then all you have to do is get all the other queries to extend the extender. :) if that makes sense. Here's the snippet.

/**
 * Implements hook_query_alter().
 */
function example_query_alter(QueryAlterableInterface $query) { 
  if (is_a($query, 'SelectQuery') &amp;&amp; !$query-&gt;hasTag('SlaveTarget')) {
    $query-&gt;extend('SlaveTarget');
  }
}


And now all your SelectQuery hit the slave ;-) This is the only way I've been able to accomplish this. Anyways it works great.

Also if you have this on a custom module you can set up the SlaveTarget to be it's on file SlaveTarget.inc and add a files[] = SlaveTarget.inc to your module info file.