일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- c++ 빌드
- SpringBootApplication
- Spring Aspect
- 코드포스
- AliasFor
- java hashCode
- github action
- java stream api
- equals
- github action codedeploy
- kotest
- javascript image slider
- vanilla js image slider
- stream groupingby
- Github action deploy
- hashcode override
- image slider
- Java Wrapper Class
- AWS Codedeploy
- lombok Builder
- Java
- github deploy
- java CompletableFuture
- github CI
- github CI/CD
- equals override
- java 비동기처리
- github ec2 deploy
- list remove
- Java lombok
- Today
- Total
목록분류 전체보기 (27)
기록창고
테라폼 튜토리얼 [https://developer.hashicorp.com/terraform/tutorials/aws-get-started] 튜토리얼 뿌수기 완료 하고 싶은 것 언젠가 내가 만들고 싶은 걸 찾으면 그 즉시 만들기 위한 준비물 만들고 뿌수는게 매우 쉽다 따봉 --- 그러면 해야될 것 생각만 해봤따 와르르 만들고 와르르 부서지고 서버를 쉽게 띄우고 배포도 쉬워야됨 현재 생각하는 구조.. git push -> dev 머지 -> staging 배포 -> master 머지 -> prod 배포 카나리까지는 필요 없구(?) 블루 그린 되야됨 terraform 으로 인프라 관리 aws fargate 쓰기(한번도 안써봄) 서버 - ktor(한번도 안써봄) db - aws rds redis - 몰루 배포 ..
https://www.acmicpc.net/blog/view/24 원래 나는 윈도우 환경에서 위의 세팅으로 문제를 풀었다 아주 편했고 좋다 맥북을 사고, 저런 세팅하는 블로그가 없어서 어거지의 어거지로 만들었따 매우 그지같지만 되긴 하니.... 낄낄 sublime text 3 을 쓰고 있습니당 일단 C++ Build System 을 만들어야 하는데 Tools -> Build System -> New Build System 을 하고 아래 내용을 붙여넣은 뒤, c++.sublime-build 라는 이름으로 저장한다 아래 내용은 최적화나, 버전은 맘대로 설정하시길.. { "cmd": ["g++", "$file", "-o", "${file_path}/${file_base_name}"], "file_regex":..
20년 8월에 입사하고, 바로 업무 투이입!? 처음 한달 정도는 매우 짜잘짜잘한 기능 수정 및 기초적인 배포 프로세스, 각종 필수 기능들를 익혔다. 한달정도 지나니어떤 구조로 되어있는지 느낌적인 느낌으로 대충 알게되었다. 그리고 사수가 다른팀으로 가서 팀에 서버개발자가 나밖에 없는 상황이 됨 매우 많이 당황스러웟지만, 머 어쩔수잇나.. 다른팀 서버개발자분들에게 많이 많이 물어보고, 그분들은 정말 친절하게 대답해주셨다. 어쨋든 혼자이다보니 클라이언트 개발자분들과 함께 기능 개발을 하는데 내가 커뮤니케이션(협업)을 못했다... 개발을 혼자서(토이프로젝트)만 하다보니, 내가 만들고 내가 수정하고 내가 혼자 북치고 장구치고 해도된 상황이여서 공유도 잘 안하고 일정 산정도 내 맘대로 했었는데, 클라이언트 개발자분..
Real MySql 8.0 책을 읽다가 모르는 점을 기록 1. index 가 걸려있고, 그 인덱스로 update 를 치면 해당 인덱스로 검색된 모든 레코드가 레코드락이 걸림 ㄷㄷ create index idx_123 on table (column1, colunm2); update table set column1 = 2 where column1 = 1 and column2 = 1; 그래서 인덱스를 잡을때 광범위하게 잡는건 안좋음 ex) 성별 enum 으로 'M', 'F' 로 잡고 인덱스 첫빠따에 넣어두면 다 락을 잡지않을까.. 2. 격리 보장은 언두 로그로 한다 Mysql 는 reapeatable read 를 디폴트값으로 쓰고 잇음 원리 각 트랜잭션은 트랜잭션 고유 넘버가 있고. 그 고유값음 auto in..
트랜잭션을 열때 하지 말아야할 것.. 😢 트랜잭션 사이에 기이이인 무언가을 넣지 말아야함 기이이인 무언가란? 시간이 오래 걸리는 연산 - 이런건 연산을 마치고 결과만 저장할때 외부요청 - 레디스든 msa 구조라서 다른 곳을 다녀와야 한다는 등등.. 외부의 장애가 바로 전파된다.. 트랜잭션을 열고, 커넥션을 잡고 A 라는 곳에 요청을 보냇는데 죽거나 장애가 있어서타임아웃을기다리게 된다면.. 어흑.. 바로 커넥션 풀에 있는거 다 쓰고 모든 요청이 디비만 기다리다가 다 500 ... 그래서 상태처리가 중요한 요청은 request 로 기록을 해두고, 요청을 보낸 다음에 다시 상태를 done 이나 fail 처리한다. class AService { fun sendMoney(to: String, from: Strin..
만약 connection pool 에서 모든 커넥션을 쓰고 있다면 어떻게 될까? 서버가 터진당 ;; 🥶 요청이 오면 톰캣 쓰레드에서 쓰레드를 할당 받고, 처리하는데 디비에서 데이터를 꺼내는데 오래걸릴경우(인덱스를 안타거나, 원래는 캐시에 저장되어야했으나 등등..) 쓰레드들이 db 커넥션을 할당 받기 위해 기다리는데 그럼 점점 요청들이 쌓이기 시작한다.. 공급(쓰레드풀)이 수요(요청)를 못따라감.. msa 구조라고 할때, 요청한 서버에서 할 수 있는건 타임아웃으로 걸거나 서킷을 걸어놓는 것이다. 그럼 터진 서버에서 해야할껀..? 빵 터졋을때 대응할 수 있는건... 서버를 늘리면 된다! 요청을 분산시키는 것이다.. 쿠버네티스를 쓴다면 팟을 늘리면되겟다.. 허헣.. 그다음엔 어플리케이션에서 대응해야할껀.. d..
회사에서 장애가 낫다 A, B, C, D 서버가 있다고 가정한다 C -> B -> A D -> B -> A B 서버 입장에서는 꼭 A 의 데이터가 필요하지않는 경우였다. 필요는 하지만, 없어도 사용자에겐 문제가 없는 경우 C, D 는 꼭 B 가 필요하다. 위처럼 요청을 보내는데, A 서비스에 장애가 생겼다..! 그래서 A 의 응답이 너무 늦어졋다.. C, D 에서 요청을 계속 보내고있는데, B 는 A 의 응답을 기다리고 있어 점점 쓰레드는 부족해져다가 결국 503 이 발생했다. 결국 C, D 도 장애로 이어진것 방지책 서킷브레이커를 이용하여, A 서버로 보낸 요청이 응답이 늦어나, 안온경우가 일정시간 누적이 되면 서킷 활성화하여, 모든 요청을 서킷이 응답하게 만들고, B 에서는 그의 응답에 대한 대응을 ..
이제 CodeDeploy 에 들어가면 설정을 합니다.. AWS Codedeploy 에 들어가서 배포 -> 애플리케이션 -> 애플리케이션 생성 을 합니다 컴퓨터 플랫폼만 EC2/온프레미스로 해주세요 생성 후에 배포 그룹 생성 클릭 그룹이름은 자유롭게 하시고, 역할은 아까 IAM 에서 Codedeploy 를 위해 만든 역할이 있을겁니다. 배포 유형 - 현재위치 환경 구성 - Amazon EC2 인스턴스 에서 사용하고싶은 EC2 를 골라주시면 됩니다. AWS Systems Manager - 아까 EC2에 Codedeploy agent 를 설치했기 때문에 편하신거 고르시면 됩니다 배포설정 - CodedeployDeafault.AllAtOnce 로드밸런싱활성화 - 저는 Application Load Balance..
1 에서는 빌드한 파일을 S3에 옮겼습니다. 이제 Code Deploy 를 이용하여 S3 있는 빌드파일을 EC2로 옮겨서 실행시키는 일만 남았네용 code deploy 는 깃허브를 통해서 파일을 가져올수도 있고, S3 를 이용해서도 가져올 수 있습니다. 근데 빌드파일을 깃허브에 올리는건 좀 이상(?)하다고 생각하고 있습니다.. 올려도 상관은 없습니다! https://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/tutorial-ecs-deployment.html 자습서: Amazon ECS 서비스 배포 - AWS CodeDeploy 이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 ..