전체 글 (644) 썸네일형 리스트형 MSA wooaoe.tistory.com/57#recentComments [MSA] MSA란 무엇인가? 개념 이해하기 MSA가 무엇인지 자세하게 알고싶어 개인적으로 정리하는 포스팅입니다. MSA? MicroService Architecture의 줄임말 👉🏻 마이크로서비스 아키텍처에 대한 정확한 정의는 없다. 하지만 마이크로서비스란 wooaoe.tistory.com Netflix zuul , Eureka Server Eureka Server 란? Eureka는 Middle-tier server(비즈니스 로직이 위치한 애플리케이션 서버단)의 로드밸런스와 Failover를 위해 서비스를 배치해주는 REST 기반 서비스 이다. 주로 AWS Cloud에서 사용되고, 이를 Eureka Sever라 부른다. Eureka Client 서버와 상호작용을 더쉽게 해주는 것을 Eureka Client라 부른다. 클라이언트도 Round-Robin 방식을 기본적으로 사용하는 로드밸런스를 내장하고 있다. Netfilx에서는 , Eureka에서 기본 로드 밸런스 외에도 트래픽, 리소스 사용량, 에러 상황 요소에 따라 로드밸런스를 할 수 있도록 제공한다. Eureka를 사용한 아키텍처 위의 그림은 Netflix에서 Eureka를 어떻게 사용하.. 스케일 아웃 vs 스케일 업 서버를 운영하다보면 이용자가 증가하거나, 서비스의 확장등으로 지금보다 더 많은 용량과 성능이 필요하다. 이때, 수평적으로 부하를 분산하는 스케일 아웃(scale out) , 서버의 용량 자체를 올리는 스케일 업(scale up)방식이 있다. 출처 - 한국데이터산업진흥원 스케일 아웃 스케일 아웃 (수평 스케일) 이란 접속된 서버를 여러 대 추가하여 처리 능력을 향상하는 방법이다. 서버가 여러 대가 되기 때문에 각 서버에 걸리는 부하를 균등하게 해주는 '로드밸런싱'이 필수적으로 동반되어야 한다. 서버 한대가 다운되더라도 다른 서버로 서비스 제공이 가능하다는 장점이 있다. 로드밸런싱 - 부하분산 또는 로드 밸런싱(load balancing)[1]은 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋이상의 중앙처리장치.. 웹 브라우저 에서의 양방향 통신 방법 웹 브라우저 에서의 양바향 통신 방법 Polling 클라이언트에서 일정 주기마다 요청을 보내고 서버는 현재 상태를 바로 응답하는 방식입니다. 이 방식은 실시간으로 반영되는 것이 중요한 서비스에는 별로 좋지 않고 서버에서 변화가 없더라도 매 요청마다 응답을 내려주기 때문에 불필요한 트래픽이 발생하게 됩니다. Long Polling 클라이언트에서 요청을 보내고 서버에서는 이벤트가 발생했을 때 응답을 내려주고 클라이언트가 응답을 받았을때 다시 다음 응답을 기다리는 요청을 보내는 방식입니다. 실시간 반응이 가능하고 polling에 비해서 불필요한 트래픽은 유발하지는 않지만 오히려 이벤트가 잦다면 순간적으로 과부하가 걸리게 됩니다. Streaming 이벤트가 발생했을때 응답을 내려주는데 응답을 완료시키지 않고 계.. Redis란 ChatSocekt에 공부하던 중 Redis를 알게되어 정리하고자 한다. Redis가 필요한 이유는 ChatSocket을 지원하는 여러서버에서 실시간으로 빠르게 사용할 수 있다고 한다. NOSQL 이란? RDBMS는 관계형 데이터베이스 라고 하며 NOSQL은 비관계형 데이터베이스 이다. (RDBMS가 아닌 다른 형태로 데이터를 저장하는 기술이라고 한다.) Redis란? REDIS(REmote Dictionary Sever)는 메모리 기반의 "키-값" 구조 데이터 관리 시스템 이다. 모든 데이터를 메모리에 저장하고 조회하기에 빠른 Read, Write 속도를 보장하는 NOSQL 이다. Redis 특징 - 영속성을 지원하는 인메모리 데이터 저장소 - 읽기 성능 증대를 위한 서버 측 복제를 지원한다. - 마스.. Socket 정리 Socket 소켓(Socket)은 1982년 BSD(Berkeley Software Distribution) UNIX 4.1에서 처음 소개되었으며 현재 널리 사용되는 것은 1986년의 BSD UNIX 4.3에서 개정된 것입니다. 소켓은 소프트웨어로 작성된 추상적인 개념의 통신 접속점이라고 할 수 있는데 네트웍 응용 프로그램은 소켓을 통하여 통신망으로 데이터를 송수신하게 된다. 소켓은 응용 프로그램에서 TCP/IP를 이용하는 창구 역할을 하며 응용 프로그램과 소켓 사이의 인터페이스 역할을 하고 있습니다 Socket VS Port 소켓을 설명하려면 Port와 차이점을 알아야 한다. 데이터를 주고 받기 위해서는 Host 주소 이외에도 실제로 데이터를 받을 프로세스가 필요하다. 이들을 식별하느 정보가 portN.. 클라이언트 token 보안 전략 Access Toekn 만 사용 사용자가 로그인 할 때 클라이언트에게 AccessToken을 발급한다. 이때 AccessToken은 서버에서 관리할 필요가 없고 메모리상에서 미리 정의 된 비밀키를 이용해서 AccessToeken의 유효성을 검증한다. 짧은 만료 시간으로 설정 (30 분 내외) 장점 - 기기나 AccessToken이 탈취되더라도 빠르게 만료됩니다. 단점 - 사용자는 자주 로그인을 해서 인증 받아야한다. 한 사용자가 오랫동안 사용하는 서비스일경우 서비스를 이용하다 도중에 인증이 만료되어 다시 로그린해야하는 불편함을 겪는다. 긴 만료 시간을 설정(2주 에서 한달) 장점 - 사용자가 로그인을 자주 할 필요가 없다 편하다 단점 - 기기나 AccessToken이 탈취되면 공격자가 오랫동안 제약 없이.. REST API / Spring hateoas REST API REST API를 공부하면서 이응준님의 "그런 REST API로 괜찮은가"를 참조했다. https://tv.naver.com/v/2292653 Day1, 2-2. 그런 REST API로 괜찮은가 NAVER Engineering tv.naver.com REST API란 지금까지 client가 api요청을 보내면 그 값을 JSON, XML로 반환해주는 api정도?? 로만 인식하고 있었다. 영상을 들어보니 REST API라는 말이 맞을 수도 있고 틀릴 수도 있다는데 REST API를 만든 로이필딩씨께서는 self-descriptive messages, HATEOAS를 충족하지 못하면 REST API가 아니라고 한다..? REST API이기 위한 몇가지 조건이 있다. Uniform Interfa.. 이전 1 ··· 31 32 33 34 35 36 37 ··· 81 다음