我必须创建一个.net Web应用程序,它可以在负载均衡的多个前端服务器上运行。现在我必须使用一些不是线程安全的第三方api,因此一次只能调用一次API,所以我必须使用一些同步机制,例如锁或互斥锁,这些同步机制在进程内和机器上的进程中提供syncronisation。现在会正确锁定或互斥负载均衡多服务器环境中的工作吗?如果没有,那么是否有任何机制使用我可以在所有机器中同步我的应用程序的所有线程?如何在负载均衡的多服务器环境中实现同步
0
A
回答
1
第三方API以何种方式“不是线程安全的”? 通常这意味着您只能从一个线程调用每个进程 - 但您可以同时从多个不同的进程调用它,除非它们都将访问单个共享资源。
如果你能告诉我们更多关于API,这将有助于...
编辑:好的,因为它使用一个共享的资源,你可能要考虑创建所有其他连接到服务器并且这是唯一的机器使用这个第三方API。这可能涉及一个消息队列的请求,或者可能只是一个普通的Web服务。很明显,这将是单一故障点和系统瓶颈 - 如果你能找到任何避免单一共享资源的方法,那将是更可取的。
通过让多台机器“尝试”成为这台主机,您可以避免它成为单点故障。通过保持数据库锁定。当然,这回到了你原来的共享锁的问题 - 但这意味着你不是试图获得每个第三方API操作的锁 - 只是为了成为“活动主”的特权。
相关问题
- 1. 负载均衡服务器
- 2. 负载均衡环境中的HTTPContext
- 3. 负载均衡环境中的图像
- 4. 服务发现vs负载均衡
- 5. 如何在mule中实现负载均衡器Http端点
- 6. 如何在java中实现负载均衡器
- 7. 如何在负载均衡环境中设置SSL?
- 8. java中的服务器到服务器通信 - 负载均衡
- 9. 负载均衡环境中的弹簧调度器
- 10. 如何获取负载均衡器上的服务器URL
- 11. 在负载平衡环境中的WCF服务之间的MSMQ
- 12. 如何在nginx中实现新的负载均衡算法?
- 13. 负载均衡上的wcf服务
- 14. 如何为WCF服务模拟负载平衡环境?
- 15. 在负载均衡托管环境中更好的CMS
- 16. 在负载均衡的环境中将javascript/css请求直接发送给同一服务器
- 17. 如何使用负载均衡器实现SignalR冗余?
- 18. 如何强制连接负载均衡器后面的不同服务器?
- 19. 在负载均衡环境中重写HttpContext.Current.Cache。
- 20. Web场和负载平衡环境中的WCF服务配置
- 21. 多个负载均衡器可以指向同一个上游服务器吗?
- 22. 负载均衡
- 23. terraform负载均衡多lisstners
- 24. 在多个服务器上承载相同的WCF服务以实现负载平衡
- 25. 如何与负载均衡
- 26. 负载均衡环境中的ADO.NET DataSet有问题吗?
- 27. 负载均衡环境中的Asp.net会话管理
- 28. 跨站点或应用程序实现IIS负载均衡 - 不是服务器
- 29. 如何在Android2.1中实现均衡器?
- 30. 在负载均衡器(服务)之上的nginx
实际上API在内部使用单个共享资源,因此一次只有一个线程应该调用它。 – Anoop 2010-03-18 17:19:58