找回密码
 FreeOZ用户注册
查看: 1174|回复: 3
打印 上一主题 下一主题

System Design for FailOver Server

[复制链接]
跳转到指定楼层
1#
发表于 24-9-2009 17:06:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
Sorry I can't type in Chinese here. We can discuss in English or Chinese. It doesn't matter.

I'm working on a system design for failover servers, and I choose the standby mechanism,
which might be the most simple system for it. It means that there would be a server called
master, and another server called standby. Usually, the master server serves on a specific
port to handle all the transaction with clients. The master server is also in charge of
synchronizing configuration and data with the secondary server, which works in a standby
mode. These two servers know status of each other by sending heartbeat message back and forth
between them. When the standby server notices that the master one fails to response it,
the standby server will take the control of the communication and work temporarily as a
master server, until another master server boots up and failbacks from the secondary.

For the client side, all clients will be configured with two server's address (ip or port, etc).
They will try to communicate with the master first and then the secondary if the master fails
to response to them. If they are talking to the secondary one and the master comes back to alive,
they will receive message from the master and turn back to the master accordingly. Since all data
will be synchronized between these two server as fast as possible, and I will try to make
the transaction as short as possible, I assume everything will keep on working very well regardless
the failover and failback transfer. There would be some complicated situations, but currently I
only want to focus on the basic design.

That's all the requirement I need to meet.
回复  

使用道具 举报

2#
发表于 24-9-2009 17:09:48 | 只看该作者
和我上学时设计的client server聊天室惊人的相同,俺设计的也是双server
回复  

使用道具 举报

3#
 楼主| 发表于 24-9-2009 17:23:38 | 只看该作者
They will be three kinds of server due to the current system requirements.
I call them as A-Server, B-Server, and C-Server. I expect there will be more
in the future; therefore, my design should support the server type extension
easily.

评分

参与人数 1威望 +30 收起 理由
lufumin1832 + 30 谢谢分享!

查看全部评分

回复  

使用道具 举报

4#
 楼主| 发表于 25-9-2009 09:52:20 | 只看该作者
What I'm thinking about is a Failover framework, based on which,
my developers could implement their own servers easily without
any burden with failover or standby mechanism. They will program
a normal server with some special interfaces, such
  1. Configuration synchronizing interface including both sending
and receiving sides.
  2. Other data synchronizing interfaces
  3. Failover control on the standby server
  4. Failback control on the master server
  5. Heartbeat message communication implementation
  6. Reporting interface, used when the other server is unreachable.

Obviously, as a framework, I won't really care about the detail
implementation of the configuration item transmitting between
these two servers; I don't even consider the synchronizing mechanism
applied on them. I just need to make sure they know what duties they
are assigned to be a master or standby server.

On the other hand, I'm responsible for providing the infrastructure
supporting the failover implementation. That means, I should
introduce a list of the components for that suppose, and tell
everybody, hey mate, don't worry, please apply these components
on they implementation until you want a custom solution.
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+10, 21-4-2025 18:51 , Processed in 0.027664 second(s), 25 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表