Skip to content

소프트웨어 아키텍처 the hard parts sprint 3 - 김종필#601

Open
jongfeel wants to merge 4 commits intomainfrom
598-소프트웨어-아키텍처-the-hard-parts-sprint-3-chapter-6-7-총-95페이지-2026-02-06

Hidden character warning

The head ref may contain hidden characters: "598-\uc18c\ud504\ud2b8\uc6e8\uc5b4-\uc544\ud0a4\ud14d\ucc98-the-hard-parts-sprint-3-chapter-6-7-\ucd1d-95\ud398\uc774\uc9c0-2026-02-06"
Open

소프트웨어 아키텍처 the hard parts sprint 3 - 김종필#601
jongfeel wants to merge 4 commits intomainfrom
598-소프트웨어-아키텍처-the-hard-parts-sprint-3-chapter-6-7-총-95페이지-2026-02-06

Conversation

@jongfeel
Copy link
Member

@jongfeel jongfeel commented Feb 4, 2026

NOTICE

다들 pull request의 제목을 주차로 적었는데 저희 모임은 2주 간격으로 진행됩니다.
따라서 산술적으로는 이번이 6주차가 맞는데 주차로 적으실 분은 그렇게 해도 되고 저는 sprint라는 단위를 쓰는게 좋다고 봐서 sprint로 바꿔서 쓰겠습니다.

Review

이번에도 여러 데이터베이스의 특성에 대해 알 수 있는 시간도 가져보고
마이크로 서비스라고 서비스를 무작정 나누지 말고 어떤 요인으로 나누고 통합해야 하는지 분석하는 방법을 또 친절하고 쉽게 알려줘서 이번에도 큰 감동을 받았습니다.
지금 새벽시간인데도 책을 끝까지 읽고 읽었던 내용을 다시 생각하게 만드는 힘이 있는 좋은 책인 것 같습니다.

@jongfeel jongfeel self-assigned this Feb 4, 2026
@jongfeel jongfeel added 2026 Software Architecture: The Hard Parts 소프트웨어 아키텍처: The Hard Parts, 분산 아키텍처를 위한 모던 트레이드오프 분석 labels Feb 4, 2026
@github-actions
Copy link

github-actions bot commented Feb 4, 2026

우측에 있는 Projects, Milestone, Development를 확인 후 할당 해주세요~! 🙇

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @jongfeel, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 PR은 "소프트웨어 아키텍처 the hard parts 2판"의 6장과 7장에 대한 저자의 요약 및 리뷰 노트를 추가합니다. 이 노트들은 데이터베이스 특성, 도메인 주도 설계의 바운디드 컨텍스트의 미묘한 차이, 그리고 마이크로서비스 아키텍처에서 서비스 세분도를 결정할 때 객관적인 기준의 중요성을 깊이 있게 다룹니다. 저자는 또한 각 장에서 얻은 개인적인 통찰력과 논의 주제를 공유합니다.

Highlights

  • Chapter 6 리뷰 노트 추가: 데이터베이스 특성과 도메인 주도 설계의 '경계 콘텍스트' 개념에 초점을 맞춘 6장 리뷰 노트가 추가되었습니다.
  • Chapter 7 리뷰 노트 추가: 서비스 세분화 및 분해를 위한 객관적인 기준의 중요성을 강조하는 7장 리뷰 노트가 추가되었습니다.
  • 용어 정의 논의: 도메인 주도 설계에서 '경계 콘텍스트'와 '제한된 콘텍스트' 용어의 미묘한 차이에 대한 논의가 포함되었습니다.
  • 개인적인 경험 공유: 명확하지 않은 바운디드 컨텍스트로 인해 서비스 분해에 어려움을 겪었던 개인적인 경험이 공유되었습니다.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • 2026/Fundamentals_of_Software_Architecture_2nd_Edition/jongfeel/Chapter6_Pulling_Apart_Operational_Data.md
    • 6장 요약 및 리뷰 내용 추가
    • 에릭 에반스의 도메인 주도 설계에서 '경계 콘텍스트' 개념에 대한 논의 포함
    • 데이터베이스 'synonym' 용어에 대한 설명 추가
  • 2026/Fundamentals_of_Software_Architecture_2nd_Edition/jongfeel/Chapter7_Service_Granularity.md
    • 7장 요약 및 리뷰 내용 추가
    • 서비스 세분도 결정에 있어 객관적 기준의 중요성 강조
    • 서비스 분해 및 통합에 대한 개인적인 경험과 논의 주제 제시
Activity
  • PR 작성자 jongfeel이 "소프트웨어 아키텍처 the hard parts" 책의 6장과 7장에 대한 새로운 리뷰 노트를 추가했습니다.
  • 현재까지 추가적인 댓글이나 리뷰 활동은 없습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

안녕하세요, 김종필님. PR 잘 보았습니다. '소프트웨어 아키텍처 the hard parts' 6장과 7장에 대한 리뷰를 추가하셨네요. 책의 내용을 깊이 있게 이해하고 자신의 경험과 연결하여 정리한 점이 인상적입니다. 특히 서비스 분해 및 통합에 대한 객관적인 기준의 필요성을 강조하고, 과거 경험을 공유해주신 부분이 다른 분들에게도 큰 도움이 될 것 같습니다. 문서의 완성도를 높이기 위해 몇 가지 개선점을 제안드립니다.

Comment on lines +7 to +8
- https://github.com/jongfeel/BookReview/issues/1612#issuecomment-3831102227
- https://github.com/jongfeel/BookReview/issues/1612#issuecomment-3841314191
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

7장(Service Granularity) 리뷰 파일에 6장(Pulling Apart Operational Data)의 리뷰 코멘트 링크(issue/1612)가 포함되어 있습니다. 이 파일의 주제인 7장 리뷰에 해당하는 issue/1615의 코멘트 링크로 수정하여 내용의 일관성을 높이는 것을 제안합니다.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I missed it.

Comment on lines 20 to 23
서비스 세분도의 분해인, 통합인의 쉽고 이해할 수 있는 설명에 감동받아
과거 서비스의 세분도를 떠올려 봤을 때 이 책에서 설명한 분해인, 통합인에 해당됐던 것들이 있는지 얘기해 보면 좋을 것 같습니다.

저의 경우는 인프라 관련 횡단 기능인 API 공통 로직에 비즈니스적인 요구사항의 기능을 조금씩 넣었고 그걸 계속 하나의 서비스로 유지했다가 나중에 분리하려고 하면서 이 책에서 설명하는 경계 콘텍스트를 나누지 못해 결국 분리를 하지 못한 경험이 있습니다. No newline at end of file
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

책에 있는 모든 세분도 분해인을 직간접적으로 경험을 해보았는데, 그 중 일부만 소개드리면 아래와 같습니다


이전에 라이더 도메인 서버를 만들면서, 라이더의 배달을 전담하는 서버(A)와 라이더의 배달을 제외한 모든 것(정산, 입직, 보험처리, 운영업무 등)을 처리하는 서버(B)를 분리한적이 있었습니다

책에 나와있는 세분도 분해인의 기준으로볼 때, 확장성/처리량, 내고장성 과 관련이 있다고 말할 수 있을거 같습니다

확장성/처리량 의 측면

  1. B의 경우, 배달 외의 모든 도메인을 처리하기 때문에, 도메인 단위 확장을 고려해야 합니다
  2. A는 운행하는 라이더의 수가 늘어날 수록 영향을 받기 때문에, 트래픽 양상이 유동적 입니다. 반면에 B의 경우는 라이더의 운행과 상관없이 특정 도메인의 비즈니스 규칙에 따라 트래픽 양상이 상대적으로 덜 유동적 입니다

내고장성의 측면

  1. A의 경우 실시간적으로 라이더가 배달을 할 때 요청을 받는 서버이고, 이 배달을 무사히 완료하는게 회사의 수익과 직결하기 때문에 매우 크리티컬하다고 볼 수 있습니다. 반면에 B의 경우는 회사 내부 운영자 향 관리 및 외부사와 연동을 목적으로 하기 때문에, 상대적으로 덜 실시간적이고, 덜 크리티컬하다고 볼 수 있습니다. 이처럼 A와 B는 비즈니스 임팩트 측면에서 차이가 있기에 B의 어떤 기능으로 인해서 A가 영향을 받는 다면 비즈니스에 큰 타격을 입을 수 있기에, 내고장성을 고려하여 A,B를 나누었습니다

jongfeel and others added 2 commits February 6, 2026 12:35
…l/Chapter6_Pulling_Apart_Operational_Data.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…l/Chapter7_Service_Granularity.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
### 논의 주제

서비스 세분도의 분해인, 통합인의 쉽고 이해할 수 있는 설명에 감동받아
과거 서비스의 세분도를 떠올려 봤을 때 이 책에서 설명한 분해인, 통합인에 해당됐던 것들이 있는지 얘기해 보면 좋을 것 같습니다.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

서로 다른 경로의 화면이지만 겹치는 로직 (공통 코드) 이 많고 레이아웃이 똑같아서 같은 서비스로 묶어서 개발했다가

기능이 복잡해짐에 따라 각 화면별 예외처리가 늘어나면서 결국 거대 모놀리스 덩어리가 된 적이 있습니다

지금 돌이켜보니 한두개의 통합인만 바라보고 통합하면 나중에 피본다는 귀중한 경험을 했네요

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2026 Software Architecture: The Hard Parts 소프트웨어 아키텍처: The Hard Parts, 분산 아키텍처를 위한 모던 트레이드오프 분석

Projects

None yet

Development

Successfully merging this pull request may close these issues.

<소프트웨어 아키텍처 The Hard Parts> sprint 3, chapter 6, 7, 총 95페이지, 2026-02-06

3 participants