-
Notifications
You must be signed in to change notification settings - Fork 62
High performance solution
Lamond Lu edited this page Nov 23, 2017
·
6 revisions
整个项目采取分布式架构并采用部分微服务思想,提高项目的易扩展,易维护能力。
前端使用Nginx做负载均衡,将用户导向到不同服务器的项目实例,从而减轻单个服务器的负担
由于Api服务和业务处理完全解耦,所以Api服务的性能压力大部分来自于查询,当服务器压力仅来自请求数量,可以使用Nginx做负载均衡,添加新服务器搭载响应的Api服务,以便解决大量查询请求的问题。
当数据查询性能成为瓶颈时,可以搭建SQL Server故障转移集群(搭建方法参见链接), 创建多个辅助库,分担数据库压力。
The handler connect RabbitMQ with Work Queue, so when all the handlers are overload, it is easy to start another new handler instance to handle extra command/event.
SignalR support Scaleout. It use the backplane to sync the message among different SignalR instance. There are 3 type backplane.
- Azure Service Bus.
- Redis
- SQL Server

How to enable Scaleout in SignalR?
Link)