본문 바로가기

반응형

좋아하는 것_매직IT

2.마이크로서비스, 리액티브란 무엇일까요? 리액티브프로그래밍 마이크로서비스를 구현하는 한 가지 방법. 리액티브 정리 반응성(Responsive) : 시스템이 최대한 빨리 응답함을 의미함. 복원력(Resilience) : 일부분이 문제가 발생하더라도 시스템을 사용할 수 있음. 탄력성(Elastic) : 시스템은 추가 자원을 사용해 다양한 레벨의 부하를 처리할 수 있음. 로드가 피크가 된 후 자원이 다시 해제됨. 메시지 기반(Message Driven) : 시스템에서 비동기 통신(메시지기반)을 사용함. 서버 애플리케이션 비교 기존 vs 리액티브 기존 일반적으로 들어오는 요청을 특정 스레드에서 처리함. 해당 요청이 데이터베이스에 요청해야 한다면 요청 결과가 도착할 때까지 스레드는 블로킹됨. 각 네트워크 연결에 대해 병렬로 처리되는 각 요청에 대해 스레.. 더보기
5.Redis, 꼭 알아야할 CAP 이론에 대해서 정리해 볼께요. CAP 이론이란? 컴퓨터과학 분야에서 분산 컴퓨터 시스템을 설명하는데 사용되는 이론. Consistency, Availability, Partition Tolerance 을 동시에 지원하는 분산 컴퓨터 시스템은 없다. 라고 정의됨. 2000년에 전산학자 에릭 브루어가 가설을 제시하였고, 2002년에 세스 길버트와 낸시 린치가 증명함. 참고페이지 http://en.wikipedia.org/wiki/CAP_theorem In theoretical computer science, the CAP theorem, also named Brewer's theorem after computer scientist Eric Brewer, states that it is impossible for a distributed .. 더보기
4.Redis, NoSQL에 대해서 전반적으로 알아볼께요. NoSQL의 유래 영국 소프트웨어 개발자 조핸 오스카슨(Johan Oskarsson) 이 오픈소스 분산 데이터베이스의 토론을 위해 주관한 모임의 이름에서 유래됨. 참조 http://en.wikipedia.org/wiki/NoSQL History The term NoSQL was used by Carlo Strozzi in 1998 to name his lightweight Strozzi NoSQL open-source relational database that did not expose the standard Structured Query Language (SQL) interface, but was still relational.[16] His NoSQL RDBMS is distinct from the.. 더보기
3.Redis, 레디스의 성능 측정에 대해서 간단하게 알아볼께요? 레디스의 성능 측정에 대해서.. 서비스에 새로운 솔루션을 도입하려면, 반드시 성능 측정이 수반됨. 얼마나 많은 요청을 한꺼번에 처리할 수 있는지와 요청 하나를 처리하는데 걸리는 시간등등을 측정하여 도입 여부를 결정하고 도입할 하드웨어 사양을 결정함. 즉, 성능측정을 위해서는 많은 시간이 소요됨. 레디스는 성능 측정을 위해서 아래 툴을 지원함. redis-benchmark 성능 측정 $ redis-benchmark 주요 option 설명 -h 테스트를 수행하기 위해 접속할 레디스 서버의 호스트명 기본값 : 127.0.0.1 -p 테스트를 수행하기 위해 접속할 레디스 서버의 포트 기본값 : 6379 -s 테스트를 수행하기 위해 접속할 레디스 서버의 유닉스 서버 소켓 -c 테스트를 위한 가상 클라이언트의 동시.. 더보기
1. 마이크로서비스 , 구현을 위한 요구사항은 무엇일까요? 마이크로서비스 구현을 위한 요구사항 통신 마이크로 서비스는 또 다른 마이크로서비스와 통신이 가능해야 함. ex) REST/메시징 등등과 같은 통신규약이 필요함. 즉, 마이크로서비스들은 통신을 위한 매커니즘이 필요함. 운영 배포 마이크로서비스를 위한 배포환경이 요구됨. 환경설정 설정에 대한 여러 시나리오에서 동작 가능해야 함. 로그 로그출력을 정형화하고, 모든 로그를 저장하고 분석 할 수 있는 기능이 필요함. 모니터링 중앙 모니터링 인프라로 전달되어야 하고, 이를 위해서 특정 프레임워크 및 라이브러리가 필요함. 신규 마이크로 서비스 코드가 추가되면서 마이크로서비스가 커지거나 증가하게되면, 더이상 마이크로서비스라 부르기 힘들어짐. 이를 피하기 위해서, 개별 마이크로서비스의 크기를 일정하게 유지하는 솔루션과 .. 더보기
0. 마이크로서비스 , 정의를 해볼께요. 마이크로서비스 란? 독립적으로 배포 가능한 모듈(module) 마이크로 서비스의 특징 매우 작다. 모듈을 기반으로 함. 마이크로 서비스는 필연적으로 다른 마이크로 서비스와 통합해야 함. 마이크로 서비스를 사용하는 이유 확장 가능한 개발을 진행할 수 있음. 레거시 시스템 교체 지속 가능한 개발 지속적 배포 견고성 독립적인 확장성 자유로운 기술 선택 보안 격리 마이크로서비스의 장점 용이한 개발의 확장이 가능함 기존 배포 모놀리스에서 손쉽게 마이그레이션해 마이크로 서비스를 쉽게 구현할 수 있음. 지속적인 배포를 통해 상용환경에 반영할 수 있는 속도와 안정성을 높일 수 있음. 더보기
2.Redis, 레디스의 기본명령어에 대해서 알아볼까요? 레디스의 기본명령어 레디스가 지원하는 데이터형 문자열, 리스트, 셋, 정렬된 셋, 해시 등등 저장된 데이터형에 따라서 처리할 수 있는 명령이 달라짐. 레디스 명령은 대소문자를 구별하지 않음. 관례상 콜론(:)은 키에 의미를 부여하는 구분자로 사용됨. 응답값을 가지는 레디스 명령은 상태응답, 에러응답, 숫자응답, 단일 벌크응답, 멀티 벌크응답으로 나눠짐. 레디스 명령의 인덱스표현에서 '0'은 처음, '-1' 은 마지막 자리를 의미함. 음수가 입력되면, 인덱스를 맨 마지막부터 셈 예) '-2' 일 경우 맨 마지막에서 두번째의 인덱스를 나타냄. 레디스는 약 150여개의 명령을 지원하며 버전업을 거듭할수록 새로운 명령이 계속 추가되고 있음 예제 실행 대화형 레디스 클라이언트 redis-cli를 사용함. 문자열 .. 더보기
1.Redis, 레디스를 리눅스에 설치 및 실행을 한번 해볼께요. Redis를 리눅스에 설치 및 실행을 한번 해보자구요. 다운로드 & 컴파일 & 빌드 컴파일러 : gcc 다운로드 $ wget http://download.redis.io/releases/redis-5.0.5.tar.gz 압축풀기 $ tar xvfz redis-5.0.5.tar.gz 컴파일 & 빌드 & 빌드 테스트 $ make $ make test 빌드가 정상인지 테스트 실행 redis 서버 기동 $ ./redis-server redis 클라이언트로 접속 $./redis-cli redis> info info 명령은 레디스가 실행된 이후의 각종 통계 정보와 설정 정보를 출력함. 대략적인 정보는 아래와 같다. Server 실행 중인 레디스 서버의 실행 정보 Clients 서버와 연결된 클라이언트들의 통계 정보.. 더보기

반응형