S.K*_*S.K 1 .net architecture windows-services c#-4.0
我们正在重写我们的 .net 应用程序。当前应用程序有 4 个 windows 服务。第一个服务接受来自 UI 的请求,并通过发布刷新 UI 的事件来更新 UI。此服务在内部使用 2 个 thrall 池,每个池最多 16 个线程来服务 GUI。来自 UI 的任何需要业务处理的请求都会传递到工作进程 windows 服务(有 2 个这样的 windows 服务)。MSMQ 用于在服务之间来回传递请求。第四个 Windows 服务充当负载平衡,并将来自第一个服务的请求定向到工作人员。所有服务都在同一个盒子上运行
现在在重写时,我们想知道我们是否应该保持相同的架构,或者是否可以将其全部用单独的线程整合到同一个服务中。从性能的角度来看,哪个会更好。
现在你是在同一个盒子上运行它,但你认为你将来可能需要扩展到多个盒子吗?
涉及多个服务的架构更具可扩展性、可维护性和灵活性。您获得的一些主要好处是,
由于减少了延迟,多线程可能会给您带来一些性能提升,但是如果您在同一台机器上运行两个系统,那么就不会有太大区别。但是,如果您因高负载而陷入困境,并且只想扩展您的业务逻辑服务;那你就倒霉了。所以我总是会使用多服务(一种微服务架构),它可以分离关注点和其他好处。
我希望这有帮助。