mysql - 使用 Go 和 MySQL 设置具有容错能力的服务器(故障转移)

标签 mysql go haproxy failover fault-tolerance

我在一个项目中工作,我们使用 Go 作为 Web 服务器和 MySQL。 我们被告知要实现容错来处理硬件崩溃。我们有 2 台服务器,上面装有 MySQL 和 Go-server。

我们已经成功地在 MySQL 中设置了复制,但是我们正在努力处理故障转移部分。我们的想法是使用 HAProxy 获得一个额外的服务器来拥有一个主服务器,然后能够故障转移到备份服务器。 我们还考虑过使用 MySQL 故障转移,但没有看到如何使用它重定向流量。

这是一个合理的计划吗?或者你会建议我们做什么?

最佳答案

如果您想要两个相同的服务器连接到它们的本地 MySQL 实例,您需要一种方法来决定哪个是生产服务器。有许多解决方案,包括

  • 设置一个反向代理,正如你提到的,但是,你的代理 本身成为 SPOF,
  • 使用 float IP,也称为故障转移 IP,但这只有在您的主机支持时才有效。云 vendor 通常支持它们,以及一些裸机服务器提供商。

据我所知,Go 没有什么特别之处。

关于mysql - 使用 Go 和 MySQL 设置具有容错能力的服务器(故障转移),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42946855/

相关文章:

PHP/MySQL - 将数组数据存储为 JSON,不好的做法?

HAproxy 域名到基于路径(url)路由的后端映射

ios - SVN 服务器不响应写请求

mysql - session 变量不同于 MariaDB 中的全局变量

php - 上传多张图片并在数据库 PHP MySQL 中保存名称

mysql - 内部加入最近的行

go - 如何将接口(interface)数组转换为 float

go - 如何通过单个命令修改文档中的两个或多个字段

mysql - DB 关系(对于任何 ORM 都很优雅)

go - 在同一个文件中处理不同版本的包