有没有人尝试过Hadoop?在没有共享架构的情况下,它可以在没有随附的分布式文件系统的情况下使用吗?那会有意义吗?
我也对你的任何表现结果感兴趣......
我正试着绕过AMQP.它看起来很适合应用程序之间的机器间(集群,LAN,WAN)通信,但我不确定它是否适合(在架构和当前实现术语中)用作一台机器中的软件总线.
是否值得提取当前的高性能消息传递框架以用AMQP替换它,或者是否通过模糊本地和非本地通信之间的区别而陷入与RPC相同的陷阱?
我也对使用WAN技术进行机内通信的性能影响保持警惕,尽管这可能比架构更像是一个实现问题.
战争故事将不胜感激.
我编写了一个应用程序,它至今尚未开源,我想在各种Linux发行版中分发可执行文件.什么是最好的方法,我看了一点.rpm和.deb包装,但我无法找到是否可以用于二进制文件.理想情况下,我喜欢OS X上的PackageMaker或Windows上的常规安装程序,它会自动将其复制到/ usr/bin中.那是什么.rpm和.deb包是或者我必须捆绑一个自动执行它的shell脚本吗?
linux distributed packaging software-distribution package-managers
您好,在SO,
我想对你们尊敬和尊敬的一些人提出一些想法/意见.
我有100M记录需要处理.我有5个节点(在岩石群中)来做这件事.数据非常有条理,并且很好地适用于关系数据模型.我希望并行处理,因为我的处理需要一些时间.
我看到它有两个主要选择:
在每个节点上安装mysql,并在每个节点上放置20M记录.使用头节点将查询委派给节点并聚合结果. 查询功能++,但是当我选择分区策略等时,我可能会冒一些头痛的风险.(问:这就是他们所谓的mysql/postgres集群吗?).真正糟糕的是,记录的处理现在由我来处理(如何跨机器分发等)...
或者安装Hadoop,Hive和HBase(请注意,这可能不是存储数据的最有效方法,因为HBase是面向列的)并且只是定义节点.我们在MapReduce范例中写下了所有内容,而且,从此以后,我们幸福地生活着.这里的问题是我们失去了"实时"查询功能(我知道你可以使用Hive,但这不建议用于实时查询 - 我需要) - 因为我还有一些正常的sql查询有时执行" select*from wine where color ='brown'".
请注意,理论上 - 如果我有100M机器,我可以立即完成所有事情,因为对于每个记录,处理是独立于另一个.另外 - 我的数据是只读的.我没有想到会发生任何更新.我不需要/想要一个节点上的100M记录.我不希望有冗余数据(因为它有很多)所以保持它在两个mysql/postgres和Hadoop/HBase/HDFS.不是一个真正的选择.
非常感谢
我正在寻找分布式缓存/会话解决方案,下面是我发现的.我希望任何人都可以分享有关使用它的利弊的信息:
MemCached按照@TFD的推荐
我使用的是ASP.NET 4和SQL Server 2008.
任何想法都将非常感谢!
我是Akka的新手,也是分布式编程的新手.使用Akka的Mist组件,我创建了受监督的actor来异步处理HTTP请求.目前一切都在当地演员的一台物理机器上运行.我不明白的是如何构建一个具有多个盒子的真正容错系统.正如Akka文档中所述:
此外,您(通常)需要知道一个盒子是否关闭和/或您在另一个盒子上与之通话的服务是否已关闭.这里的actor监督/链接是一个关键工具,不仅可以监视远程服务的健康状况,还可以实际管理服务,如果actor或节点出现故障,可以对问题采取一些措施.例如在同一节点或另一个节点上重新启动actor.
我该怎么做呢?我正在寻找一个关于如何开始分发应用程序的示例或指针.我们组中的其他服务在多个Tomcat实例之前使用Apache网关,因此Tomcat服务器关闭的事件对用户是透明的.我正在将我的服务部署到Akka微内核,并且需要在多个物理盒中实现类似级别的高可用性.
我正在使用Akka 1.1.3.
在我的职业生涯中,我一直致力于数据分析,BI工具等.我工作的大多数应用程序都是主要的只读应用程序.虽然我也曾在简单的CRUD应用程序上工作,但没有什么特别的交易.作为一名软件工程师,我觉得如果我不知道如何设计高度交易系统和数据库,如亚马逊,航空公司系统等的工作方式,我的学习中就会出现空白.我想请社区人士就这个问题提出一些资源,书籍或简单项目.在教授必要的理论的同时可以采用实践方法的东西.我知道这是一个主观问题,但我可以将最有用的答案标记为绿色.期待您的建议并感谢您的期待.
distributed database-design transactions high-availability distributed-transactions
我是分布式tensorflow的新手,我正在寻找一个很好的例子来对CPU进行同步训练.
我已经尝试过分布式Tensorflow示例,它可以通过1个参数服务器(1个带1个CPU的计算机)和3个工作程序(每个worker = 1个带1个CPU的计算机)成功执行异步训练.但是,当涉及到同步训练时,我无法正确运行它,尽管我已经按照SyncReplicasOptimizer教程 (V1.0和V2.0)进行了操作.
我已将正式的SyncReplicasOptimizer代码插入到工作异步训练示例中,但训练过程仍然是异步的.我的详细代码如下.任何与同步训练相关的代码都在******的范围内.
import tensorflow as tf
import sys
import time
# cluster specification ----------------------------------------------------------------------
parameter_servers = ["xx1.edu:2222"]
workers = ["xx2.edu:2222", "xx3.edu:2222", "xx4.edu:2222"]
cluster = tf.train.ClusterSpec({"ps":parameter_servers, "worker":workers})
# input flags
tf.app.flags.DEFINE_string("job_name", "", "Either 'ps' or 'worker'")
tf.app.flags.DEFINE_integer("task_index", 0, "Index of task within the job")
FLAGS = tf.app.flags.FLAGS
# start a server for a specific task
server = tf.train.Server(cluster, job_name=FLAGS.job_name, task_index=FLAGS.task_index)
# Parameters ----------------------------------------------------------------------
N = 3 # number of replicas
learning_rate = …Run Code Online (Sandbox Code Playgroud) 我目前面临一个问题,我可以肯定有一个正式名称,但是我不知道该在网上搜索什么。我希望如果我描述问题和解决方案时想到的,有人能够告诉我设计模式的名称(如果有一个与我要描述的内容相匹配的设计模式)。
基本上,我想拥有一个工作队列:我有多个创建工作的客户端(发布者),以及许多处理这些工作的工人(消费者)。现在,我想将发布者创建的作业分发给各个使用者,这基本上可以使用几乎任何消息队列并在整个队列中实现负载均衡,例如使用RabbitMQ甚至MQTT 5。
但是,现在事情变得复杂了……每个工作都指向一个外部实体,例如一个用户。我想要的是按顺序处理单个用户的作业,但并行处理多个用户的作业。我不要求用户X的作业始终去工作者Y,因为无论如何它们都应按顺序处理。
现在,我可以使用RabbitMQ及其一致的哈希交换来解决此问题,但是当新的工作人员进入集群时,我就会进行数据竞赛,因为RabbitMQ不支持重新定位已经在队列中的作业。
MQTT 5也不支持:在这里,这个想法被称为“粘性共享订阅”,但这不是官方的。它可能是MQTT 6的一部分,也可能不是。谁知道。
我也看过NSQ,NATS和其他一些经纪人。他们中的大多数甚至都不支持这种非常特定的情况,而那些确实使用一致哈希的情况,则存在前面提到的数据竞速问题。
现在,如果代理在作业到达后不将作业分类到队列中,而是跟踪某个特定用户的作业是否已经在处理中,则问题将消失:如果这样,它将延迟所有其他作业该用户,但其他用户的所有作业仍应处理。使用RabbitMQ等人无法做到这一点。
我很确定我不是唯一拥有用例的人。例如,我可以想到用户将视频上传到视频平台,尽管上传的视频是并行处理的,但单个用户上传的所有视频都是按顺序处理的。
因此,简而言之:我所形容的名字是用一个普通名字吗?诸如分布式作业队列之类的东西?具有任务相似性的任务调度程序?还是其他?我尝试了很多术语,但没有成功。这可能意味着没有解决方案,但是如上所述,很难想象我是这个问题上唯一的人。
有什么想法我可以寻找吗?并且:是否有实现此目的的工具?有协议吗?
PS:仅使用预定义的路由密钥是不可行的,因为用户ID(我在这里只是作为一个示例)基本上是UUID,因此可以有数十亿个,因此我需要更多动态的东西。因此,一致性哈希基本上是正确的方法,但是如上所述,为了避免数据争用,分发必须逐个进行而不是预先进行。
distributed design-patterns message-queue dispatcher job-queue
distributed ×10
hadoop ×2
actor ×1
akka ×1
amqp ×1
architecture ×1
asp.net ×1
caching ×1
dispatcher ×1
job-queue ×1
linux ×1
mysql ×1
networking ×1
p2p ×1
packaging ×1
performance ×1
postgresql ×1
scala ×1
session ×1
solution ×1
synchronous ×1
tensorflow ×1
transactions ×1