我聽說,像facebook這樣的許多公司正在使用UDP從memcached中獲取數據。我有一個疑問,他們如何確保沒有丟包和接收數據包的順序是每個需求。我們知道tcp提供這樣的設施,但udp沒有。使用UDP從Memcached中獲取數據包時丟失數據
2
A
回答
0
OSI模型有7層,它們是:
- 應用層
- 表示層
- 會話層
- 傳輸層
- 網絡層
- 數據鏈路層
- 物理層
把事情分層是很好的解決問題的方法,但這並不意味着你必須在網絡層完成所有的網絡操作。正如你所提到的,TCP在UDP不提供反饋給終端系統時,但UDP有它自己的優勢。 UDP的數據報首先比TCP更簡單。而且像Facebook這樣的大型系統也使用UDP,因爲對於這些類型的系統使用TCP並不會很聰明,因爲所有的數據發送者都必須跟蹤許多接收者的發送速率和重發率。所以如果他們使用TCP,他們的網絡層將承受非常大的壓力。
因此,他們在應用層進行流量控制以減少網絡流量。
+0
是的,UDP比TCP有很多優點,但我擔心的是,人們在使用UDP時如何管理一致性。 – shubham12511
相關問題
- 1. udp數據包丟失
- 2. Android udp數據包丟失
- 3. 50%udp數據包丟失
- 4. Android UDP數據包丟失
- 5. 丟失數據包超時(UDP)
- 6. 用python接收UDP數據包,造成數據包丟失
- 7. UDP數據包丟失修復
- 8. udp vs tcp數據包丟失
- 9. 平均UDP數據包丟失和數據包重新排序
- 10. 從數據庫中獲取數據時連接丟失
- 11. Linux丟棄UDP數據包
- 12. 從memcached獲取數據
- 13. 爲什麼android udp-socket使用socket.recieve()方法丟失數據包?
- 14. 爲什麼Socket.BeginReceive從UDP丟失數據包?
- 15. Java UDP數據包讀取失敗
- 16. 從TFRecords讀取時丟失數據
- 17. 在python中模擬UDP中的數據包丟失
- 18. 使用Java客戶端讀取TCP時丟失/丟失數據包
- 19. UDP - 在microbursts期間丟失數據
- 20. 如何理解丟失在UDP中的數據包?
- 21. 在Windows Server,Java中監視UDP數據包丟失
- 22. 我們如何避免在UDP Flex中丟失數據包?
- 23. 使用Java測量數據包丟失
- 24. 嘗試創建數據庫時獲取數據庫丟失
- 25. 從sqlite數據庫中丟失數據
- 26. 獲取數據包的延遲(TCP \ UDP)
- 27. 獲取UDP數據包的IP地址
- 28. 爲什麼我會從memcached中丟失會話數據?
- 29. 升壓ASIO丟棄UDP數據包
- 30. 讀取UDP數據包
您可以在UDP之上分層應用程序協議,爲應用程序提供可靠性。 –
@Ron Maupin當我們使用UDP時,MEMCACHED協議是否爲我們完成了這項工作,或者我們需要編寫一個應用層來確保獲取的數據是一致的。 – shubham12511