【问题标题】:Options for RPC in Mono? (WCF Alternatives)Mono 中 RPC 的选项? (WCF 替代品)
【发布时间】:2011-11-20 16:57:06
【问题描述】:

我有机会花费大量时间尝试在单声道中使用 WCF。在这一点上,它的实现太差了,无法投入生产环境,除了玩具应用程序之外的任何东西。它无法承受 24/7 的负载。

我目前确实有在生产环境中运行的 Mono 上的 WCF,但我需要离开它,至少在短期内,为我的软件带来稳定性。目前,我通过每隔几个小时重新启动进程来生存,而且通常这还不够。

我正在寻找潜在的替代品。我所有的通信实体都是基于 .net 的,其中一些是 Linux 上的 Mono,另一些是 Windows Server 上的 ms.net。我很想用protobuf-net 作为序列化层来滚动我自己的RPC 层,但我不想这样做。 protobuf-net 最大的优点是它有很好的 C++ 支持,这是我看重的。

有没有人在 Mono 上使用 RPC 实现了稳定性?如果有,你做了什么?

更新:我没有提到我正在寻找有状态的双工消息。这是一条相当重要的信息。我没有坚持下去,但我非常想要它。 WCF 通过 net-tcp 双工通道提供了这一点。

【问题讨论】:

  • 这是一个很好的问题,我真的希望看到一些像样的答案。我也遇到了与单声道相同的问题。就 WCF 而言,单声道在生产环境中不是我可以信任的。

标签: .net wcf mono rpc protobuf-net


【解决方案1】:

RestSharp 经常在 Mono 的 IRC 频道(例如 GimpNET 上的#mono)中被提及,它可以与 Mono、MonoTouch、Silverlight、Windows Phone 7 以及当然还有常规 FX 一起使用。

【讨论】:

  • 我会研究这种可能性。我的观点与我在 Brook 的回答中提到的相同:ServiceStack。它取代了 WCF 的一个方面,但有很多 WCF 需要取代,而且我有 REST 服务无法削减它的地方。
【解决方案2】:

尝试ServiceStack 用于 REST/WS

现代、代码优先、DTO 驱动的 WCF 替代 Web 服务 鼓励创建 DRY 的最佳实践的框架, 高性能、可扩展的 REST Web 服务

如果您正在寻找基于双工和 tcp 的东西,您可以考虑zeroMQ,尽管它的问题集与 WCF 略有不同。

【讨论】:

  • +1 这看起来是 RESTful Web 服务的绝佳选择,也是 WCF 功能的替代方案。我会在某些地方找到它的用途,但是(除非我遗漏了什么)你不能实现有状态的双工服务。我已更新我的问题以突出显示此细节。
  • @John Hargrove:如果您对双工 tcp 感兴趣,您可能也对 zeroMQ 感兴趣(更新了我的答案)。
  • 经过大量研究和大量代码,我正在切换到 zeroMQ。我使用 zeroMQ 进行传输,使用 protobuf 进行消息格式化。我已经实现了一些模式,例如请求/回复、发布/订阅等。它工作得很好,并且在单声道下很稳定。它并不完美,但它肯定适合我的环境。感谢您的回答!
【解决方案3】:

【讨论】:

  • 谁能评论 Mono 中远程处理的可靠性?我不是很喜欢远程处理,但如果它有效,它就有效。
  • 它就像一个魅力。这是一个非常稳定的 sw。
【解决方案4】:

试试NFX.Glue - 适用于 Mono

Blog with overview

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-18
    • 2016-07-26
    • 2012-01-20
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    相关资源
    最近更新 更多