분류 전체보기
-
Kubernetes Prometheus MonitoringTool 2023. 8. 1. 11:45
Prometheus 프로메테우스는 오픈소스 기반의 모니터링, 알람 도구이다. 다른 모니터링 도구와 다른점은 각 서버에 설치된 agent가 메트릭 데이터를 전송하는 것이 아니라 수집 서버에서 각 서버들의 메티릭 데이터를 수집하는 구조이다. Prometheus는 크게 3가지 구성요소가 있다. 첫번째는 Prometheus server 이다. Prometheus server는 각 서버들의 메트릭 정보를 수집한다. 두번째는 Expoter이다. Expoter는 각 서버에 설치되며 해당 서버의 메트릭 데이터를 HTTP Server를 통해 제공한다. Prometheus server는 HTTP Server의 Endpoint에서 데이터를 가져가게 된다. 마지막은 Alertmanager이다. Alertmanager는 규칙에..
-
Gitlab CITool 2023. 7. 20. 14:01
Gitlab 깃랩은 깃랩 사가 개발한 깃 저장소 및 CI/CD, 이슈 추적, 보안성 테스트 등의 기능을 갖춘 웹 기반의 데브옵스 플랫폼으로써, 오픈 소스 라이선스 및 사유 소프트웨어 라이선스를 사용한다. 💡 CI (Continuous Integration): 자동화된 빌드 및 테스트가 수행된 후, 개발자가 코드 변경 사항을 중앙 레포지토리에 정기적으로 병합하는 소프트웨어 개발 방식이다. CI의 핵심 목표는 버그를 신속하게 찾아 해결하고, 소프트웨어 품질을 개선하고, 새로운 소프트웨어 업데이트를 검증 및 릴리스하는 데 걸리는 시간을 단축하는 것이다. Runner Gitlab에서 빌드 및 테스트 등 CI작업을 하기 위해서는 작업을 수행하는 runner가 필요하다. docker, kubernetes 등 다양한..
-
Spring Batch 알아보기Java 2023. 7. 14. 15:48
Spring Batch Spring Batch는 다양하고 필수적인 작업들을 구현 할 수 있도록 만들어진 배치 프레임 워크입니다. 가볍고 다양한 기능을 제공하여 복잡하고 대용량의 작업을 처리할 수 있도록 설계되어 있습니다. 특징 트랜잭션 처리 (Transaction management) 청크 기반 처리 (Chunk based processing) 선언적 I/O (Declarative I/O) 시작/중지/다시 시작 (Start/Stop/Restart) 재시도/건너뛰기 (Retry/Skip) 웹 기반 관리 인터페이스 (Web based administration interface) 아키텍처 사용방법 Dependency dependencies { implementation 'org.springframework...
-
DockerDocker 2021. 11. 21. 16:52
Docker는 Go언어로 작성된 리눅스 컨테이너 기반으로하는 오픈소스 가상화 플랫폼이다. VM 가상화 플랫폼 vs Docker 가상화 플랫폼 VM은 Host OS 위에 Hypervisor Engine을 올리고 그위에 Guest OS를 올려 사용한다. 이는 가상화된 하드웨어 위에 OSrㅏ 올라가는 형태로 Host와 거의 완벽히 분리된다. 하지만 Docker는 도커 엔진위에 Application 실행에 필요한 바이너리 파일만 올리게 된다. 따라서 VM은 Host OS와 완전히 분리되지만 무겁고 느릴 수 밖에 없다. 또한 Docker는 Host OS와 커널을 공유하기 때문에 IO처리 효율이 좋다. Docker Image Docker Image는 컨테이너를 실행시키기 위한 실행파일, 설정 값들을 가지고 있다. ..
-
InnoDB와 Transaction Isolation LevelDatabase 2021. 11. 21. 16:50
1. Transaction Transaction이란, 데이터베이스를 조작하는 작업의 단위이다. 조회 와 수정을 하나의 행위로 묶는 등 한가지 이상의 행위를 묶어 하나의 단위로 표현한다. Transaction은 흔히 ACID원칙을 보장해야 한다고 한다. ACID는 각각 Atomicity(원자성), Consistency(일관성), Isolation(독립성), Durability(영구성)을 뜻한다. Atomicity: transaction의 작업이 부분적으로 성공하는 일이 없도록 하는 성질이다. Consistency: transaction이 끝나고 나면 DB의 제약조건이 맞도록 보장하는 성질이다. Isolation: Transaction이 진행되는 중에 다른 Transaction이 작업중인 작업을 간섭할 수 ..
-
개인정보처리방침APP 2021. 10. 29. 00:41
개인정보처리방침 ('https://yun-seyeong.tistory.com/36'이하 '모닥')은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. ○ 이 개인정보처리방침은 2021년 1월 1부터 적용됩니다. 제1조(개인정보의 처리 목적) ('https://yun-seyeong.tistory.com/36'이하 '모닥')은(는) 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며 이용 목적이 변경되는 경우에는 「개인정보 보호법」 제18조에 따라 별도의 동의를 받는 등 필요한 조치를 이..
-
Golang - modGo 2021. 4. 13. 00:23
Go mod Go에서는 API를 사용할 때 go get을 통해 패키지를 설치하고 사용하게된다. 이때 패키지는 GOPATH(경로)에 설치가 되게 된다. GOPATH에 패키지가 설치되면 여러 프로젝트를 만들었을 때 공통적으로 사용되어 버젼관리를 따로 할 수 없고 원하는 패키지만 설치하는 것이 어렵다. 이럴때 mod를 이용하면 패키지 관리를 쉽게 할 수 있다. 다음과 같은 환경에서 작업한다. > example |--> main.go 먼저 현재 폴더를 go mod로 관리하도록 세팅을 해야된다. go mod init ysy go: creating new go.mod: module ysy 위 명령어를 실행하면 go.mod라는 파일이 생기고 현재 폴더가 mod를 사용할 수 있도록 세팅된다. 그리고 현재 디렉토리 내부..
-
Golang 기초[2]Go 2021. 4. 13. 00:10
다음과 같은 환경에서 작업한다. > example |--> main.go 1. Struct 사용하기 main.go package main import ( "fmt" ) type User struct { UserID string Password string } func main() { var user User user = User{ UserID: "아이디", Password: "패스워드", } fmt.Println(user) } {아이디 패스워드} type User struct : 구조체를 선언하는 방식이다 User는 구조체 이름을 뜻한다. 중괄호안에는 구조체의 내용이 들어가는데 변수의 이름과 타입을 순서대로 적는다. var user User var을 통해 변수선언을 해주는데 타입을 User로 한다. us..