카테고리 없음

[오류해결] 직접 겪은 무한로딩 ZEP 이슈 파헤치기? bandwidth, 무중단 배포, 로드밸런서 health check, 고가용성/다운타임!

보리시스템 2023. 1. 19.

이슈 관련 키워드

  • 일단 네트워크 탭부터 확인 (콘솔, 네트워크만 볼 줄 알아도 아주 급한 건 트러블슈팅이 가능) 
  • 네트워크 대역폭(bandwidth)
  • 무중단 배포(Rolling 배포, Blue Green 배포, 카나리 배포)
  • 로드밸런서 health check
  • 고가용성/다운타임

 


 

부트캠프 교육장소인 ZEP을 접속하려는데 무한로딩으로 오류가 발생했다.

 

부트캠프 동료가 공유한 서버 에러 화면이다.

 

30분 뒤 무한로딩 오류가 해결된 후의 개발자 도구 콘솔창이다. 여전히 트러블슈팅 중인지라 여러 에러 메시지가 뜬다.

 


 

부트캠프 선발대에서 추정한 시나리오는 이러하다. 고가용성의 중요성을 알게 해주는 대목이다.

  • zep이 로직을 업데이트하면서 새로운 버그가 발생됨
  • Rolling Update 정책으로 서버를 업데이트하는 과정에서 점진적으로 에러가 퍼짐
  • 로드밸런서가 health check를 해야하는 서버들이 전부 비정상적으로 상태가 변화하면서 웹소켓 접속도 되지 않음

 

그렇다면 만약에 Rolling Update가 아니고 Blue/Green 배포였으면 어땠을까?

  • Blue는 구버전 Green은 신버전
  • 어제 부트캠프 선발대 수업에서 배운 데이터베이스 이중화에서 '스탠바이'로 생각하면 구버전이 '스탠바이'의 역할을 한다고 보면 됨
  • 안정성이 확보되면 블루는 내리면 됨

 

*참고 : 부트캠프 동료가 공유한 무중단 배포 관련 글이다.

https://www.slideshare.net/ifkakao/ss-113145623

https://mk.kakaocdn.net/dn/if-kakao/conf2018/fault_tolerant_no_maintenance_server_dev_ops_draft.v5.1.pdf

 

글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례

김태현 Sr. SW Engineer. (Blizzard Entertainment) --- 글로벌 게임서비스의 무정지, 무점검 서버 개발과 운영의 사례를 소개 1. 무정지 무점검을 위해 적용된 서버 개발 기술들의 소개 2. 무정지 무점검 운영

www.slideshare.net

 

채팅창 에러로그를 통해 핫픽스 중인 것을 확인할 수 있었다.

runLater()
Unexpected token '<'
InvokeOnScriptThread():254
 - Jint.Runtime.JavaScriptException: Unexpected token '<'
   at parse :707:17
   at :707:28
  • Unexpected token 에러 (Have a JavaScript Unexpected Token Error? Check Your Syntax)
    • 아래 글 제목에서 알 수 있듯이 신텍스 에러
    • 파싱하다 문법 오류가 객체로 변환을 못한 것으로 추정

https://blog.airbrake.io/blog/javascript-error-handling/unexpected-token

 

Have a JavaScript Unexpected Token Error? Check Your Syntax

A deep look at the Unexpected Token Error in JavaScript, including a short examination of JavaScript's syntax best practices.

blog.airbrake.io

 

재배포한 서버에 신텍스 에러가 있던 거다. 테스트를 돌리고 배포한 것이겠지만 test suite에 결함이 있었을 수 있겠다.

https://www.ibm.com/docs/en/elm/7.0.3?topic=scripts-test-cases-test-suites 

 

Test cases and test suites

A test case answers the question: What am I going to test? You develop test cases to define the things that you must validate to ensure that the system is working correctly and is built with a high level of quality. A test suite is a collection of test cas

www.ibm.com

 


 

키워드 관련자료

https://velog.io/@ragnarok_code/%EB%8C%80%EC%97%AD%ED%8F%AD-bandwidth%EB%9E%80

 

대역폭, bandwidth란 ?

IT 시스템 설계 시 용량 산정을 할 때 고려해야 할 대표적인 지표는 다음과 같습니다.IT 시스템을 통해 동시에 얼마나 많은 사용자를 처리할 수 있을지 - 동시 사용자 수IT 시스템이 사용자 1명당

velog.io

 

  • 무중단 배포(Rolling 배포, Blue Green 배포, 카나리 배포)

https://llshl.tistory.com/47

 

[Infra] 무중단 배포 방식(Rolling / BlueGreen / Canary)

무중단 배포에 대해 알아보자. 1. 무중단 배포란? 말 그대로 애플리케이션의 중단 없이 배포를 하는 것을 말한다. 애플리케이션은 언제 중단될까? v1 서비스가 실행 중일 때 v2 버전을 다운로드 받

llshl.tistory.com

 

  • 로드밸런서 health check

https://pearlluck.tistory.com/113

 

[ELB] 로드밸런서란? Health Check기능과 외부 vs 내부 ELB

1. ELB( Elastic Load Balancing)란? : Amazon EC2 인스턴스, 컨테이너 및 IP 주소와 같은 여러 대상에 대해 받은 애플리케이션 또는 네트워크 트래픽을 '분산' 트래픽이 시간이 지남에 따라 변경되므로 ELB가

pearlluck.tistory.com

 

  • 고가용성/다운타임

https://www.sios-apac.com/ko/2022/01/%EA%B3%A0%EA%B0%80%EC%9A%A9%EC%84%B1%EC%9C%BC%EB%A1%9C-%EA%B0%80%EB%8F%99-%EC%A4%91%EC%A7%80-%EC%8B%9C%EA%B0%84-%EC%B5%9C%EC%86%8C%ED%99%94/

 

%

고가용성으로 다운타임 최소화 다운타임은 현대 기업에서 그 어느 때보다 비용이 많이 듭니다. ITIC 2021 시간당 다운타임 비용 조사에 따르면 조직의 91%에서 비즈니스 크리티컬 시스템, 데이터베

www.sios-apac.com

 


ZEP 이용 장애 관련 게시글

https://zep-news-guides.super.site/ddc6b0eb42d64cd294e308d16e7c2c1b

 

2023년 01월 19일 ZEP 이용 장애 현상 관련

ZEP 이용자 여러분, 현재 일부 스페이스에 무한 로딩 현상과 에디터 이용 장애 현상 확인되어 원인 파악과 해결중에 있습니다.

zep-news-guides.super.site