목록분류 전체보기 (78)
공대생 정리노트
파드를 안정적으로 유지하기 위한 방법 1. 라이브니스 프로브(liveness probe) 파드의 specification에 각 컨테이너의 liveness porbe를 지정할 수 있다. 쿠버네티스는 주기적으로 프로브를 실행하고 프로브가 실패할 경우 컨테이너를 다시 시작한다. 쿠버네티스가 프로브를 실행하는 방식은 3가지이다. HTTP GET 프로브. 지정한 IP 주소, 포트, 경로에 HTTP GET 요청을 수행한다. 응답을 수신해 실패했다고 판단하면 컨테이너를 다시 시작한다. TCP 소켓 프로브. 컨테이너의 지정된 포트에 TCP 연결을 시도한다. 연결에 실패하면 컨테이너가 다시 시작된다. Exec 프로브는 컨테이너 내의 임의의 명령을 실행하고 명령의 종료 상태 코드 확인. 컨테이너에 크래시가 발생하거나 li..
쿠버네티스 인 액션을 읽고 공부한 것 요약 파드 소개 쿠버네티스는 컨테이너를 개별적으로 배포하기 보다는 컨테이너를 가진 파드를 배포하고 운영. 컨테이너는 단일 프로세스를 실행하는 것으로 목적으로 설계. Ex) 개별 프로세스가 실패하는 경우 자동으로 재시작하는 매커니즘 포함해야 한다. 그래서 컨테이너를 함께 묶고 하나의 단위로 관리하는 구조가 파드이다. 쿠버네티스는 파드 안에 있는 모든 컨테이너가 자체 네임스페이스가 아닌 동일한 리눅스 네임스페이스를 공유하도록 도커를 설정한다. 파드의 모든 컨테이너는 동일한 네트워크 네임스페이스와 UTS(UNIX Timesharing System Namespace) 네임스페이스 안에서 실행되기 때문에, 모든 컨테이너는 같은 호스트 이름과 네트워크 인터페이스를 공유한다. 파..
Go로 간단한 서버를 만들 때 사용되는 라이브러리들과 자주 사용되는 함수를 정리해보았다. 함수들은 모두 Go 강좌를 무료로 올려주신 Tucker Programming 채널을 보고 알게 되었다! 감사하신 분이다. 모든 라이브러리는 go get ~ 로 설치할 수 있다. github.com/gorilla/pat github.com/gorilla/pat gorilla/pat a pretty simple HTTP router for Go. Contribute to gorilla/pat development by creating an account on GitHub. github.com 쉽게 Restful api를 만들 수 있는 라이브러리. func main(){ // this example is from gith..
package 이름을 main으로 하고 go test를 하게 되면 다음과 같은 에러가 뜨면서 빌드가 되지 않는다. golang의 github issue에 있는 답변(github.com/golang/go/issues/10738)을 확인해 보니 다음과 같은 사실을 알 수 있었다. test driver가 package를 import할 때 import path가 main이면 import를 거부한다. Go program 안에 있는 package는 unique한 import path를 가져야 한다. 그런데 main package는 import path로 "main"을 가져야 하기 때문에 또다른 "main" package를 import 할 수 없는 것이다. 다시 말하면 test driver가 package main에..
Local package import Go에서 local package를 import 할 때 relative path로 적어놓으면 local import ~ in non-local package라고 에러가 뜬다. 이 문제는 import의 시작 path가 $Home/go/src에서 시작하기 때문이다. stackoverflow.com/questions/35480623/how-to-import-local-packages-in-go
참고 자료 https://www.youtube.com/watch?v=ZS_kXvOeQ5Y https://siyoon210.tistory.com/130 SQL Structured Query Language 특징 Strict, clear schema Relation 각 테이블에는 명확한 구조가 존재하고 구조는 필드와 데이터로 구성된다. 이 스키마를 만족시키지 못하는 레코드는 해당 테이블에 추가될 수 없다. 이런 특성 때문에 테이블에 필드를 추가하거나 바꾸기가 어렵다.(기존 데이터들을 바뀐 스키마를 만족시키기 위해 다 바꿔야 함) 또한 SQL은 Relation을 통하여 테이블끼리 연결시킨다. 이를 이용하면 각 테이블별로 데이터의 중복을 피할 수 있다. NoSQL 특징 No Schema No relation 스..
참고자료 https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm Fielding Dissertation: CHAPTER 5: Representational State Transfer (REST) proxy CERN Proxy, Netscape Proxy, Gauntlet www.ics.uci.edu https://johngrib.github.io/wiki/REST-paper-summary/#chapter-5-representational-state-transfer-rest Deriving REST architecture style에 제한을 추가함으로써 더 나은 새로운 architecture style을 만들 수 있다. REST가 a..
참고자료 Naver d2. 그런 REST API로 괜찮은가 https://www.youtube.com/watch?v=RP_f5dMoHFc Rest Dissertation https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm Fielding Dissertation: CHAPTER 5: Representational State Transfer (REST) proxy CERN Proxy, Netscape Proxy, Gauntlet www.ics.uci.edu REST 분산 하이퍼미디어 시스템(ex 웹)을 위한 아키텍쳐 스타일 REST를 구성하는 스타일은 다음과 같다. client-server stateless cache uniform..