python 多線程并行 如何用python寫(xiě)一個(gè)高并發(fā)的服務(wù)端?
如何用python寫(xiě)一個(gè)高并發(fā)的服務(wù)端?當(dāng)使用Python作為高并發(fā)服務(wù)器時(shí),我們應(yīng)該考慮Python多線程的限制。同時(shí),多線程模式的并發(fā)能力也不是最優(yōu)的。我們可以參考nginx的實(shí)現(xiàn),用協(xié)同路由的概
如何用python寫(xiě)一個(gè)高并發(fā)的服務(wù)端?
當(dāng)使用Python作為高并發(fā)服務(wù)器時(shí),我們應(yīng)該考慮Python多線程的限制。同時(shí),多線程模式的并發(fā)能力也不是最優(yōu)的。我們可以參考nginx的實(shí)現(xiàn),用協(xié)同路由的概念來(lái)響應(yīng),以提高并發(fā)性和吞吐量。前提是業(yè)務(wù)邏輯不應(yīng)該有太多的阻塞操作異步框架
這基本上就是應(yīng)用微服務(wù)的架構(gòu)。主要有兩種方式:
1)每個(gè)環(huán)境封裝為一個(gè)微服務(wù),提供restapi(或其他類(lèi)型的RPC調(diào)用)并相互調(diào)用
2)通過(guò)消息驅(qū)動(dòng),每個(gè)服務(wù)發(fā)送一條消息來(lái)實(shí)現(xiàn)參數(shù)調(diào)用。