본문 바로가기

new/new dev

resend 정책 적용 2017.03.03

국내GW에 국내 발송을 대상으로 하는 noACK 재전송 정책 적용 코드를 완성하였다


가상망에서 테스트 하며 2~3개의 버그를 찾아서 같이 수정하는 성과도 있었다



ack ttl -> resend wait time : nResendWaitTime

max resend count : nResendMaxCount


nResendWaitTime만큼 기다리고 응답이 없다면 nResendMaxCount만큼 재전송한다

예를 들어 nResendWaitTime이 10sec이고 nResendMaxCount가 2라면

전송 10초 wait

 -> 

10초 안에 응답이 있다면 ack동작 처리 / 10초 동안 응답이 없다면 nResendMaxCount 횟수(2) 확인 후 재전송

->

다시 10초 wait

-> 

10초 안에 응답이 있다면 ack동작 처리 / 10초 동안 또 응답이 없다면 nResendMaxCount 횟수(1) 확인 후 재전송

->
다시 10초 wait

-> 

10초 안에 응답이 있다면 ack동작 처리 / 10초 동안 또 응답이 없다면 nResendMaxCount 횟수(0) 확인 후 실패처리


기존 재전송 정책은 3가지 방식이었다

1. 무한 재전송

2. 재전송 없음

3. 지정한 시간동안 무한 재전송


앞으로는 무한 재전송 하는 경우는 없고

default로 1회 재전송 정책을 적용할 것이다

즉, 지정한 시간동안 지정한 횟수만 재전송하게 된다



이제 문제는 코드 검증, 테스트, 패치 작업

패치 너무 싫어. 왜 개발자가 그런것 까지 다 하는거지. 운영팀은 왜.. ㅠㅠ





'new > new dev' 카테고리의 다른 글

gitlab with docker  (0) 2017.06.07
docker + redmine, docker + gitlab  (0) 2017.03.20
docker  (0) 2017.03.18
bug fix 2017.03.03  (0) 2017.03.04
ts 로그 정리 2017.03.01  (0) 2017.03.01