偶然网上看到这个kingshard,自己对golang感兴趣就试玩了一下,可以正常跑成功。
数据库中间件是什么呢?简单的说和数据库类似,不同的是当程序里发送sql给它的时候,它会根据配置对sql进行分析,而后将sql发送到指定的节点(node)上,它的后面是若干数据库运行实例。
当应用发展起来后,随着数据库的压力逐渐变大,通常都要进行分库,分表,主从分离,这些东西在应用程序里实现也可以,但是会造成应用程序过于复杂,后续难以维护。使用中间件,将分库、分表、主从分离逻辑放到中间件上就更好的分离代码。
kingshard整体架构如下:
kingshard架构图
其中
client是需要连接数据库的客户端;
kingshard就是数据库中间件了;
node1和node2就是不同的mysql数据库节点,其中master表示主库,slave表示从库;
整体的安装过程还算顺利。碰到几个问题:
1、一开始想要安装golang 1.5发现golang 1.5需要自举,需要更早的版本,后来重新装了1.4。
2、装完golang后,执行hello world程序,提示:
warning: GOPATH set to GOROO