需要制作一堆(20+)服务(通常是单用途服务 - 例如用户管理 - 使用多种方法)。
最好让每个服务都在自己的port /自己的Visual Studio项目中,或者在一个项目的单个端口上一次性完成这些服务吗?
从缩放的角度来看,最好的是什么?如果它们都部署在一台机器上,那么两种方法之间的性能是否存在差异?以某种方式将它们分开是有道理的,所以如果例如其中一个服务看到显着更高的使用它可以在多台机器上单独扩展,你同意吗?
答案 0 :(得分:2)
对于Web服务而言,物理TCP / IP端口并不重要,您应该为标准HTTP端口(80)进行拍摄,并确保在Web服务器上有足够的负载平衡以满足预期的用户负载。 / p>
当资源(内存或处理能力)处于高需求状态时,服务器上的性能会降低,如果您的用户负载超过一台服务器上的可用资源,那么在不同端口上的服务不会改变这种情况我需要考虑创建一个服务器场或部署在可以扩展到您需求的云服务上(如Amazon EC2或Microsoft Azure)。
项目细分取决于功能,具有类似功能的服务以及与相关后端资源交互的服务可以在同一个项目中组合在一起,以便进行扩展,但对于如何在项目上细分服务没有硬性规则,常识并尝试将类似的功能分组。