- {
- "backends" : [
- {
- "name" : "backend1" ,
- "address" : "192.168.0.2:3307" ,
- "user" : "wubx" ,
- "password" : "wubxwubx" ,
- "database" : "" ,
- "charset" : "utf8" ,
- "max-connections" : 1024 ,
- "role" : 0
- {
- "name" : "192.168.0.2:3306" ,
- "address" : "192.168.0.2:3306" ,
- "user" : "wubx" ,
- "password" : "wubxwubx" ,
- "database" : "" ,
- "charset" : "utf8" ,
- "max-connections" : 1024 ,
- "role" : 1
- }
- ]
- }
通过radon-meta对应库下的表分布对应关系查看:
- cat bin / radon - meta / wubx / wp_users . json
- {
- "name" : "wp_users" ,
- "slots-readonly" : 0 ,
- "blocks-readonly" : 0 ,
- "shardtype" : "SINGLE" ,
- "shardkey" : "" ,
- "partitions" : [
- {
- "table" : "wp_users" ,
- "segment" : "" ,
- "backend" : "192.168.0.2:3306" ,
- "listvalue" : ""
- }
- ]
- }
文章插图
现在把wordpress中配wp_config.php的配置从原来的3306连接指3316(radon)端口,可以发现,也可以正常对外提供服务了 。Radon中遇到Single表的情况下是把SQL透明下发到后达 。所在这里Radon更相当于一个TCP的代理层,主要可以启到“连接池”,审计等相关功能 。接下来,我们可以看看Radon带来的福利了,例如:审计,透明自动拆分,并行执行,分布式事务 等功能了 。
利用wordpress体验Radon的透明分库分表
我们知道wordpress最大表是wpposts这个内容表,当我们Blog积累的内容足够多的情况下,该表也许会成为一个瓶颈 。这里我们对wpposts表做一次从single表到拆分表的转换:
- MySQL > RADON RESHARD wp_posts to new_wp_posts ;
- MySQL > alter table wp_posts rename wp_post_bak ;
- MySQL > alter table new_wp_posts rename to wp_posts ;
文章插图
做完以上动作Wordpress白页了,内容页显示不出来,从Radon的报错日志(radon.log)中发现Radon还没支持 SQLCALCFOUNDROWS 这个函数 。所以可以通过,查询源码中:
文章插图
主要处理和wpdb->posts这个查询有关found_rows就可以,处理办法:
- if ( ! $q [ 'no_found_rows' ] && ! empty ( $limits ) )
- $found_rows = 'SQL_CALC_FOUND_ROWS' ;
- $found_rows = '' ;
文章插图
再来看一下wpposts表在后端节点的分布情况:
cat bin/radon-meta/wubx/wp_posts.json
- {
- "name" : "wp_posts" ,
- "slots-readonly" : 4096 ,
- "blocks-readonly" : 64 ,
- "shardtype" : "HASH" ,
- "shardkey" : "ID" ,
- "partitions" : [
- {
- "table" : "wp_posts_0000" ,
- "segment" : "0-64" ,
- "backend" : "backend1" ,
- "listvalue" : ""
- ...
- {
- "table" : "wp_posts_0031" ,
- "segment" : "1984-2048" ,
- "backend" : "backend1" ,
- "listvalue" : ""
- 使用这6招google关键词搜索技巧,快速精准获取你想要的资源
- MySQL中的ACID是如何实现的?
- 为啥现在看淘宝直播回放都是快速的? 怎样在淘宝直播间看回放
- 婴儿快速排气土方法
- 老年人牙疼快速止痛方法有哪些
- 实现linux和windows文件传输
- 手把手教你 3 个 Linux 中快速检测端口的小技巧
- cisco交换机实现端口隔离
- 网站收录问题的应该这样排查!网站快速收录技巧!
- 万能白T穿搭技巧,快速提升衣品