How*_*ard 27 distributed-computing go
我知道golang在内置支持方面非常擅长并发,但在我看来它们并不是分布式的,所以框架/库允许我们在分布式环境中编写生产者/消费者应用程序.
Jam*_*dge 23
如果您想在分布式程序中使用Go的通道概念,可以查看Go Circuit框架.
它提供了一个运行多进程程序的框架(可能分布在多台机器上),允许您使用通道在这些进程之间进行通信.
Cal*_*leb 10
这里不需要重新发明轮子......生产者/消费者应用程序通常使用消息队列构建.
使用这种方法,您应该尝试将问题分解为小的(理想情况下是幂等的)任务,构建可以排队这些任务的应用程序,然后使用另一个可以使这些任务出列并执行它们的工作程序.扩展很简单:只需添加更多工作人员.
那里有很多排队解决方案,对于一个用Go写的非常好的解决方案来看看NSQ.
迟了两年,但如果有人在找。 https://github.com/AsynkronIT/gam
GAM(Go演员模型)既支持Akka这样的演员,也支持Orleans这样的Virtual Grains。Protobuf代码生成支持像虚拟谷物这样的奥尔良女士,为您提供键入的消息和键入的谷物类型。参见 https://github.com/AsynkronIT/gam/blob/dev/examples/cluster/member/main.go https://github.com/AsynkronIT/gam/blob/dev/examples/cluster/shared/protos。原型
它的速度也非常快,每秒有100万以上的远程消息。
Akka 基于 Actor 模型。为此,我邀请您测试一个不错的 Go 框架:https : //github.com/AsynkronIT/protoactor-go
据说它有很好的性能,因为它声称在节点之间传递:
每秒两百万条消息
虽然 Go 已经使用 CSP 实现了,但 Protoactor 补充道:
归档时间: |
|
查看次数: |
19607 次 |
最近记录: |