개발자가 블로그도 잘 써야 하나요? - 읽히고, 공유되고, 개발자 성장을 도와줄 매력적인 기술 블로그 작성법
피오트르 사르나.신시아 던롭 지음, 김태곤.이미령 옮김 / 길벗 / 2026년 4월
평점 :
장바구니담기


 

총평

- 책의 난이도  : ★☆☆☆☆
- 추천 별점     : ★★★★★
- 추천 독자     : 글쓰기를 고민하는 우리들
- 지은이         : 피오트르 사르나, 신시아 던롭 지음 / 김태곤, 이미령 옮김
- 출판사         : 길벗

 


 

난 왜 책을 읽었는가?

개발자의 글쓰기등 글쓰기 책들을 내가 많이 읽으려고 하는 이유는 최근에 강의를 하기도하고 너무 많은 정보의 홍수 속에서 나만의 아이덴티티 전문 분야를 찾기위해서 글쓰기를 통해 점점 내 지식을 확장하기 위함이 크다. 그리고 요즘 얼마나 좋은 시대인가? 내가 떠오르는 지식을 브레인 스토밍만 해줘도 AI를 통해서 지식 정리를 하기가 쉬워졌다 (난 딸깍이라는 표현은 좋아하지 않지만 AI의 도움을 안받는것도 바보라고 생각한다)

 

아무튼 그래서 이 책을 길벗에 체험단 요청하였고, 감사하게도 읽을 수 있는 기회가 주어져서 열심히 읽어봤다.

 

왜 글을 써야하는가?

이 책의 첫 장은 왜 글쓰기를 해야하는지에 대한 본질적인 이해이다. 나는 사실 동기는 충분하기 때문에 동기 부분보다는 글을 어떻게 써야하는지에 대한 내용을 좀 더 중점을 두고 이 부분을 읽었다. 예를들어 보자.

 

1.3 장 쪽에서는 우리가 글을 쓰지 않는 많은 핑계들을 이야기해본다. 여기서 나는 새롭지 않다는 부분과 강연 영상이 이미 공개되었다는 부분을 재미있게 읽었다. 나도 항상 이거에 대한 이유를 핑계삼았다. 즉 이미 글이 많이 널려있고, 전문적인 강연 영상도 많기 때문에 내가 이 글을 쓰는게 좀 별 내용없어 보이기도하고, 누가 내 글을 읽어줄까? 이런 고민도 많이하면서 막상 글쓰기를 하지 않았다.

 

근데 여기에서도 나오지만 이미 있는 기술도 사용자의 시각마다 다르게 평가되고 보여질 수 있으며, 강연 영상도 내용이 길어서 사람들이 대부분 다 보지 않는다는 것이다. 그리고 사람들은 모든 내용을 보려고 하지 않고 일부만 보는 경우도 많고, 수준이 안맞는 아티클일 수도 있는 등 여러가지 이유로 이것은 핑계가 될 수 없다.

 

 

 

무엇을 쓸 것인가?

자 그럼 이제 글을 쓸 이유는 충분하니, 무엇을 쓸지가 아무래도 가장 중요하지 않겠는가?

 

 

그러게 무엇을 쓸 것인가? 여기서는 3P 법칙을 제시한다.

 

3P란, 자랑스러운 일(Proud), 고통스러운 일 (Pain), 열정을 느끼는 일 (Passion)에 대해서 이야기한다.

내가 구현한걸 자랑하거나, 내가 실제로 트러블슈팅과정에서 정말 힘들었던 점 혹은 그냥 내가 재미있는 것들을 나열하는 것을 추천하고 있다. 이것만 잘 찾아내도 사실 소잿거리는 많을 거라고 생각한다.

 

또한 하나의 팁으로 주제 아이디어가 사람들이 얼마나 관심을 가질지 궁금하다면 소셜미디어에 가볍게 한번 툭 던져보라는 것이다. 충분히 반응오는 주제는 사람들이 좋아할 가능성이 높다. 이미 많은 제품 홍보에도 요즘 이 방식을 사용하고 있다.

 

어떻게 쓸 것인가?

자 그럼 이제 주제는 정했다 그럼 이제 이 주제를 어떻게 풀어나갈지 생각해보자. 

보통 글을 쓸때 가장 중요한 건 내가 하고자 하는 말과 이것을 볼 독자들의 수준을 고려한느게 가장 중요하다.

왜냐하면 화자가 주제가 없다면 글을 읽는 사람이 맥락을 전혀 잡지 못하게 된다.

또한 독자의 수준을 고려하지 않으면 독자는 아무 내용도 얻어가지 못한다.

글쓰기는 이렇게 전적으로 독자를 위한 행위라는 것을 잊으면 안된다.

 

이렇게 목표를 정의했으면 초고를 쓰고서 피드백을 다각도로 하면 된다.

그 여러가지 피드백 방법 중 역시나 대 AI 시대 최고의 피드백러 ChatGPT를 사용해 피드백을 받을 수도 있다.

GPT를 통해 먼저 내 글을 이해해보라고하면 내 글이 맥락에 맞게 잘 작성되었는지도 제3자의 시각을 통해 판단할 수 있다. (참 좋은시대)

내 글에 대해서 피드백을 해봐 하기 전에 먼저 내 글을 읽어보고 이 글이 어떤 목적으로 쓰인건지를 말해보라고 했을때 내가 의도한 대로 명확하게 나왔는지 확인해보면 정말 객관적으로 확인할 수 있다.

 

 

이 책은 생각보다 꼼꼼하게 많은 예시를 제공하면서 디테일한 부분에 대한 설명이 많은데, 아무래도 번역책이다보니 예시가 영어에 맞춰져있다는건 조금 아쉽다. (오히려 영어로 글쓰려고 생각한 사람한테는 오히려 이 부분이 아주 중요할지도?!)

 

 

마무리는 실전 예제로 

중반부에는 실제로 다양한 예제를 보여주고 있는데 재미있는건 패턴으로 해놓았다는 것이다. 버그 사냥패턴.. 벤치마크, 트렌드, 경험에서 배운 점 등 다양한 예시를 직접 분석하고 읽어보면서 아 나도 이렇게 써보면 되겠다 이런식으로 적용하면 좋을 것 같다.

 

이 부분들은 예시이기도 하고, 결국 책에 핵심적인 부분이 아닐까 한다. 처음부터 끝까지 정독을 한다기보다 내가 관심있는 부분을 먼저 읽어보면서 하나씩 해보는걸 난 오히려 더 추천한다.

 

내 글쓰기 능력도 이제 이 책을 통해서 조금 더 업그레이드 되지 않았나 싶은데, 이 패턴을 그대로 분석해서 많이 사용해보고자 한다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
AI 게임 개발 with 코덱스 - 혼자서도 프로처럼 AI 팀원과 캐릭터 제작부터 음원, 코딩, 배포, 수익화까지 누구나 프로처럼 실전 AI
정윤지 지음 / 한빛미디어 / 2026년 2월
평점 :
장바구니담기


"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."

 

 

총평

- 책의 난이도  : ★★★☆☆
- 추천 별점     : ★★★★★
- 추천 독자     : AI 게임 개발을 시작하고 싶은 사람
- 지은이         : 정윤지 번역
- 출판사         : 한빛미디어
 


왜 이 책을 골랐는가?

요즘 바이브코딩을 접하면서 자연스럽게 게임 개발에 대한 흥미가 생겼다.

원래도 게임을 만들어보고 싶다는 생각은 있었지만, 항상 막혔던 부분이 있었다. 그것은 바로 Unity!!

 

Unity는 너무 어렵고, 책도 두껍고, 시작 자체가 부담스러웠다.

그런데 AI가 발전하면서 “이제는 나도 할 수 있지 않을까?”라는 생각이 들었고,

그래서 선택한 책이 바로 『AI 게임 개발 with 코덱스』였다.

 

솔직히 말하면 나는 거의 유니티를 모르는 상태였다.

  • Unity 문법 모름
  • 게임 개발 구조 모름
  • 어디서부터 시작해야 하는지도 모름

이 책을 통해 얻고 싶었던 건 단 하나였다. “진짜로 내가 게임 하나 만들어보는 것”

 

 이 책을 통해 얻게되는 건 무엇일까?

나만의 게임을 만들 수 있다는 자신감

책을 보면서 가장 기억에 남는 건 캐릭터가 직접 움직이고 스킬이 발동되는 순간이었다.

특히 자동 스킬 발사 기능을 구현했을 때 진짜로 “아 내가 만들었다”는 느낌이 들었다.

단순한 코드가 아니라 내가 만든 오브젝트가 행동하는 걸 보는 것만큼 재미있는건 없다고 생각한다.

 

만들어보고 끝나는게 아니라 수익화까지 연결시키기

 

실제로 우리가 만든 게임을 빌드하고 출시까지 하는 법도 자세하게 알려주고있다.

게임이다 보니 스팀에서 출시할 수도 있고, 구글 플레이에도 출시할 수 있다.

 

그리고 수익화를 위한 광고 등의 팁도 제공하고 있다.

 

이것만으로 끝내지 말고 조금 더 알아보면 더 좋다

다만 전체적으로 프롬프트 기반으로 진행되다 보니까, 코드 자체에 대한 설명은 부족한 편이다.

그래서 “왜 이렇게 동작하는지”까지 완전히 이해하려면 따로 공부가 필요하다.

 

 

그리고 생각보다 AI만으로 다 되는 건 아니었다. 유니티 내부 설정이나 오브젝트 배치, 애니메이션 같은 부분은 결국 직접 손으로 해야 했다. 이건 오히려 해보면서 느낀 현실적인 부분이었다.

 

그래서 이 책은 유니티를 깊게 배우는 책이라기보다는, 게임 개발을 시작하게 만들어주는 책에 더 가깝다고 느꼈다.

 

실제로 책을 보면서 간단한 기능들을 따라 만들어봤는데,

완벽하게 이해하지 못한 상태에서도 어느 정도 결과물이 나오니까 재미가 붙었다.

 

아직 이걸로 게임을 완성했다고 말하기는 어렵지만,

적어도 “이제는 나도 만들어볼 수 있겠다”는 감각은 확실히 생겼다.

 

그래서 이 책은 게임을 만들어보고 싶었지만 시작을 못 했던 사람,

유니티가 어렵게 느껴졌던 사람한테는 꽤 괜찮은 선택이라고 생각한다.

 

반대로, 유니티를 깊게 공부하거나 코드 구조까지 제대로 이해하고 싶은 사람이라면 이 책만으로는 부족할 수도 있다.

그래도 완벽하게 이해하지 않아도, 일단 만들어볼 수 있다는 경험 그것만으로도 충분히 선택할만 하다.

 

 

참고

유리링님 채널도 한번 들어가보면 다양한 영상을 올리고 계신다. 이미 옛날부터 게임 개발을 소개하고 있었다.

https://www.youtube.com/@GameDesignerYuriring/videos



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
데이터 엔지니어링 디자인 패턴 - 데이터 수집부터 품질, 오케스트레이션, 관찰 가능성까지 반복되는 문제를 해결하는 70가지 패턴 전략
바르토시 코니에치니 지음, 김인범 옮김 / 한빛미디어 / 2026년 1월
평점 :
장바구니담기


"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."

 

 

총평

- 책의 난이도  : ★★★★★
- 추천 별점     : ★★★★★
- 추천 독자     : 데이터 엔지니어링을 고민하고 있는 엔지니어에게
- 지은이         : 바르토시 코니에치니 지음 / 김인범 번역
- 출판사         : 한빛미디어
 


이 책도 난이도 5개 짜리이다... 데이터 엔지니어링을 하는 사람이 아니면 다소 어려울 것 같고,

실질적으로 Best Practice의 패턴을 공부하는 것이기 때문에 현업에서 종사하거나 이쪽 분야로 이직할 생각이 있는 사람에게 추천한다.

 

그게 아니라면 솔직히 이 책을 가지고 입문을 하기에는 어렵지 않나 싶다. (나같은 사람)

 

나는 이 책을 데이터 엔지니어링을 공부해보려고 신청했다. 아무래도 대 AI 시대에서 신규로 생성되는 직군에 데이터 엔지니어링도 반드시 중요한 부분을 차지한다고 생각한다. 기존에 데이터 라벨링만 중심으로 하다가 최근에는 데이터의 수집이나 품질, 관리 등 다양한 부분이 전문적으로 발전되고 있다고 느끼고 있다.

 

대부분 자동화 되고 있기 때문에 이것을 잘 기획하고 설계해야 양질의 값을 얻을 수 있다는 건 이제 당연한 사실이다.

 

 

이 책은 한빛미디어 책의 상세페이지에 보는 것과 같이 문제 -> 해결책 -> 결과 -> 예제  이렇게 패턴을 알려주고 있다. 그래서 읽기가 상당히 편하고 백과사전식처럼 내가 원하는 부분만 보기도 편하게 되어있다. 실질적으로도 굉장히 만족한 부분이다.

 

그리고 목차를 보면 알 수 있듯 데이터 엔지니어링의 대부분 범위(데이터  수집, 흐름, 정렬, 보안 등)를 다루고 있다. 그래서 범용적으로 학습하기도 좋은 책으로 보인다.

 

이 책을 리뷰하기 위해서 열심히 읽었지만 약 3주 간의 시간 동안에는 다 읽기가 역부족이였기 때문에 3장의 오류 관리 디자인 패턴을 여러번 읽어 보았다. (오류 관리가 상당히 중요하다고 생각하기 때문에)

 

오류는 피할 수 없다

이 책에서는 오류는 피할 수 없으며, 이걸 어떻게 해결할지가 더 중요하다고 여러 패턴을 소개하고 있다. 특히 데이터 품질 문제(처리 불가능한 레코드, 중복), 지연 데이터, 그리고 하드웨어 실패 등을 다루는 디자인 패턴을 소개한다. 그 중 2개만 가져와 봤다.

 

① 패턴 #09: 데드 레터 (Dead Letter)

처리할 수 없는 레코드(Unprocessable Records)로 인해 전체 파이프라인이 중단되는 것을 방지하는 패턴이다.

  • 문제: 특정 레코드가 스키마 위반이나 비정상적인 값을 가져 잡(Job)을 중단시킴.
  • 해결책: 실패 지점에 try-catch 등을 사용하여 오류를 포착하고, 해당 레코드를 별도의 '데드 레터 스토리지'에 저장한 뒤 나머지 정상 레코드는 계속 처리함.
  • 구성 요소: 
    • 오류 처리 로직: 실패를 식별하고 메타데이터(실패 이유 등)를 추가.
    • 데드 레터 스토리지: 가용성이 높고 쓰기 성능이 좋은 객체 스토리지나 브로커 사용.
    • 모니터링 계층 : 오류 있는 레코드를 잡이 언제 처리하는지, 얼마나 오류율이 증가하는지 등 파악.
    • 리플레이 파이프라인: 수정된 레코드를 다시 메인 데이터셋으로 통합.
  • 주의할 점 : 리플레이 시 데이터 순서가 뒤바뀔 수 있으며, 다운스트림에 '스노우볼 백필링 효과'를 일으켜 중복 처리를 유발할 수 있음.

② 패턴 #10: 윈도 중복 제거 (Windowed Deduplicator)

데이터가 적어도 한 번 이상(at-least-once) 전달되는 시스템에서 발생하는 중복 문제를 해결한다.

  • 문제: 업스트림의 재시도나 네트워크 장애로 인해 동일한 데이터가 반복적으로 유입됨.
  • 해결책: '상태 스토어(State Store)'를 활용하여 특정 시간 범위(윈도) 내에 이미 처리된 레코드인지 확인.
  • 상태 스토어 유형:
    • 로컬: 빠르지만 실패 시 상태 손실 가능성 있음. (메모리에 상태 존재)
    • 내결함성 로컬: 원격 스토리지에 백업하여 안정성 확보.
    • 원격: 가장 안정적이지만 네트워크 지연 등으로 성능에 영향 있을 수 있음.
  • 결과: 완벽한 중복 제거는 불가능할 수 있음(공간 vs 시간 트레이드오프). 짧은 윈도는 자원을 아끼지만 중복을 놓칠 수 있고, 긴 윈도는 자원을 많이 소모함.

 

데이터 엔지니어링은 단순히 코드를 짜는 게 아니라, '실패를 어떻게 관리하느냐'의 싸움이다.

 

이 책은 단순히 기술 스택(Spark, Flink 등)의 문법을 설명하는 데 그치지 않고, 어떤 상황에서 어떤 구조(Pattern)를 가져가야 시스템이 견고해지는지를 알려준 책이다. 이 패턴들이 여러 분의 고민거리에 큰 도움(해결책)이 되리라 확신한다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
제로클릭 - 클릭의 종말, AI 시대의 생존 전략
손승완 지음 / 길벗 / 2026년 1월
평점 :
장바구니담기


총평

- 책의 난이도  : ★★★☆☆
- 추천 별점     : ★★★★★
- 추천 독자     : AI 시대를 준비하는 모든 마케터들
- 지은이         : 손승완 
- 출판사         : 길벗
 


 

 

 

이 책은 AI 시대에 어떻게 세상이 변하고 있는지에 대해 일부 시각을 느껴볼 수 있는 책입니다. 특히 마케팅에 초점이 맞춰진 책입니다.

'제로클릭'이라는 제목처럼 AI 시대에 사용자는 더 이상 클릭을 하지 않게 될 것이라는 점을 직관적으로 이야기하고 있습니다.

 

이제는 구글/네이버에서 검색하는게 아니라 GPT, Perplexity 등 프롬프트에서 검색어를 입력하기 시작한다는 거죠. 그럼 결국 회사는 사용자들의 클릭을 기대하는게 아니라 LLM이 우리 제품을 선택해주기를 기다려야 한다는 겁니다.


따라서 기존 방식처럼 검색 과정에서 광고가 노출되거나, 사용자가 직접 여러 제품을 나열해 두고 비교하며 정보를 탐색하는 행위가 없어지게 되고, AI 시대의 방식은 비교 분석을 AI에게 맡기기 때문에, 사용자는 자신에게 맞는 제품의 특성을 입력한 뒤 AI가 추천해 주는 1~3위 정도의 결과만 확인하게 됩니다.


이로 인해 승자독식이나 독과점이 발생할 가능성이 매우 높아집니다. 결과적으로 잘 노출되는 한두 개의 제품만 지속적으로 선택받게 되기 때문입니다.

 

그래서 이 책에서도 다음과 같이 3가지 내용을 제시하고 있습니다.

1. 신규 사용자 획득 (UA) 경로의 축소 및 왜곡

2. 부익부 빈익빈 현상의 심화

3. 딥링크의 무력화

 

(참고로 여기서 딥링크란 웹사이트의 특정 페이지로 바로 연결되는 하이퍼링크처럼 모바일 앱의 특정 콘텐츠나 기능으로 사용자를 이동시키는 링크를 말합니다.)
 

그럼 이 책을 통해서 우리가 얻어가는 것은 무엇이냐. 바로 GEO 방법론을 익혀 변화하는 패러다임에 대응한다.

 

GEO(Generative engine Optimization)란, 생성형 AI 최적화를 표현하는 가장 보편적인 단어입니다. 그냥 쉽게말해서 SEO에서 GEO로 변화하고 AI에게 컨텐츠가 노출되기 좋도록 설계하는 방식을 말합니다.

 

이 책에서는 GEO를 높이는 방법으로 스키마 마크업, 오픈API, 실시간 최신 데이터 연동, 콘텐츠 피드화 방식을 말하고 있습니다.

콘텐츠 전략으로는 AQ/Q&A강화, 스키마 구조화, 멀티미디어 활용, EEAT, 최신성, 기관/언론/저자 신뢰도 강화, AI 친화적 포맷(JSON, RSS, API) 제공 하는 방식을 제시하고 있습니다.

 

따라서 AI가 실제로 어떻게 콘텐츠를 이해하고 평가해서 자신의 알고리즘에 넣게될지 우리가 먼저 그 방식을 이해해서 대응할 수 있게 됩니다.

 

AI 콘텐츠를 평가하는 3가지 요소로는 문서자체 품질, 의미연관성, 출처 신뢰도를 명확하게 제시하는 것으로 중요하게 보고 있습니다.

 

AI가 콘텐츠를 선택하는 프레임워크가 있는데 SIFT입니다. 이 SIFT는 4가지 원칙의 앞글자를 알파벳으로 딴건데요.

1. Structure - AI가 읽기 좋은 구조 (즉 리스트와 표 등으로 정리 및 정렬된 구성을 좋아합니다. 단순히 나열형 글은 좋아하지 않아요)

2. Intent Fit - 질문의도와의 적합성 (키워드보다는 실제 의도를 명확하게 제시해주는게 좋습니다. 가이드형이면 가이드를 작성해줘야죠)

3. Fidelity - 팩트 기반의 충실성, 브랜드 엔터티의 선명도 (그 브랜드에 대한 명확한 정체성이 통일화 되어있어야한다는 겁니다. 너무 다방성으로 된 자료들은 오히려 일관성이나 엔터티에 대한 선명도를 줄 일수 있죠)

4. Trust - 출처와 작성자의 신뢰도 (이건 정말 중요한것 같습니다. 모든 평가요소에 들어가 있죠. 단순히 카더라가 아니라 전문적이고 신뢰될 수 있는 의견이여야 합니다.)

 

책을 읽는데 굉장히 정보성 책이라서 노트테이킹 하듯 읽으면서 정리해 보았습니다.

결론적으로 말하자면 GEO 시대가 되면서 AI에게 선택받는 법을 알려주는 책이고, AI가 선택하기 위해서는 신뢰도 및 잘 정리된 포맷의 글이 필요하다는 겁니다. 그에 대한 여러가지 공식들을 알려주는 책이고요. AI가 학습하는 방법을 우리가 익혀보면서 대응해볼 수 있었습니다.

 

그래서 이 책은 마케터들에게 유용한 책이라고 생각되네요. 특히나 SEO를 챙기시는 분이라면 GEO도 같이 공부해서 챙겨보시길 바랍니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
소프트웨어 아키텍처 The Basics - 모던 엔지니어링을 위한 소프트웨어 아키텍처의 모든 것, 제2판
마크 리처즈.닐 포드 지음, 류광.307번역랩 옮김 / 한빛미디어 / 2025년 11월
평점 :
장바구니담기


"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."

총평

- 책의 난이도  : ★★★★★
- 추천 별점     : ★★★★★
- 추천 독자     : 소프트웨어 아키텍처를 고민하고 있는 사람들
- 지은이         : 마크 리처즈, 닐 포드 지음 / 류광, 307번역랩 옮김
- 출판사         : 한빛미디어
 


이 책은 난이도에 별 5개를 준 것처럼 매우 어렵다. 천천히 곱씹으면서 읽어야 한다.

한 페이지, 한 개념마다 멈춰서 생각해야 한다. “나라면 이걸 어떻게 설계할까?”, “우리 서비스에 이 개념을 그대로 적용할 수 있을까?”

이 질문을 계속 던지면서 읽어야 한다.

 

특히 내용이 워낙 방대하고, 다양한 아키텍처 스타일 예시를 제공한다.

- 계층형 아키텍처 스타일 (10장)

- 모듈형 모놀리스 아키텍처 스타일 (11장)

- 파이프라인 아키텍처 스타일 (12장)

- 마이크로커널 아키텍처 스타일 (13장)

- 서비스 기반 아키텍처 스타일 (14장)

- 이벤트 주도 아키텍처 스타일 (15장)

- 공간기반 아키텍처 스타일 (16장)

- 오케스트레이션 주도 서비스 지향 아키텍처 (17장)

- 마이크로서비스 아키텍처 (18장)

 

이렇게 9개의 세부적인 아키텍처 까지 제시하고 있어 사실 모든 것을 읽는 것은 힘들다.

나도 이 중에서 관심이 제일 많고 친숙한(?) 15장의 이벤트 주도 아키텍처 스타일로 내용을 작성해보겠다.

다만 책의 내용을 전부 요약하기에는 아직 이해도가 많이 부족하여 핵심으로 눈에 들어오는 몇개만 적어봤다.

 

이벤트 주도 아키텍처

이벤트 주도 아키텍처(EDA)는 현대적인 소프트웨어 엔지니어링에서 가장 인기 있는 분산 비동기 아키텍처 스타일이다. 대규모 복합 애플리케이션부터 소규모 서비스까지, 높은 적응성을 제공한다.

비동기적으로 이벤트를 발생시키고 이에 반응하는 컴포넌트들로 구성되어 있다. 대부분의 애플리케이션은 "데이터를 달라"고 요청하는 요청 기반(Request-based) 모델을 따르지만, 이벤트 주도 아키텍처는 "어떤 일이 일어났다"는 이벤트에 반응하여 행동을 취한다.

 

이벤트 주도 아키텍처는 제어 방식에 따라 크게 두 가지 형태로 나뉜다.
1) 브로커(Broker) 토폴로지: 중앙 집중식 제어 없이, 이벤트가 브로커를 통해 흘러가며 각 처리기가 비동기적으로 반응하는 방식이다. "발사 후 망각(fire-and-forget)" 방식을 활용해 매우 높은 응답성을 제공한다.
2) 중재자(Mediator) 토폴로지: 이벤트 중재자가 전체적인 작업 흐름을 관리하고 통제한다. 복잡한 비즈니스 로직이나 오케스트레이션이 필요할 때 적합하다.

 

이벤트에 어떤 내용을 담을지 이벤트 페이로드(Payload)를 설계하는 것은 매우 중요하다.
• 데이터 기반(Data-based): 필요한 모든 정보를 담아 보낸다. 처리기는 DB를 조회할 필요가 없어 성능에 유리하지만, 데이터 일관성 유지와 대역폭 사용량 증가라는 단점이 있다.
• 키 기반(Key-based): ID 같은 최소한의 정보만 보낸다. 일관성 유지가 쉽지만, 처리기가 매번 DB를 조회해야 하므로 성능에 부하를 줄 수 있다.
 

우리가 피해야 할 안티패턴에는 이런 것들이 있다. 

• 빈혈성 이벤트(Anemic Event): 페이로드에 정보가 너무 부족해 처리기가 의사결정을 내릴 수 없는 상태를 말한다.
• 하루살이 떼(Swarm of Gnats): 너무 세분화된 파생 이벤트를 수 없이 발생시켜 시스템이 포화되고 흐름을 파악하기 어렵게 만드는 현상을 말한다.

 

결국 이래저래 종합하면 이벤트 주도 아키텍처는 성능, 확장성, 내결함성이 뛰어나다는 이점이 있지만 비동기 통신의 특성상 테스트가 어렵고, 전반적인 상태 관리가 복잡하다는 단점이 있어 이를 서로 잘 조율하는게 가장 중요한게 아닌가 싶다.

 

 

총평

이 책은 처음부터 끝까지 독자에게 답을 떠먹여주지 않는다. 대신 계속 질문을 던진다.

  • 우리는 무엇을 만들고 있는가
  • 이 시스템은 누구를 위한 것인가
  • 이 구조는 정말로 확장 가능한가, 아니면 지금만 돌아가는 구조인가

단순히 이러한 장점이 있다고 전달하는게 아니라 왜 그렇게 설계해야 하는지를 구체적으로 다뤄주는 책이다.

아키텍처 설계에 고민이 많은 개발자라면 꼭 한 번 읽어보시길 바란다!



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo