我的要求是:
目前,我们正在使一个高CPU,超大实例在700个连接.所有8个核心都是最高的。我们认为这是并发连接的数量,因为内存很好。写作本身非常简单(验证速度慢)。要扩展到3000,我们需要使用多台服务器,当前的选项:
要处理这个数目的连接,有以下几个问题:
如果我没有很好地描述我的问题,我很抱歉。请提出问题。
发布于 2011-12-19 17:27:35
如果您使用MySQL作为主数据库,您可能需要考虑通过MySQL复制使用星空拓扑。
现在,在你说MySQL复制,ROFL和OMG之前,听我说。
星型拓扑允许您写入一个DB服务器(称为Distribution DM),并将这些命令发送到多个DB服务器。如何设置这样的DB基础结构?
下面是描述
您有5个DB服务器(服务器A、B、C、D、E)
服务器A
服务器B、C、D、E
我以前也写过这方面的文章
将MySQL复制保持在顶部形状
发布于 2011-12-19 12:50:13
MySQL群集可能是另一种切分方法。这里的支票邮寄。
我也非常喜欢Cassandra,但这在很大程度上取决于您的数据模型和您想要执行的查询。卡桑德拉写得很快,因为它们总是顺序在磁盘上。
发布于 2011-12-22 20:28:00
如果你要去多头(你可能需要,如果你真的需要3K活动连接),我可能会看看里亚克或卡桑德拉。这确实取决于你的应用程序对这些应用程序的适应程度如何,但从你所描述的情况来看,我认为它会适合像Riak这样的应用程序。
尽管如此,如果您能够找到一种分割数据的好方法,并且可以将对交叉碎片的需求降到最低,那么分片的方法似乎是可行的。我会远离mysql中的任何一种环/星/ mmm的东西,只需坚持直接切分即可。实际上,如果您愿意使用Postgres,您可以很容易地在heroku这样的地方使用模式进行原型,然后在数据库开始超过单个节点时分叉和拆分数据库。
哦,虽然我认为您可以尝试垂直地缩放这样的东西(处理所有3K conns的单个节点),但我不认为您可以在云中进行。
https://dba.stackexchange.com/questions/9189
复制相似问题