본문 바로가기

반응형

전체 글

(1069)
Java Document 정리 # Java Document 정리 프로그래밍은 API를 조작하여 무엇을 만드는것에 불과하다. 자바 플랫폼을 API를 이용해서 제어하는 것이라고 볼수 있다. 너무 당연한 잉야기 이지만, 패키지는 클래스의 묶음이다. API Documentation 문서 확인 java 17 docs : https://devdocs.io/openjdk~17/ 예제로 system.out.println 찾아보자 java.lang에 포함되어 있기 때문에 java.lang을 찾는다. → java.lang은 패키지 이다. System.out.println에서 System을 컨트롤+클릭 하면 해당 클래스로 이동하고, 해당 클래스가 속한 파일의 가장 상단을 보면 패키지를 확인 할 수 있다. system class를 찾는다. 그리고 out이..
TargetGroup의 Unhealthy 상태 체크 # TargetGroup의 Unhealthy 상태 체크 및 테스트 1. TG가 Unhealthy 상태가 되는 조건을 살펴보기 1-1. HealthCheck 실패, ELB를 사용하는 경우 정의된 헬스체크를 통과해야 한다. 보통은 해당 서비스가 설정된 트래픽 포트로 HealthCheck를 진행하고, 별도의 지정된 포트를 통해 HealthCheck를 수행할 수 있다. 내용은 아래를 참고. TargetGrpup를 보면 상태 검사라는 항목이 있다. 해당 항목에서 해당 포트에 대한 애플리케이션이 정상적으로 동작 하고 있는지 HealchCheck를 할 수 있다. 아래와 같이 해당 포트가 설정된 TCP 포트를 통해서 HealthCheck를 수행할 수 있고, 재 정의 항목을 선택하여 HealthCheck 경로를 재 정의..
TG의 Health Check 정리 # Server Side에서의 Port 체크 HealthCheck는 소켓 프로그래밍에서 bind() API를 호출 후 운영체제가 해당bind() 정보로 Socket을 할당 하고 할당 후 운영체제에서 Listen()상태가 됐을때 TG의 상태 검사 프로세스는 랜덤 포트를 활용하여 해당 소켓프로그램의 소켓이 살아 있는지 체크 후 Healthy와 Unhealthy를 판단하여 화면에 표시한다. - 끝 -
TCP/IP 소켓 프로그래밍 정리 # TCP/IP 소켓 프로그래밍 정리 1. 소켓 이란? - 네트워크 환경에 연결할 수 있게 만들어진 연결부를 의미. OSI 7계층 중 4계층인 TCP 상에서 동작하는 소켓을 주로 사용, 이를 TCP 소켓 이라고 부른다. 2. TCP/IP 소켓 프로그래밍 설명 클라이언트 소켓과 서버 소켓의 역할이 서로 다르다. 데이터를 주고 받기 위해서는 소켓의 연결 과정이 선행 되어야 한다. 연결 요청과 수신은 각각 클라이언트 소켓과 서버 소켓의 역할이다. 연결 과정 : 클라이언트 소켓이 IP 주소와 Port번호를 통해 소켓에게 연결을 시도, 서버 소켓은 어떤 연결 요청 (포트 번호 식별)을 받을지 미리 시스템에 등록하여 요청이 수신 되었을때 해당 요청을 처리한다. 소켓 연결 과정 : 소켓 연결이 완료된 후 클라이언트 ..
hostname 변경 (영구 변경) # Ubuntu Hostname 변경 (영구 반영) - hostname 확인 #단순 호스트명 확인 hostname #자세한 정보 hostnamectl - hostname 명령어 확인 feat help # help 정보 조회 hostnamectl --help - hostname 변경을 위해 아래의 명령어 사용 sudo hostnamectl set-hostname {변경하는 호스트명} (위 명령어를 사용하여 적용: /etc/hostname 파일에 반영이 되어 영구 반영 가능.) - 변경 확인 hostname hostnamectl - 끝 -
while (true) 의 의미 # while (true) 의 의미 정리 예제 코드는 아래와 같다. Thread monitor5200Thread = new Thread(() -> { while (true) { try (ServerSocket serverSocket = new ServerSocket(PORT_5200)) { System.out.println("Port 5200 is connected."); serverSocket.accept(); // This will block until a connection is made } catch (IOException e) { System.out.println("Port 5200 is disconnected."); switchToPort5160(); } } }); monitor5200Thre..
git push --set-upstream (git 최초 push) # git 최초 push 시 --set-upstream을 사용해야 하는 이유 upstream : 컴퓨터 네트워크 기술 용어에서 업스트림은 클라이언트나 로컬 기기에서 서버나 원격 호스트로 보내지는 데이터 또는 보내는 것을 의미한다. 자료전송은 여러 형태로 전송할 수 있고 자료가 로컬 기기에서 서버로 전송되는 속도를 업스트림 전송 속도라고 한다. 여기서 upstream은 로컬과 연결된 원격 저장소를 의미한다. git push --set-upstream A B 설명 : 로컬 A 저장소를 원격 저장소 B로 지정하여 B에 소스코드를 push하라 최초 1회로 하고 나면 원격 저장소가 설정되기 때문에 이후에는 할 필요가 없다. - 끝 -
TCP/IP 애플리케이션 검증하기 # TCP/IP 애플리케이션 검증 - TCP/IP 애플리케이션을 내부에서 검증할일이 생겼다. 1. EC2 인스턴스로 서버 클라이언트 생성 - t3.small 정도 사양으로 일단 2개를 생성했다. 하나는 서버이고, 하나는 클라이언트. - 서브넷은 퍼블릭에만 물렸다. 2. 검증 (ping) - ping으로 일단 해당 서버까지 트래픽이 전달되는지 테스트 - 서버에서 클라이언트로, 클라이언트에서 서버로 ping 테스트를 진행 - 여기서 주의할 점은 보안 그룹에서 ICMP를 열어줘야 한다. 3. 검증 애플리케이션 작성 - JAVA가 제일 심플하니까, 검증 애플리케이션을 작성 후 jar로 빌드 실행하여 설정한 포트로 정상 커넥션이 되는지 테스트 4. 결과 기록 및 공유 - 자 ~ 잘 됩니다. 라고 결과를 팀원에게 ..

728x90
반응형