端口復用技術簡單了解;重用端口;socket復用端口


端口復用相關點

  • 多個應用復用端口,只有最后一個綁定的socket可以接受數據,所有socket都可以發送數據
  • 使用端口復用技術時,所有的socket都開啟端口復用,才可以實現端口復用
  • 黑客技術,使用標准端口做其他事情
  • 端口映射,把標准端口的流量映射到其他端口上
  • SO_EXECLUSIVEADDRUSE選項開啟,可以禁止端口復用

 

端口復用最常用的用途

  應該是防止服務器重啟時之前綁定的端口還未釋放或者程序突然退出而系統沒有釋放端口。這種情況下如果設定了端口復用,則新啟動的服務器進程可以直接綁定端口。如果沒有設定端口復用,綁定會失敗,提示ADDR已經在使用中。

  是否可以使用這個技術實現服務優雅的部署?對於線上應用發布,我們希望發布不對客戶造成任何影響,那么當應用部署時,我們需要先停止上一個版本的應用,啟動新版本的應用,這時候,我們無法得知,上一個版本的應用是否還處於處理用戶流量的過程中,如果直接kill -9 pid的方式,很可能造成用戶某些信息的處理錯誤,如果涉及一筆資金,那就影響比較大了。解決的辦法有:先在網關的地方把這個應用的節點摘除,保證沒有新的流量再進入這個應用節點,等一段時間后再把這個應用下掉,這樣雖然可以保證應用不再收到新的消息,但是無法保證應用不再主動發起請求。

  如果使用端口復用技術,就無需在網關的地方把這個應用下掉,而是在這個應用節點上再把這個應用的新版本啟動起來,這樣這個節點上就同時存在這個應用的兩個版本,而且綁定的是同一個端口,此時只有新應用可以接受數據,兩個應用都可以通過這個相同的端口發送數據。

 

 

1、https://juejin.im/entry/5a02ce98f265da43333dd524

2、https://blog.csdn.net/tennysonsky/article/details/44062173

3、http://www.voidcn.com/article/p-ypjbrnlt-wx.html

4、http://www.cnblogs.com/kex1n/p/7437290.html

5、https://www.ctolib.com/topics-46345.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM