Jun 19, 2019 - WSL에서 netstat 사용하기

윈도우에서 실행되어있는 프로세스를 확인 후 삭제하는 것은 다음과 같습니다.

\apache-tomcat-8.5.23\bin>netstat -a -o | find ":52124"
  TCP    192.168.100.11:52124   5.62.53.224:http       CLOSE_WAIT      2728

이제 PID 번호(2728)를 확인한 다음에 해당 프로세스ID를 종료시키면됩니다.

taskkill /f /pid PID번호

리눅스에서는 보통 다음과 같은 방법으로 프로세스를 확인하고 저는 삭제합니다.

root@DESKTOP-RNJILIO:~# ps -ef|grep redis
root        74    15  0 15:41 tty1     00:00:00 ./redis-server
root        96    15  0 15:49 tty1     00:00:00 grep --color=auto redis
root@DESKTOP-RNJILIO:~# kill -9 74

이렇게 할 경우 74번 프로세스가 삭제되면서 자동적으로 해당 port 가 사라집니다.

근데 WSL(Windows Subsystem For Linux)에서 프로세스를 실행하면, 윈도우의 열려진 port 를 확인할 수 있지,

netstat -tnlp

를 쳐도 해당값이 보여지거나 하지는 않습니다.

2018년 4월 기준으로 WSL의 문제로 netstat 명령은 올바르게 동작하지 않는다고합니다. 참고주소에서 그럴 경우, WSL의 리눅스 배포판 내에서는 윈도우용 응용 프로그램의 실행을 허용하기 때문에 윈도우의 NETSTAT.EXE를 alias로 가져와서 사용할 수 있다고 하여, 해당값을 그대로 사용할 수 있는 것을 확인했습니다.

root@DESKTOP-RNJILIO:~# /mnt/c/Windows/System32/NETSTAT.EXE -a | grep ':50'
  TCP    0.0.0.0:5040           DESKTOP-RNJILIO:0      LISTENING
  TCP    0.0.0.0:50391          DESKTOP-RNJILIO:0      LISTENING
  TCP    0.0.0.0:50392          DESKTOP-RNJILIO:0      LISTENING
  TCP    127.0.0.1:50351        www:50352              ESTABLISHED
  TCP    127.0.0.1:50352        www:50351              ESTABLISHED
  TCP    127.0.0.1:50353        www:50354              ESTABLISHED
  TCP    127.0.0.1:50354        www:50353              ESTABLISHED
  TCP    127.0.0.1:50374        DESKTOP-RNJILIO:0      LISTENING

옵션과 일부 사용법의 경우 윈도우의 NETSTAT와 리눅스의 netstat 간에 상이할 수 있어 사용옵션은 윈도우를 따르며 grep 방법은 리눅스 방법을 따라야합니다.

Jun 5, 2019 - 자바 아키텍쳐 공부

아키텍쳐 : 프로젝트에 참여하는 개발자들이 설계에 대해 공유하는 이해를 반영하는 주관적인 개념

  • 중요한 것
  • 변경하기 어려운 것
  • 가급적이면, 일찍, 올바르게 바꾸고 싶은 것

레이어 아키텍쳐 : 유사한 관심사들을 레이어로 나눠서 수직적으로 배열 (간단하게 케익 같은 구조.)

  • 유사한 얘들은 한 레이어에 만들어두었으니 그 레이어를 빼서 다른 곳으로 바꾸는 것이 가능.
  • 프리젠테이션 레이어 : 화면 조작, 사용자의 입력을 처리하기 위한 관심사를 처리함.
  • 도메인 레이어 : 도메인적인 내용을 묶어서 처리
  • 데이타소스 레이어 : 데이터를 관리하기 위한 부분들을 전부 묶어서 처리

Jun 4, 2019 - 클라우드 온보드

Cloud OnBoard

클라우드 온보드 (Cloud OnBoard)는 하루동안 무료로 제공되는 교육 이벤트로서 GCP(Google Cloud Platform)의 기술적 측면을 강의식으로 세세하게 소개해준다고 하여 참석하게 되었습니다.

클라우드 온보드 - 서울이 2018년 12월 6일 목요일에 개최됩니다.

08:30 AM	행사 등록
10:00 AM	환영 인사 및 키노트
10:40 AM	모듈 1 - Google Cloud Platform 소개
11:20 AM	모듈 2 - Google Cloud Platform 시작하기
12:00 PM	점심식사
01:00 PM	모듈 3 - 클라우드 환경에서의 가상 머신
01:40 PM	모듈 4 - 클라우드 스토리지
02:30 PM	모듈 5 - 클라우드 컨테이너 서비스
03:00 PM	휴식 시간
03:30 PM	모듈 6 - 클라우드 애플리케이션
04:00 PM	모듈 7 - 클라우드 환경에서의 개발, 배포 그리고 모니터링
04:30 PM	모듈 8 - 클라우드 빅데이터 및 머신러닝
05:00 PM	폐회사 및 경품 추첨

개별 세션과 기술 시연을 통해 Google App Engine, Datastore, Storage, Container Engine, Compute Engine 및 네트워크, 빅데이터, 머신러닝에 처음 입문하시는 분들에게 길잡이가 되어준다고 하였습니다.

  • SDN
    • 지역에 개념을 띄어넘을 수 있게 되었다.
    • 하나의 네트워크에서 여러 지역을 묶을 수 있다. HUB을 건널필요가 없다. (라우터 개념이 없다.)
    • 전세계를 하나의 네트워크로 관리할 수 있다.

traceroute 외부 아이피를 요청할 경우, Internal 네트워크(사설망)을 연결했을 경우, 하나의 홉으로만 연결할 수 있게 됩니다. 홉이 훨씬 줄어들며 속도도 빨라진다.

Virtual Private Cloud 네트워크

  • VPC
    • subnets = 20 –> 각 리젼별로 존재함.

    스토리지에서 메모리로 갈때는 느리기 때문에 메모리와 스토리지를 떨어뜨리는것은 매우 어려운 일이입니다.

    1.3 Pbps (페타피트) Bisection Brandwidth 라고합니다. 우리 회사는 4gbps 인 IDC를 사용하고 있는데, 정말 놀랍습니다.
    실제 서버를 사용하다보면, 4 gbps 의 반도 사용하지 못해 스위치에 부담이 되어 지연이 발생하게 되는데, 실제 스위치라든가 해당 기능에 대해서 궁금합니다.

IaaS : 컴퓨팅, 스토리지, 네트워크 더 세부적으로 제어

PaaS : 런타임 사전 설정, 자바 Go, PHP, Pyhoen 등의 어플리케이션

쿠버네티스 : Kubernetes : K8S : 현재 표준화가 되었따. 하이브리드/멀티 클라우드 세상을 고려한 설계.

컨테이너가 많아 그걸 조절할 수 있는 기능이 만들어졌습니다. 그게 쿠버네티스