日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java模拟连接超时_Java:使用Toxiproxy模拟各种连接问题

發布時間:2023/12/3 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java模拟连接超时_Java:使用Toxiproxy模拟各种连接问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java模擬連接超時

用Toxiproxy和Java的HttpURLConnection模擬各種連接問題,以查看產生了什么樣的錯誤:連接超時vs.讀取超時vs.連接被拒絕…。

結果:

系統:openjdk 11.0.1 2018-10-16

  • (.setConnectTimeout 1) => java.net.SocketTimeoutException:連接超時
  • (.setReadTimeout 1) => javax.net.ssl.SSLProtocolException: Read timed out在HTTPS上javax.net.ssl.SSLProtocolException: Read timed out , java.net.SocketTimeoutException: Read timed out在HTTP上java.net.SocketTimeoutException: Read timed out (或5s延遲或超時的Toxiproxy)
  • 在端口上沒有監聽=> java.net.ConnectException:連接被拒絕
  • 沒有上游配置的Toxiproxy(即,端口是開放的,但連接沒有問題)=> javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake HTTPS上javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake , java.net.SocketTimeoutException: Read timed out HTTP上的java.net.SocketTimeoutException: Read timed out
  • limit_data_downstream => java.io.IOException:過早的EOF
  • (我還無法模擬(但是)“連接中斷/斷開”。)

    設置

    先決條件

    向/etc/hosts添加:

    127.0.0.1 proxied.google.com

    毒物替代品設置

    開始使用抗氧化劑:

    docker pull shopify/toxiproxy # BEFORE we `run` it: case #3 docker run --rm -p 5555:5555 -p 6666:6666 -p 8474:8474 --name toxiproxy -it shopify/toxiproxy

    配置它(我們可以只發布到:8474但是使用CLI更容易):

    $ docker exec -it toxiproxy /bin/sh / # cd /go/bin/ # ./toxiproxy-cli create google -l 0.0.0.0:6666 -u www.google.com:443 # BEFORE this is run: case #4 # ./toxiproxy-cli toxic add google -t latency -a latency=5000 # case #2 Added downstream latency toxic 'latency_downstream' on proxy 'google # ./toxiproxy-cli toxic remove google -n latency_downstream Removed toxic 'latency_downstream' on proxy 'google'# ./toxiproxy-cli toxic add google -t timeout -a timeout=2000 # case #2 Added downstream timeout toxic 'timeout_downstream' on proxy 'google' # ./toxiproxy-cli toxic remove google -n timeout_downstream Removed toxic 'timeout_downstream' on proxy 'google'# ./toxiproxy-cli toxic add google -t limit_data -a bytes=5000 # case #5 Added downstream limit_data toxic 'limit_data_downstream' on proxy 'google'

    測試代碼

    (import '[java.net URL HttpURLConnection]) (->(doto ^HttpURLConnection (.openConnection (URL. "https://proxied.google.com:6666/"));; BEWARE: JVM *must* be started with `-Dsun.net.http.allowRestrictedHeaders=true` to allow setting the Host:(.setRequestProperty "Host" "www.google.com")(.setConnectTimeout 1000)(.setReadTimeout 1000))(.getInputStream)slurp)

    巴克特

    閱讀我的toxiproxy模擬網絡超時以了解為什么我們需要打擾/etc/hosts和Host標頭。

    翻譯自: https://www.javacodegeeks.com/2018/11/java-simulating-connection-problems.html

    java模擬連接超時

    總結

    以上是生活随笔為你收集整理的java模拟连接超时_Java:使用Toxiproxy模拟各种连接问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。