본문 바로가기

분류 전체보기28

Spring 이 정도는 해줘야지 - 01. 시작하며 거 제목이 너무 자극적인거 아니요? 제목은 원래 자극적이게 적는거다. 그래야 "이놈보게~" 하는 자극을 주면서 사용자가 유입되게 된다. 사실 최근에 지인을 통해 @city7310 님의 '백엔드가 이정도는 해줘야함'에서 아이디어를 얻어서, 'Spring 이정도는 해줘야지' 으로 제목을 가지게 되었다. 백엔드가 이정도는 해줘야 함 - 1. 컨텐츠의 동기와 개요 필자가 고등학교 1학년 말에 처음으로 백엔드 포지션에서 프로젝트를 진행하며, 멍청했던 과거 이야기와 이 컨텐츠를 기획한 동기를 공유합니다. velog.io 이 연재는 왜 시작하게 되었나요? 최근 주변에서 여러가지 이유로, Spring에 관심을 가지는 선/후배들이 많아졌다. 근데 이들이 물어보는 내용이 거기서 거기고, 매번 똑같은 내용 다시 설명 해주기.. 2020. 5. 7.
"광고 안 나오는 소리 안나게 해라~" 웹 관제 시스템 개발기 서버개발자가 없던 팀에 내가 서버개발자로 들어간지 약 5개월. 우리 팀에서 나는 비용무새다. "과장님 그렇게 사용하면 한 달에 비용이 얼마 나오는데 이렇게 하면 이 정도 비용이 나와서 다른 방법으로 한번..." "아 그건 비용이 너무 크게 나와서... 이런 형태의 아키텍처는 어떤가요.." 등등 그렇게 비용 관련 여러 지표를 보던 중 흥미로운 지표를 발견하게 된다. 나 : 이날은 광고 매출이 엄청 줄었네요? 담당자분 : 그날 새벽에 광고 서버 장애가 크게 있었는데, 대응이 늦어서 아침 광고를 많이 못 뿌렸어요. 나 : 오호라.. 예전부터 이런 모니터링을 자동으로 관제하는 것을 좋아하던 나는 재미있는 생각이 들었다. 나 : 왠지 크고 작은 장애가 많을 것 같은데, 이러한 부분을 모니터링해보면 꽤 재미있는 데.. 2020. 4. 25.
알아보자 Aurora Serverless 배워보자 Aurora Serverless (AKA. 알A배A) 모 프로젝트에서 메인 저장소로 Amazon Aurora를 통해 사용하고 있었다. 어느 날과 다를 거 없이 관련 문서를 찾아보던 중 아래 같은 글을 찾게 된다. Amazon Aurora Serverless 정식 출시 | Amazon Web Services Amazon Aurora는 고성능 상용 데이터베이스의 성능과 가용성에 오픈 소스 데이터베이스의 간편성과 비용 효율성을 결합하였으며 클라우드를 위해 구축된 MySQL 및 PostgreSQL 호환 데이터베이스 서비스입니다. Aurora의 새로운 기능인 Aurora Serverless는 지난 해 AWS re:Invent에서 발표되었습니다. 드디어 오늘 MySQL용 Aurora Serverless를 정식 출시합니다. Aurora 서버리스는 온디맨드 방식으로 제공.. 2020. 3. 13.
대용량 푸시 발송 시스템 개발기 - (1) 시작 B2B 서비스에 대한 지루함을 느끼던 상황에서, 회사 실장님의 추천으로 B2B 서비스 팀에서 B2C 서비스팀으로 팀을 옮기게 되었다. 문제의 시작 약 6년간 공석이던 B2C 서비스 서버 개발자의 자리에 내가 들어가게 되었는데, 어느 정도 예상은 했지만 공석의 문제는 생각보다 컸다. 처음에 팀에 왔을 때, 정말 많은 문제가 있었지만, 가장 큰 문제는 푸시 전송 시스템이 없어서, 클라이언트 개발자가 일명 돌려치기 (땜빵) 하면서 겨우 겨우 서비스가 운영되고 있었다. 이렇게 돌아가는데 문제가 없었냐? 당연히 서비스적으로 문제가 많았고, 그러다 보니 유저에게 좋지 못한 경험이 많이 노출 되게 되기도 하였고, 비용적인 관점에서 봤을 때도 비효율적으로 사용되는 비용이 많았다. 또한, 우리 팀의 2020년 로드맵을 .. 2020. 3. 9.
CloudFront, Error Cache 삽질기 최근에 나에게 있었던 삽질기를 다른 사람은 겪지 않기를 바라며 글을 적어본다. 내가 다니고 있는 회사에서 신규 API서버를 오픈하였는데, AWS CloudFront(이하CF)를 붙여서 서비스를 오픈하였다. 이 API 서버는 결과가 있다면 200 OKAY 없으면 404를 주는 매우 간단한 서버였다. 그리고 서비스를 배포하고 실서버에서 최종 테스트를 해보고 있는데, 테스트 서버에서 발생하지 않는 문제가 AWS CloudFront의 설정 미스로 인하여, 실 서버에서 발생하는것이었다. 이 글은 그 이슈를 해결 한 이야기이다. 결과가 디비에 있는데 왜 실서버는 결과를 안주지? QA조직에서 데이터를 올렸으나, 결과가 나오지 않는다 라는 이야기를 듣고 확인을 해보았다. 분명 DB에는 있다.. 진짜 있다.. 정말 있는.. 2020. 1. 6.
MSA 고군분투기 — (1) JAVA의 DNS Cache 이슈 해결기 내가 만든 서비스는 기본적으로 DNS 기반으로 서비스를 다 하고 있다. account.yangs.internal , search.yangs.internal, mariadb.yangs.internal 등등.. 서비스중에 문제가 생기거나 구성 변경으로 인하여 혹은 아마존 내부의 이슈가 생기면 DNS에 IP를 스위칭해서 HA하는 형태로 운영중이었다. 어느날은 DB에 장애가 발생하여, 자동으로 IP가 변경되었는데 Application 레벨에서 전환이 진행이 안되어서 재기동으로 해결 한 기억이 있다. DNS 서버 설정 문제인가 봤는데, DNS서버의 문제가 아닌 JAVA 클라이언트 의 DNS Cache 정책으로 인하여 발생한 이슈였다. 오늘은 그 이야기를 해보려고 한다. DNS 공격을 방지하기 위한 JAVA의 정책.. 2020. 1. 6.
EC2에서 Windows 7/8/10 설치하기 (aka.AWS EC2에서 레거시 VM 운영하기) 서비스를 운영 해본 사람들은 다 알겠지만, 가장 힘들고 짜증 나는것은 장애 입니다. 그 중에서도 제일 화가 나는것은 하드웨어적인 장애가 발생 할 경우 운영의 입장에서 정말 답이 안나오기 시작합니다. 요즘 기업들은 위에서 이야기한 고질적인 인프라적 문제를 해결 하고 더 효율적인 스케일링과 관리를 위하여, AWS와 같은 가상화 서비스로 넘어가는 경우가 많습니다. 자세한 내용이 궁금하시면 여기를 클릭해보세요 제가 다니고 있는 회사도, 레거시 AWS로 서비스를 이전하고 있는데 이번 기회에 스케일링과 하드웨어적인 문제가 복합적으로 있지만 중요한 내부 시스템을 AWS 인프라로 옮겨서 운영하자라는 이야기가 나왔고, 당시 AWS 이전을 어느정도 담당하고있던 제가 진행하게 되었습니다. 해당 팀의 요구사항을 정리해보니 아.. 2020. 1. 6.
AWS VPC 피어링 하기 회사에서 운영중인, AWS 서비스가 계속 커지다보니, VPC도 나눠지고 VPC 피어링도 필요한 상황이 되었다. 그래서 이번에 VPC 피어링을 하는 과정을 블로그에 적어보도록 하겠다. AWS VPC 피어링이란? 출처 : https://docs.aws.amazon.com/ko_kr/vpc/latest/peering/what-is-vpc-peering.html VPC 피어링 연결은 프라이빗 IPv4 주소 또는 IPv6 주소를 사용하여 두 VPC 간에 트래픽을 라우팅할 수 있도록 하기 위한 두 VPC 사이의 네트워킹 연결 하는것을 VPC 피어링 이라고 합니다. 한줄 정리 하면 A공유기와 B공유기를 연결하는 작업이라고 볼수있다. AWS VPC 피어링을시작을 하기 전에 이 글에서는 여러분이 조금이라도 더 빠르고 깔.. 2020. 1. 6.