我正在开发项目,我们决定将后台任务(网络,CPU和IO密集型)分成三个窗口服务。
现在的问题是,我们是否应该将所有三项服务托管到一个流程中,或者使用自己的流程创建三个独立服务。
Windows服务项目模板允许创建多个服务,安装后,他们将在服务控制管理器(SCM)中创建单独的条目,并且可以单独控制。这里的好处是更好的代码管理和代码重用。
但是,如果存在任何性能缺陷,这是我们首先拥有多项服务的主要原因,我宁愿放弃这项优势。
请告知。
答案 0 :(得分:0)
我的建议是使用topshelf或其他技术创建的Seperarte windows服务因此它们独立于paltform
可伸缩性根据需要可以轻松扩展,如果一个服务的使用比其他服务更多,那么一个服务可以通过运行多个实例来扩展。
并行处理因为服务是独立的,所以它们可以并行工作,从而提高了性能。