如何保证生产系统的稳定性呢?求经验

2014-11-13 16:51:09 +08:00
 gkiwi
mysql,redis,rabbit-server,websocket消息服务器,elasticsearch,app的api服务,网站服务,...

显然如果有一个服务挂了,基本上项目就不能正常运转了.

预备用supervisord进行服务监控,但还是觉得不安心,请问大家在此时是如何保证这些服务的稳定性呢?服务监控这块也求些经验/工具.

谢谢!
3060 次点击
所在节点    程序员
15 条回复
mx1700
2014-11-13 16:59:57 +08:00
监控宝
leo108
2014-11-13 17:03:50 +08:00
能做主从的就主从,反正就是不要有单点,而且相同的服务不能部署在一个服务器上,尽量不要在一个网段、机房
msg7086
2014-11-13 18:12:47 +08:00
高可用
szanlin
2014-11-13 18:18:25 +08:00
异地容灾备份?
xuwenhao
2014-11-13 19:14:45 +08:00
你需要有自动切换和备份,服务挂掉是不能避免的。通常的做法是把服务都注册起来上,然后上游通过服务发现机制发现下游的服务,每个服务都不只一个节点,这样挂掉单个节点,上游的服务的请求,会到下游其他的节点,对外的服务仍然是可用的。

你说的各种服务,很多有开源的HA的解决方案,自己的App,也可以自己写相应的服务注册和发现机制
ziyuan
2014-11-13 19:15:19 +08:00
集群,高可用ha,load balance
gkiwi
2014-11-13 20:19:08 +08:00
@mx1700
@leo108
@msg7086
@szanlin
@ziyuan
@xuwenhao

这些短期内不大可能有多台服务器,也就两台把...想从教细的颗粒上进行处理:)
GeekGao
2014-11-13 20:30:18 +08:00
简单的说,Heartbeat 是你要找的,上手最快、有效的
tushiner
2014-11-13 20:45:37 +08:00
“小王,要是服务器宕机了,你知道会怎样吧?”
kslr
2014-11-13 21:15:25 +08:00
app/system/mysql/redis/elasticsearch->newrelic
api->监控宝
其他未知
GhostFlying
2014-11-13 21:17:55 +08:00
@gkiwi 如果性能不紧张的话,虚拟化?反正目标也是提高冗余
frankzeng
2014-11-13 21:55:24 +08:00
如果服务挂了,自动重启
gkiwi
2014-11-13 22:03:26 +08:00
@GeekGao
@kslr

谢谢两位,我去抽空去研究下!
msg7086
2014-11-14 03:50:10 +08:00
@gkiwi 不会挂的服务器是不存在的……

所以大公司都是用上千台服务器做集群来保证服务器挂掉也不影响系统工作。
gkiwi
2014-11-14 10:57:44 +08:00
@msg7086 这个晓得.只是想在单机上尽可能提高稳定性:)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/146239

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX