의 문서 검색을 위해서 Solr, ElasticSearch등을 붙여본적도 있었다. 공부는 할 수 있었지만 유지&보수의 귀찮음 그리고 품질 문제 때문에(이것도 결국 귀차니즘의 문제가 되겠다.) 그냥 Google Custom Search를 사용하기로 했다. (구글 맞춤검색)은 구글에서 제공하는 검색 서비스다. 다른 검색 엔진을 만들거나 구축할 필요 없이(ES, Solr 등을 이용하면 쉽게 구축할 수 있다고 하는데, 쉽지 않다.)간단하게 자신의 사이트에 검색 서비스를 붙일 수 있다.
쿠버네티스(Kubernetes, 줄여서 K8s 라고 부르기도 한다.)는 컨테이너 기반의 응용 프로그램의 배포, 확장, 관리를 자동화하는 오픈소스 소프트웨어다. 원래는 Google에서 디자인 했으며 지금은 Native Computing Foundation에서 관리하고 있다. 클러스터로 묶인 호스트위에서 컨테이너의 배치, 운영, 확장을 자동화하는 플랫폼의 개발을 목표로 하고 있다. 도커(Docker)를 포함한 다양한 컨테이너 도구들과 함께 작동한다.
쿠버네티스(혹은 K8s)는 컨테이너기반 애플리케이션과 서비스의 운영, 디플로이 자동화, 스케일링을 위한 소프트웨어 도구다. 도커 컨테이너 기반의 운영 툴 중에서는 가장 빠르게 성장하고 있는 소프트웨어라고 할 수 있다. 2014년 구글은 K8s를 오픈소스로 전환했다. 쿠버네티스는 아래의 목적으로 사용하기 위한 기능들을 제공한다. 컨테이너 플랫폼 마이크로 서비스 플랫폼 가벼운(portable) 클라우드 플랫폼
Rancher 1.x 설치는 문서를 참고하자. 크게 달라질 건 없다고 생각하긴 하는데, 아무래도 직접 설치를 해봐야 할 것 같다. 설치환경은 아래와 같다. 호스트 운영체제 VirtualBox 게스트 운영체제 Kubernetes 테스트 환경은 아래와 같다. rancher-server rancher-01 ~ rancher-03 테스트에 사용한 도커 버전이다.# docker versionClient Version API version Go version Git commit Built OS/Arch Experimental OrchestratorServer Engine Version
사용 가능한 버전 시간 복잡도 문자열 값을 저장할 key를 만들 때, 타임아웃(timeout)도 설정 할 수 있다. 키sms 타임아웃 시간이 지난뒤에 삭제된다. 아래 두 개의 명령과 동일한 효과다. SET mykey valueEXPIRE mykey secondsSETEX는 원자적(atomic)하게 작동하한다. 두개의 명령으로 완전히 동일한 일을 하려면 MULTI / EXEC 블럭으로 트랜잭션 처리를 해줘야 한다. Redis는 캐시로 사용하는 경우가 많기 때문에, SET & EXPIRE보다 더 빠르게 작동 한다.
원문 웹 서비스를 개발 할 때 참고 할 수 있는 기본 아키텍처다. 실 서비스에서는 구성요소들이 복잡해지고 다뤄야 하는 내용이 깊어질 수는 있겠지만 많은 서비스들은 여기에서 소개한 아키텍처를 확장 & 응용하는 것만으로 큰 틀을 잡을 수 있을 것이다. 위 그림은 운영중인 joinc 웹 서비스 아키텍처를 묘사하고(개인 사이트이기 때문에, 실제 위의 구성요소를 모두 가지고 있지는 않다. 설명을 쉽게 하기 위한 장치라고 보면 되겠다) 있다. 경험있는 웹 개발자가 아니라면 매우 복잡하게 보일 수도 있을 것이다. 각 구성요소들에 대해서 자세히 설명하려고 한다. 일단 서비스를 간단히 묘사해보자.
ooo With Joinc 시리즈로 온라인 문서를 만들어보려 한다. Redis With JoinC 는 첫번째 시도다. 대상 이 온라인 문서는 Redis의 사용법을 다루고 있다. Redis는 오픈소스며, 다루기 쉽고, 빠르다. 메모리위에서 작동하는 in-memory 데이터베이스로 인터넷 서비스에서는 가장 널리 사용하고 그리고 가장 성공한 NoSQL 소프트웨어 중 하나다. 어떤 종류의 서비스를 만들든지 간에 RDBMS와 함께 반드시 사용하는 소프트웨어라고 보면 된다.
예전에 를 다룬적이 있다. 인터넷 웹 서비스에서 일반적으로 사용 할 수 있는 아키텍처를 묘사하고 구성요소들에 대해서 간단히 살펴봤다. 이 아키텍처를 AWS 기반으로 다시 만들어 보려 한다. 웹 서비스 아키텍처 ABC 에서 설명했던 아키텍처는 아래와 같다.위 아키텍처는 Joinc 서비스에서 사용하고 있는 아키텍처다. Joinc는 wiki 문서의 작성과 관리를 서비스하고 있다. wiki 문서는 텍스트 뿐만 아니라, 이미지와 동영상을 포함하고 있다.
1부에서는 Redis에 대한 개념을 잡는다. Redis가 어떤 기능을 제공하는지, 왜 인기 있는지를 확인해 볼 것이다. 그리고 Redis 학습을 위한 기본 환경을 구성할 거다. 1부에서 다룰 내용은 아래와 같다. 1. Redis 소개.Reids는 무엇인가 ? 무얼 할 수 있을까 ? 1. Redis와 NoSQL 1. Redis 설치와 기본 사용 1. Redis로 할 수 있는 것들, 그렇지 않은 것들Redis는 BSD 라이센서를 가지는 오픈소스 인메모리(in-memory) key-value 데이터를 저장하는 데이터베이스다. 인메모리인 만큼, 시스템이 재시작하거나 메모리에 문제가 생기면 모든 데이터가 사라진다. 다만 내구성을 가지는(durability)구성도 가능하다. Key는 문자열(string)을 사용하며, value로는 문자열, 리스트, 맵, 셋(set), 정렬된 셋(sorted set), 하이퍼로그로그(hyperloglogs), 비트맵, 공간색인등 다양한 데이터 구조를 사용 할 수 있다.
38 POSTS HERE
Vuejs로 Google custom Search를 붙여봤다.
의 문서 검색을 위해서 Solr, ElasticSearch등을 붙여본적도 있었다. 공부는 할 수 있었지만 유지&보수의 귀찮음 그리고 품질 문제 때문에(이것도 결국 귀차니즘의 문제가 되겠다.) 그냥 Google Custom Search를 사용하기로 했다. (구글 맞춤검색)은 구글에서 제공하는 검색 서비스다. 다른 검색 엔진을 만들거나 구축할 필요 없이(ES, Solr 등을 이용하면 쉽게 구축할 수 있다고 하는데, 쉽지 않다.)간단하게 자신의 사이트에 검색 서비스를 붙일 수 있다.
Kubernetes
쿠버네티스(Kubernetes, 줄여서 K8s 라고 부르기도 한다.)는 컨테이너 기반의 응용 프로그램의 배포, 확장, 관리를 자동화하는 오픈소스 소프트웨어다. 원래는 Google에서 디자인 했으며 지금은 Native Computing Foundation에서 관리하고 있다. 클러스터로 묶인 호스트위에서 컨테이너의 배치, 운영, 확장을 자동화하는 플랫폼의 개발을 목표로 하고 있다. 도커(Docker)를 포함한 다양한 컨테이너 도구들과 함께 작동한다.
Kubernets Concepts
쿠버네티스(혹은 K8s)는 컨테이너기반 애플리케이션과 서비스의 운영, 디플로이 자동화, 스케일링을 위한 소프트웨어 도구다. 도커 컨테이너 기반의 운영 툴 중에서는 가장 빠르게 성장하고 있는 소프트웨어라고 할 수 있다. 2014년 구글은 K8s를 오픈소스로 전환했다. 쿠버네티스는 아래의 목적으로 사용하기 위한 기능들을 제공한다. 컨테이너 플랫폼 마이크로 서비스 플랫폼 가벼운(portable) 클라우드 플랫폼
Rancher 2.0 설치
Rancher 1.x 설치는 문서를 참고하자. 크게 달라질 건 없다고 생각하긴 하는데, 아무래도 직접 설치를 해봐야 할 것 같다. 설치환경은 아래와 같다. 호스트 운영체제 VirtualBox 게스트 운영체제 Kubernetes 테스트 환경은 아래와 같다. rancher-server rancher-01 ~ rancher-03 테스트에 사용한 도커 버전이다.# docker versionClient Version API version Go version Git commit Built OS/Arch Experimental OrchestratorServer Engine Version
Docker Install
이제 docker는 devops 엔지니어나 클라우드 엔지니어가 뿐만아니라 개발자라면 필수로 사용해야 하는 툴이다. 우분투(ubuntu) 리눅스에 docker 를 설치해보자.
SetEX key seconds value
사용 가능한 버전 시간 복잡도 문자열 값을 저장할 key를 만들 때, 타임아웃(timeout)도 설정 할 수 있다. 키sms 타임아웃 시간이 지난뒤에 삭제된다. 아래 두 개의 명령과 동일한 효과다. SET mykey valueEXPIRE mykey secondsSETEX는 원자적(atomic)하게 작동하한다. 두개의 명령으로 완전히 동일한 일을 하려면 MULTI / EXEC 블럭으로 트랜잭션 처리를 해줘야 한다. Redis는 캐시로 사용하는 경우가 많기 때문에, SET & EXPIRE보다 더 빠르게 작동 한다.
웹 서비스 아키텍처 ABC
원문 웹 서비스를 개발 할 때 참고 할 수 있는 기본 아키텍처다. 실 서비스에서는 구성요소들이 복잡해지고 다뤄야 하는 내용이 깊어질 수는 있겠지만 많은 서비스들은 여기에서 소개한 아키텍처를 확장 & 응용하는 것만으로 큰 틀을 잡을 수 있을 것이다. 위 그림은 운영중인 joinc 웹 서비스 아키텍처를 묘사하고(개인 사이트이기 때문에, 실제 위의 구성요소를 모두 가지고 있지는 않다. 설명을 쉽게 하기 위한 장치라고 보면 되겠다) 있다. 경험있는 웹 개발자가 아니라면 매우 복잡하게 보일 수도 있을 것이다. 각 구성요소들에 대해서 자세히 설명하려고 한다. 일단 서비스를 간단히 묘사해보자.
Redis With Joinc
ooo With Joinc 시리즈로 온라인 문서를 만들어보려 한다. Redis With JoinC 는 첫번째 시도다. 대상 이 온라인 문서는 Redis의 사용법을 다루고 있다. Redis는 오픈소스며, 다루기 쉽고, 빠르다. 메모리위에서 작동하는 in-memory 데이터베이스로 인터넷 서비스에서는 가장 널리 사용하고 그리고 가장 성공한 NoSQL 소프트웨어 중 하나다. 어떤 종류의 서비스를 만들든지 간에 RDBMS와 함께 반드시 사용하는 소프트웨어라고 보면 된다.
Web Architecture ABC With AWS
예전에 를 다룬적이 있다. 인터넷 웹 서비스에서 일반적으로 사용 할 수 있는 아키텍처를 묘사하고 구성요소들에 대해서 간단히 살펴봤다. 이 아키텍처를 AWS 기반으로 다시 만들어 보려 한다. 웹 서비스 아키텍처 ABC 에서 설명했던 아키텍처는 아래와 같다.위 아키텍처는 Joinc 서비스에서 사용하고 있는 아키텍처다. Joinc는 wiki 문서의 작성과 관리를 서비스하고 있다. wiki 문서는 텍스트 뿐만 아니라, 이미지와 동영상을 포함하고 있다.
REDIS With Joinc Part - Redis 시작
1부에서는 Redis에 대한 개념을 잡는다. Redis가 어떤 기능을 제공하는지, 왜 인기 있는지를 확인해 볼 것이다. 그리고 Redis 학습을 위한 기본 환경을 구성할 거다. 1부에서 다룰 내용은 아래와 같다. 1. Redis 소개.Reids는 무엇인가 ? 무얼 할 수 있을까 ? 1. Redis와 NoSQL 1. Redis 설치와 기본 사용 1. Redis로 할 수 있는 것들, 그렇지 않은 것들Redis는 BSD 라이센서를 가지는 오픈소스 인메모리(in-memory) key-value 데이터를 저장하는 데이터베이스다. 인메모리인 만큼, 시스템이 재시작하거나 메모리에 문제가 생기면 모든 데이터가 사라진다. 다만 내구성을 가지는(durability)구성도 가능하다. Key는 문자열(string)을 사용하며, value로는 문자열, 리스트, 맵, 셋(set), 정렬된 셋(sorted set), 하이퍼로그로그(hyperloglogs), 비트맵, 공간색인등 다양한 데이터 구조를 사용 할 수 있다.