목록전체 글 (211)
And Brain said,
Spring boot는 기본적으로 json converter로 Jackson을 사용한다. 하지만, Jackson은 객체를 만들어서 매핑해줘야 한다는 단점이 존재해 Gson을 사용하여 더 편리하게 작업하고 싶을때가 있다. 이럴때 application.yml 파일에 이런식으로 기본 converter를 Gson으로 바꿔주고 라이브러리를 추가해주면 된다. 그런데 만약 여러분의 프로젝트가 OpenAPI Swagger 를 사용한다면 문제가 발생한다. Swagger는 Gson을 지원하지 않기에 문제없이 둘을 동시에 사용하려면 커스텀 설정을 할 수 밖에 없다. Gson을 이용하여 Swagger 직렬화를 한 뒤 bean으로 등록해주면 된다. 이런식으로 설정해준다면, Spring boot에서 문제없이 둘을 동시에 사용할 ..
https://theworldaswillandidea.tistory.com/66 SSR과 CSR의 기본적인 이해도가 필요합니다. Next.js는 React의 프레임워크다. 다들 알다시피 React는 라이브러리기 때문에 프로젝트 초반에 설정해줘야할 것들이 꽤 있다. 하지만, Next.js를 사용한다면 React의 설정들을 그저 Next.js에게 의존하고 다음 단계로 넘어가면 된다. 물론 이런 편리함때문만이 Next.js를 사용하는 이유는 아니다. 자, 그럼 본격적으로 Plain React를 넘어 React의 다음 단계를 알아보자. Next.js는 기본적으로 React를 사용하면서 서버사이드 렌더링을 쉽게하기 위해 사용한다. Plain React만으로 서버사이드 렌더링을 구현할 수 있는 방법이 존재하긴 하지..
오늘은 ELK Stack의 삼두마차, ELK에 대해 알아보도록 하자. 내가 실제 사내 서버에 구축한 구조에 대해 알아보고 싶다면 아래 포스팅을 참고바란다. https://theworldaswillandidea.tistory.com/101 ELK Stack, 완성된 시스템의 화룡점정 로그 추적과 수집 및 분석은 왜 필요할까? 개발 단계에서는 시스템 장애가 발생되면 천천히 로그를 분석하고 디버깅 과정을 거치고 다시 개발하면 된다. 하지만 실제 상용되는 서비스에 장애가 theworldaswillandidea.tistory.com ELK ELK는 Elasticsearch, Logstash 및 Kibana, 이 오픈 소스 프로젝트 세 개의 머리글자를 뜻한다. Kibana - Logstash - Elasticsea..
로그 추적과 수집 및 분석은 왜 필요할까? 개발 단계에서는 시스템 장애가 발생되면 천천히 로그를 분석하고 디버깅 과정을 거치고 다시 개발하면 된다. 하지만 실제 상용되는 서비스에 장애가 발생한다면? 개발 단계에서의 과정을 똑같이 할 수 있을까? 만약 당신의 시스템이 MSA와 같은 분산된 서비스나 특히 클라우드로 이동할 수록 발빠르게 분산 로그 추적, 수집 및 분석은 필수적이게 될 것이다. 즉, 당신의 완성된 시스템에 방점을 찍을 수 있도록 오늘은 가장 유명하고 많이 사용되는 ELK Stack에 대해 실제 사내 서버에 내가 구축한 구조에 대해 설명하도록 하겠다. ELK에 대한 설명은 아래 포스팅을 참고바란다. https://theworldaswillandidea.tistory.com/102 ELK Stac..
서비스의 심장과도 같은 Database가 멈춘다면 어떻게 될까? 당연히 서비스는 제 기능을 하지 못할 것이고 멈춰있는 시간동안 서비스 기능 장애 뿐만 아니라, 데이터 손실 등의 문제에 직면하게 된다면 그 피해가 심각할 수도 있다. 심장은 계속 뛰어야만 한다, 그리하여 오늘은 DB 부하 분산 기법인 Clustering과 Replication 방식에 대해 알아보자. Clustering Clustering은 여러개의 DB 서버에 적절히 부하를 분산시키는 (로드밸런싱) 구조다. 당연히 DB 하나가 죽어도 곧바로 대비가 가능하며 고가용성을 보장한다. 보통 수평적 구조를 가지며 세부적으로 모든 DB 서버를 Active 상태로 둘 수도 있고 Active 상태와 Standby 상태를 섞어서 사용한다. 모든 DB 서버가..