如果有人分析了這兩種範例之間的性能差異,我很好奇。golang渠道vs.常規產卵性能
有一個聽衆的goroutine(也許幾個),其監聽套接字,並生成一個新的goroutine來處理信息,並一起到哪裏它去發送。發送命令後,例程將完成並將被銷燬。每個請求都會創建一個例程,然後在完成時將其銷燬。
有一個聽衆的goroutine(也許幾個),其監聽套接字和數據傳遞給一個通道。許多goroutines阻止頻道接收,並將輪流從頻道中取出並處理它們。完成後,例程將在該頻道上等待以獲取更多信息。例程永遠不會在這個範例中被破壞。一對夫婦主程序在頻道上接收套接字信息,其他例程在頻道上等待處理信息。例程永遠不會被破壞。
問題我有用於接收大量的信息小的比特在接收(每個消息0.5-1.5kb),但有很多在未來一次消息的系統(高容量,低尺寸)什麼範例更適合速度和處理。有大量的例程坐在並使用頻道將它們分散到一堆聽力程序中?或者,爲每個請求創建一個路由並在每個請求之後讓該例程結束?
連最基本的思想和猜想是很酷。
謝謝。
,你可以使用這兩種方法,並基準他們創造POC。我也會看標準庫。如何去建網/ http工作? (我認爲從網上閱讀的東西中得到1號,但我不知道)。源是存在的,方便 – dm03514
看一看這篇博客http://marcio.io/2015/07/handling-1-million-requests-per-minute-with-golang/ – fl0cke
'網/ http'實際每個請求產生一個例程。 – Elwinar