본문 바로가기

전체 글

(730)
[Network] TCP & UDP 통신 방법 다시 공부 오늘은 TCP의 통신 방법에 대해서 공부를 해보려고 한다. 전송계층에서 사용하는 프로토콜, 목적지 장비까지 전송한 패킷을 상위 특정 응용 프로토콜에게 전달 하는 것에 목적이 있다. *TCP : 연결형 서비스를 지원하는 전송 계층 프로토콜, 인터넷 환경에서 기본으로 사용한다. 호스트간 신뢰성 있는 데이터전달과 흐름을 제어한다. 일반적으로 IP가 데이터의 배달을 처리하고, TCP는 패킷을 추적 및 관리하게 된다. TCP 특징 -연결형 서비스로 가상 회선 방식을 제공한다. -데이터의 경계를 구분하지 않는다. -데이터의 전송순서를 보장한다. -UPD보다 전송속도가 느리다. -신뢰성있는 데이터를 전송한다. * UPD 특징 -비연결형 서비스를 지원하는 전송계층 프로토콜로써, 인터넷상에서 서로 정보를 주고받을때 정보..
[JPA] 도메인 설계 도메인은 우선 기본적으로 크게 4가지로 잡았다. User - 사용자 Post - 게시물 master PostContent -게시물 요청자 PostComment - 게시물 작업자 Asset - 자산 자산은 이력성으로 쌓고, 게시물도 이력성으로 쌓을 것이다. 그이유는 스케줄러나 배치로 주기적으로 회원들 정보를 갱신해주는것도 좋지만 그렇게 많은 사람들의 작업이 있지않는 이상,이를 굳이... 뭐 나중에 데이터가 점점 쌓이면 등급에 대한건 그떄 고민해보자 스케줄러던 배치던 무튼 이렇게 4개에 대한 도메인을 설계했고, 해당 관련 개발까지 머리속으로 설계는 끝냈다. 사실 개발하는것 자체보다 설계에 시간을 많이 쓰긴했다. 이 모델 기반으로 JPA를 설계할 것이고 개발해 나갈 것이다. mybatis를 쓸까 고민도 하긴했..
[Spring Cloud] Spring Cloud Config이론 MSA에서 필수, Config 서버 분리 및 중앙 집중 관리 공부해보자 Spring 설정 파일을 외부로 분리할 수 있는 Spring cloud Config 이다. Spring Cloud Config 는 분산 시스템에서 설정파일을 외부로 분리하는 것을 지원한다. Spring Cloud Config를 사용하면 외부 속성을 중앙에서 관리할 수 있다. 즉, 각각 공통으로 쓰는 설정값들을 각 서버마다 배포할 필요가 없다는 뜻이다. 다양한 애플리케이션에서 동일하게 설정파일을 사용할 수 있다. 즉 한 서버에서 설정값들을 모아서 관리하고 다른서버에서 config에 대한 값을 참조시에 해당 서버에게 물어보고 동일하게 가져오는것이다. 이건 개념은 별로 없고... 그냥 한번 사용하면서 예를 들어보자 우선 Config Ser..
[Docker] Docker Study 기본 Docker 개념 Docker 는 개발자와 시스템 관리자가 컨테이너 기술을 사용하여 어플리케이션을 개발, 배포 및 실행하기 위한 플랫폼이다. 일반적으로 리눅스에서 사용되는 컨테이너 기술을 사용하여 응용프로그램을 배포하는 것을 컨테이너화 시켰다고 한다. 컨테이너는 새로운 기술은 아니지만 도커를 통해서 과거보다 편리하고, 간편하게 어플리케이션을 배포하는데 사용된다. 이러한 컨테이너 기술은 아래와 같은 장점이 있다. 유연성 : 복잡한 어플리케이션들도 모두 컨테이너화 할 수 있다. 경량화 : 컨테이너는 호스트 커널을 활용하고 공유한다. 변화관리 편의성 : 업데이트 및 업그레이드를 즉시 배포할 수 있다. 포터블 : 로컬로 구축, 클라우드와 가상화에 배치도 가능, 어디에서나 실행가능하다. 확장성 : 컨테이너 복제본..
[AWS] 일단 EC2에 테스트 API를 띄워봅시다 일단 띄워보자 로컬에서 기본적인 세팅이된 프로젝트를 우선 생성해보자 이름은...음... WriterBackend로 가즈아 일단 이렇게 테스트 샘플 데이터를 넘겨주는 API를 개발해서 테스트 해봤다. 그리고 이걸 swagger로 표현해줄수있게끔 세팅해보자 http://localhost:8080/swagger-ui.html 성공적으로 API에 대한 스웨거가 노출이 된다. 물론 컨트롤러에 해당 API에 대한 설명을 별도 어노테이션으로 붙여줘야 한다. 그리고, 초기 세팅에 패키지 충돌로 인해 오류가 난다. (Null...) 여러 구글링해보면, 요로케 하라고한다. 요 방법이 싫다고 하면... 그냥 하나씩 api url 별로 matcher로 등록을 해주면 충돌이 나지 않는다. 우선 귀찮으니까.. 이렇게 해두고.....
[Spring cloud] Circuit breaker 써킷 브레이커....실무에서 몇번 쓰이고 사실 비즈니스 로직만 짜는 단순 개발자가 아니라... 미들웨어를 배치 받거나... 클라우드를 쓰면 항상 나오는 개념이다. 써킷 브레이커 대충 느낌만 알아서 정리를 해보자 Hystrix를 이용해서 써킷브레이커를 구현하는 경우가 많다. 우선 Circuit breaker란? MSA에서 자주쓰이는 개념이다. 장애전파를 막아주는 역할을 한다. 예를 들어서 어떤 페이지를 호출했다고 가정해보자 그 페이지에서 여러 API를 호출하게 되는데, 해당 특정 한 API에서만 오류가 있다고 가정을 했을때, 해당 한개의 API 때문에 페이지가 504나, 에러페이지로 가는 경우가 있다. 이러한 경우를 막아주는, 즉 MSA환경에서 더 MSA같이 장애전파를 막아주는 개념이 써킷 브레이커다. 물..
[Java] List 메모리관리 갑자기 사이드 프로젝트하다가 생각나서 정리했다. ArrayList 를 1천 ~ 2천건 , List
[Docker] 메모리 정리 Images, Containers, Local Volumes 에 대한 용량이 계속 배포하고 쌓여가면서 점점 불필요한 저장 공간이 많이 발생할떄쯤... 서버가 점점 느리다는 사실 이 발견되었다. docker system df 로, 삭제 시에 얻을수 있는 용량적인 이득을 확인 docker image prune -a 로 현재 실행되고있는 이미지를 제외한 모든 이미지를 삭제해서 용량을 줄여준다. reclaimable 의 데이터는 현재 불필요한 값을 지움으로써 다시 사용할 수 있는 용량을 의미한다고 한다. 무튼 이렇게 서버자체의 용량을 많이 줄여보았다..