我目前有一个应用程序,可以通过 TCP 套接字将 XML 从 Windows 客户端发送到 Windows 服务器。
我们正在重写架构,我们的服务器将使用 Java。我们正在研究的一种架构是基于 http 的 REST 架构。因此 C# WinForm 客户端将使用它发送信息。我们正在寻求高吞吐量和低延迟。
是否有人知道此方法与其他一些 C# 客户端到 Java 服务器通信选项的性能指标。
最佳答案
这并没有真正定义得足够好,无法进行任何指标陈述;消息有多大,您访问 REST 服务的频率是直接 HTTP 还是需要使用 SSL 来保护它?换句话说,您能告诉我们有关工作负载参数的什么信息吗?
(在性能问题上我一遍又一遍地说:除非你能告诉我一些关于工作负载的信息,否则我不能——没有人真正能——告诉你什么会带来更好的性能。这就是为什么他们过去常说在实现之前,您无法考虑性能:并不是您不能考虑性能,而是人们通常不能或至少不会考虑工作负载。)
尽管如此,您只需查看要交换的消息数量即可做出一些良好的估计,因为 TCP/IP 的设置时间通常主导 REST。 REST 在这里提供了两个优势:首先,TCP/IP 时间通常确实主导消息传输,并且在 Apache 或 lighttpd 等生产 Web 服务器中得到了很好的优化;其次,RESTful 架构通过消除 session 状态来增强可扩展性。这意味着您只需使用简单的 TCP/IP 负载均衡器即可自由扩展。
关于c# - Java/C# 消息传递的 REST 架构的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/622823/