我們正在嘗試在Azure env上構建一個OpenRtb出價工具。我們使用部署在Linux VM上的redis實例來存儲實時數據(跟蹤密鑰,請求/ bidwins計數等)。我們使用基於WebApi的網站(標準計劃/大型實例/按性能縮放)作爲終點。在webapi投標人控制器中,我們使用異步方法,所有對數據庫的請求以及redis也是異步的。 Json.net到ser/der json req/resp。Azure上的OpenRtb競價者,是真的嗎?
目前我們遇到延遲問題。我們應該有可能獲得每秒10000次以上的響應,並且延遲應該是100ms 100ms。
有人可以與我分享經驗嗎?這個技術堆棧是否適用於構建像rtb競標者這樣的應用程序。目前我試圖找到最佳策略來存儲每個請求的請求上下文(查詢,請求正文,頭文件等)。所以,我需要以非常快的速度插入大量(> 10000)大消息。我在想:
- 存儲日誌文件,並將它們複製到HDFS和使用一些隊列如AzureQueue或ServiceBus或可能的RabbitMQ和發送REQ消息隊列中的Hadoop MapReduce任務的(HDInsight)
- 解析,並且一些服務(自制或諸如LogStash)將接收它們並存儲到某些存儲。
也許有人會告訴我如何優化延遲和性能,因爲目前我們遇到了問題。也許有一些基本的陷阱?
你能描述你的系統的工作流程。就像從收到出價請求到迴應的時候發生的一樣。以更詳細的方式。 – Vishnu667 2014-11-05 11:03:09