728x90

Base 58

폴링

폴링(polling)이란 하나의 장치(또는 프로그램)가 충돌 회피 또는 동기화 처리 등을 목적으로 다른 장치(또는 프로그램)의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송수신 등의 자료처리를 하는 방식을 말한다. ​ 이 방식은 버스, 멀티포인트 형태와 같이 여러 개의 장치가 동일 회선을 사용하는 상황에서 주로 사용된다. 서버의 제어 장치(또는 프로그램)는 순차적으로 각 단말 장치(또는 프로그램)에 회선을 사용하기 원하는지를 물어본다.

Base/개념정리 2021.04.02

프로비저닝(provisioning)

프로비저닝은 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말한다. ​ 서버 자원 프로비저닝, OS 프로비저닝, 소프트웨어 프로비저닝, 스토리지 프로비저닝, 계정 프로비저닝 등이 있다. https://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%9C%EB%B9%84%EC%A0%80%EB%8B%9D

Base/개념정리 2021.04.02

CDN

CDN(Contents Delivery Network)은 물리적으로 떨어져 있는 사용자에게 컨텐츠 제공자의 컨텐츠를 더 빠르게 제공할 수 있는 기술을 말한다. ​ 일반적으로 사용자가 원격지에 있는 서버(Origin Server)로 부터 Content(예. Web Object, Video, Music, Image, Document 등)를 다운로드 받는 것보다 가까이 있는 서버에서 받는 것이 더 빠르므로 사용자와 가까운 곳에 위치한 Server에 해당 Content를 저장(캐싱)하고 Content 요청시에 Server가 응답을 주는 기술이다. ​ 즉, CDN은 Origin 콘텐츠 서버와 엔드유저(클라이언트) 사이에서 컨텐츠를 전달하는 역할을 하며 이로 인해 보다 빠르게 사용자는 보다 빠르게 페이지나 컨텐츠를..

Base/개념정리 2021.04.02

쿼터(Quota)

Quota는 사용자나 혹은 그룹이 가질 수 있는 inode의 수, 혹은 사용자나 그룹에게 할당된 디스크 블럭의 수를 제한함으로써, 디스크 저장 장치의 사용을 제한할 수 있게 해준다. 즉, Quota는 사용자나 그룹의 디스크 사용량을 제한할 수 있는 방법을 제공해준다. Quota의 기본 개념은 사용자가 그들에게 부여된 디스크의 제한 용량 이상으로 사용하지 못하게 하며, 시스템의 디스크 공간을 무제한적으로 사용하지 못하게 한다. Quota는 사용자 별, 파일 시스템 별로 동작된다. 한 사용자에 파일을 만들 수 있는 파일 시스템이 하나 이상이라면, 각각의 파일 시스템에 개별적으로 Quota를 설정해줘야 한다. ​ 출처: https://wiki.kldp.org/HOWTO/mini/html/Quota/x35.html

Base/개념정리 2021.04.02

서비스메시(Service Mesh)

MSA 구성에서 서비스들이 서로 데이터를 공유하는 방식을 제어하는 방법으로 서비스 별로 커뮤니케이션을 관리하는 다른 시스템들과 달리, 서비스 메쉬는 애플리케이션들 위에 구축된 전용 인프라 계층에서 이를 관리한다. ​ 이를 통해 서비스간 통신에 대한 로깅, 모니터링 등을 보다 원할하게 관리할 수 있게 된다. 대표적인 프로젝트로 구글 Istio가 있는데 사실 나의 최대 관심사는 분산트랜잭션에 대한 부분인데 Istio 의 기능이 어디까지인지는 앞으로 차근차근 알아볼 생각이다.

Base/개념정리 2021.04.02

세션 인증과 토큰 인증

여기에서 말하는 인증이란 우리가 흔히 접하는 "로그인" 을 생각하면 된다. 이렇게 인증을 거친 뒤로는 허가된 페이지에 기본적으로 모두 접근이 가능해야 하고 Stateless 한 HTTP의 특성상 인증이 완료된 상태를 유지하기 위한 매개체가 필요하다. 이런 매개체로 과거 많이 사용되던 것이 세션이다. Tomcat 같은 서블릿 컨테이너를 사용할 경우 기본적으로 우리가 아무 것도 하지 않아도 클라이언트의 최초 요청 처리시 JSESSIONID 라는 값이 클라이언트 Cookie에 셋팅되고 이후 요청마다 해당 값이 Request에 포함되어 클라이언트 식별이 가능해진다. 이를 통해 서버에서는 클라이언트 별로 유니크하게 구분된 세션저장소를 활용할 수 있게 되고 이곳에 인증이 완료된 상태를 저장해놓고 활용하게 된다. 그..

Base/개념정리 2021.03.29

Model 클래스 구분

개발을 하다보면 언어에서 기본적으로 제공되는 데이터타입을 별도로 만든 클래스 단위로 묶어서 관리해야 한다. 일반적으로 VO, DTO 라고 불리는 클래스 들인데 나름대로 정리한 규칙과 구분방법을 정리해보았다. ​ JPA Entity와는 구분한다. 통합해서 관리할 경우 Dirty Checking으로 원치 않게 DB 수정이 일어날 수 있다. set{필드명} 형태의 Setter 메소드는 만들지 않는다. 값 변경의 의도와 목적을 명확히 나타낼 수 있도록 approve, reject 같은 이벤트 형태로 작성하도록 한다. 일반적으로 VO, DTO 를 불변, 가변으로 구분짓는데 내 경우는 그렇게 구분하지 않고 있다. 대부분 불변으로 하되 VO든 DTO든 필요에 따라 얼마든지 가변이 될 수 있고 이벤트 형태로 변경의 의..

Base/개념정리 2021.03.12
728x90