.net 每个模块有多个服务器或一个服务器来处理来自多个客户端的请求
问题: 我们有一个场景,其中:.net 每个模块有多个服务器或一个服务器来处理来自多个客户端的请求,.net,design-patterns,network-programming,.net,Design Patterns,Network Programming,问题: 我们有一个场景,其中: 我们有多个模块(设备、音频、视频)(最多10个?) 连接到指定模块的多个接口客户端(最多2/3?) 我们想知道如何正确管理接口客户端和设备客户端之间的通信。一种解决方案是制作一个服务器管理器,它将处理一个到多个接口客户端的连接和一个到多个模块的连接。但是,我不喜欢它,因为多线程代码应该被管理。图表: 因此,我的建议是建立一个拥有多个服务器的管理器,这样每个模块和指定的接口将成为与具体模块服务器通信的客户端。图表: 哪一个更好,为什么?在我看来,具有多个服
- 我们有多个模块(设备、音频、视频)(最多10个?)
- 连接到指定模块的多个接口客户端(最多2/3?)
<> P.>从一个服务或一个服务开始,有很多因素需要考虑。看 但是,我不喜欢它,因为多线程代码应该是 管理 听起来您主要关心的是管理每个连接的线程,但是我遇到的框架(在.NET中的WCF和在JAVA中的Spring MVC)允许您仅通过它来定义每个请求的新线程。你不必自己管理它
假设“应该管理”的代码是由于共享对象而产生的,那么不管怎样,当服务器很少时,您必须处理此管理,而不是同步线程,您将同步服务器。如果不进行(许多)假设,您的问题将无法得到回答。需要更多关于模块依赖关系的信息。他们是无国籍的吗?你能画出请求的流程图吗?我认为在一篇文章中只有一个问题是很常见的。谢谢你的评论。我已经编辑了描述。当做NP如果我理解正确,您基本上是在问,开始编写基于微服务的应用程序或monolith是否更好?是的。是每个设备都有多个通道通信更好,还是一个通道用于从设备到服务器的通信,另一个通道用于从服务器到每个用户界面的通信更好。谢谢回答。主要关注的是多线程代码中的路由通信。我们有多个并行用户界面,可以在多个设备上调用操作并从它们(或通过服务器缓存)接收状态。您使用哪个框架进行通信?WCF?Web API?经过一些研究,我们将使用信号器。WebSocket非常快。这就是为什么我希望将solution2与多个服务器(集线器)一起使用。好的。我对此不太熟悉。我将删除答案,以便您获得更多有用的信息:)您也可以在上述问题中提及信号员,以获得更多相关的答案。