2017-03-22 09:00 阅读 58


I am working in a project where we are using Go as a web server and MySQL. We have been told to implement fault tolerance to handle a hardware crash. We were given 2 servers which have MySQL and the Go-server on them.

We have succesfully set up replication in MySQL, but we are struggling with the failover part. Our thought was to get an extra server with HAProxy to have a primary server and then being able to failover to the backup server. We also considered using MySQL failover, but did not see how we could redirect the traffic using it.

Is this a reasonable plan? Or what would you recommend that we do instead?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    dsdf64562672 dsdf64562672 2017-03-22 11:08

    If you want two identical servers connecting to their local MySQL instances, you need a way of deciding which one is the production server. There are a number of solutions for that, including

    • Setting up a reverse proxy, as you mention, but then, your proxy itself becomes a SPOF,
    • Using a floating IP, also known as a failover IP, but this only works if your host supports it. Cloud providers typically support them, as well as some bare metal server providers.

    There is nothing specific to Go as far as I know.

    点赞 评论 复制链接分享