标签: high-availability

ZooKeeper替代品?(集群协调服务)

ZooKeeper是一种高度可用的数据中心协调服务.它起源于Hadoop项目.可以在其上实现锁定,故障转移,领导者选举,组成员资格和其他协调问题.ZooKeeper还有其他选择吗?(当然是自由软件)

locking high-availability cluster-computing heartbeat apache-zookeeper

70
推荐指数
6
解决办法
4万
查看次数

Web App:高可用性/如何防止单点故障?

有人可以向我解释高可用性("HA")如何适用于Web应用程序......因为我认为HA意味着不存在单点故障.

但是,即使使用了负载均衡器,这不是单点故障吗?

load-balancing high-availability cluster-computing uptime

46
推荐指数
2
解决办法
2万
查看次数

Redis主/从复制 - 单点故障?

如何在没有停机时间的情况下升级到更新版本的Redis?Redis从站是只读的,因此您似乎必须取下主站,并且在您等待重新加载数据库时,您的站点将是只读45秒或更长时间.

有没有解决的办法?

high-availability redis

37
推荐指数
4
解决办法
3万
查看次数

如何保证Celery的邮件传递?

我有一个python应用程序,我想在后台开始做更多工作,以便它变得更加繁忙,因为它变得更加繁忙.在过去,我使用Celery来完成正常的后台任务,这一点运作良好.

这个应用程序和我过去做过的其他应用程序之间的唯一区别是我需要保证这些消息得到处理,它们不会丢失.

对于这个应用程序,我不太关心我的消息队列的速度,我首先需要可靠性和耐用性以及formost.为了安全起见,我希望有两个队列服务器,两个都在不同的数据中心,以防出现问题,一个是另一个的备份.

看看Celery看起来它支持一堆不同的后端,有些后端具有更多功能.两个最流行的看起来像redis和RabbitMQ所以我花了一些时间来进一步检查它们.

RabbitMQ: 支持持久队列和群集,但是它们今天进行群集的方式的问题是,如果丢失群集中的节点,则该节点中的所有消息都将不可用,直到您将该节点重新联机为止.它不会复制群集中不同节点之间的消息,只是复制有关消息的元数据,然后返回到原始节点以获取消息,如果节点未运行,则为SOL Not理想.

他们建议解决这个问题的方法是设置第二台服务器并使用DRBD复制文件系统,然后运行pacemaker之类的东西,以便在需要时将客户端切换到备份服务器.这似乎很复杂,不确定是否有更好的方法.谁知道更好的方法?

Redis: 支持一个读取从站,这将允许我在紧急情况下备份,但它不支持主 - 主设置,我不确定它是否处理主站和从站之间的主动故障转移.它没有RabbitMQ那样的功能,但看起来更容易设置和维护.

问题:

  1. 设置芹菜的最佳方法是什么,以保证消息处理.

  2. 有没有人这样做过?如果是这样,会分享您的所作所为吗?

high-availability message-queue rabbitmq redis celery

34
推荐指数
2
解决办法
5444
查看次数

Scala + Akka:如何开发多机高可用性集群

我们正在Scala + Akka开发一个服务器系统,用于为Android,iPhone和Second Life的客户提供服务.此服务器的某些部分需要高度可用,在多台计算机上运行.如果其中一台服务器死亡(例如硬件故障),系统需要继续运行.我想我希望客户有一个他们将尝试连接的机器列表,类似于Cassandra的工作方式.

到目前为止,与阿卡我见过的多节点例子似乎对身边的可扩展性的理念为中心,而不是高可用性(至少在硬件方面).多节点示例似乎始终存在单点故障.比如有负载均衡,但如果我需要重新启动具有负载均衡的机器之一,我的系统会遭受一些停机时间.

是否有任何示例显示Akka的这种类型的硬件容错?或者,您是否有任何关于实现这一目标的好方法的想法?

到目前为止,我能够提出的最佳答案是研究Erlang OTP文档,冥想它们,并试图找出如何使用Akka中提供的构建块将我的系统放在一起.

但是,如果有关于如何在多台机器之间共享状态的资源,示例或想法,如果其中一台机器停机运行,我肯定会欣赏它们,因为我担心我可能会重新发明这里的轮子.也许有一个多节点STM容器可以自动保持多个节点之间的共享状态同步?或者这可能很容易使文档没有显示如何做到的例子,或者我在研究和实验中还不够彻底.任何想法或想法将不胜感激.

scala fault-tolerance high-availability akka

26
推荐指数
1
解决办法
8071
查看次数

可伸缩性的设计模式(或技术)

哪些设计模式技术,你使用的是向专门针对可扩展性

在我看来,像Flyweight模式这样的模式是工厂模式的专用版本,以提高高可伸缩性或在内存或存储限制内工作时.

你用过别人的吗?(数据库的非规范化等)当高可用性或可伸缩性是您的主要目标时,您是否发现规则会发生变化?

可能的情况是:

  • 移动设备的内存,处理能力和连接性比台式机或笔记本电脑更有限
  • 有限硬件上的高用户数(缓存策略等)
  • 优化数据库模式以提高效率以代替标准化设计(例如,用于存储的SharePoint列包装)

design-patterns scalability high-availability

25
推荐指数
3
解决办法
1万
查看次数

跨多个服务器复制sqlite数据库的方法

我正在开发一个分布式的应用程序,我有一个必须在分布式服务器之间共享的SQLite数据库.如果我在serverA中,并且更改sqlite行,则此更改必须立即在其他服务器中,但如果服务器处于脱机状态,然后它在线,则必须更新所有信息等于其他服务器.

我正在尝试使用小型SQLite数据库开发HA服务.

我正在考虑像MongoDB或ReThinkDB这样的东西,因为复制工作正常,我有独立的服务器在线数据.

有一个库或其他SQL方法在服务器之间共享数据?

提前致谢.

sqlite replication high-availability distributed-computing rethinkdb

22
推荐指数
3
解决办法
3万
查看次数

name node Vs secondary name node

Hadoop是一致的和分区容忍的,即它属于CAP theoram的CP类别.

Hadoop不可用,因为所有节点都依赖于名称节点.如果名称节点落下,则群集将关闭.

但考虑到HDFS集群有一个辅助名称节点,为什么我们不能将hadoop称为可用.如果名称节点已关闭,则辅助名称节点可用于写入.

名称节点和辅助名称节点之间的主要区别是什么使hadoop不可用.

提前致谢.

hadoop high-availability hdfs hadoop2

20
推荐指数
1
解决办法
4万
查看次数

如何使用HA设置Jenkins?

目前我们使用Jenkins作为我们的CI系统,并且有一个主服务器和从服务器由Saltstack在Openstack上提供.如果我们的Jenkins主服务器出现故障,我们需要创建一个新的主服务器,我们需要从旧主服务器中提取文件并将其放入新主服务器中,但这需要至少30分钟.

有没有办法设置Jenkins的高可用性?

我已经检查过Gearman Plugin,但是如果Gearman服务器由于某种原因出现故障,我们还需要为Gearman设置一个HA.

有没有其他方法可以为Jenkins设置高可用性?

linux continuous-integration high-availability jenkins jenkins-plugins

19
推荐指数
2
解决办法
2万
查看次数

您如何以最诚实的方式更新实时,繁忙的网站?

当您对实际网站进行更改时,如何检查实时系统是否正常工作?你用哪些工具?谁做到了?您是否在测试期间阻止访问该网站?可以接受多少停机时间?

high-availability release-management

17
推荐指数
2
解决办法
3783
查看次数