Conversation
Added chapters 10 to 12 discussing architecture trade-offs, distributed data access, workflow management, and transactional sagas.
|
우측에 있는 |
Summary of ChangesHello, 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은 '소프트웨어 아키텍처의 기초 2판'의 10장부터 12장까지의 내용을 바탕으로 분산 시스템 아키텍처의 핵심 개념들을 추가합니다. 분산 데이터 액세스 전략, 분산 워크플로 관리 방식(오케스트레이션과 코레오그래피), 그리고 트랜잭셔널 사가 패턴의 실제 적용 사례와 장단점을 심도 있게 다룹니다. 또한, 사가 기반 아키텍처에서 분산 트랜잭션을 효과적으로 디버깅하고 추적하는 방법에 대한 실용적인 해결책을 제시하여, 복잡한 분산 환경에서의 시스템 설계 및 운영에 대한 이해를 높이는 데 기여합니다. Highlights
🧠 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
Activity
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this comment.
Code Review
새로 추가된 10장부터 12장까지의 내용은 아키텍처 트레이드오프, 분산 데이터 액세스, 워크플로 관리, 트랜잭셔널 사가에 대한 저자님의 깊이 있는 이해와 경험을 잘 보여줍니다. 각 패턴에 대한 설명과 실제 시스템에서의 적용 사례를 통해 독자들이 개념을 명확히 이해하는 데 큰 도움이 될 것입니다. 특히, 논의사항과 '내 생각' 섹션은 실무적인 관점에서 중요한 질문들을 던지고 해결책을 제시하여 매우 유용합니다. 몇몇 용어의 명확성과 설명의 구체성을 높이면 더욱 완성도 높은 문서가 될 것입니다.
Note: Security Review has been skipped due to the limited scope of the PR.
|
|
||
| 추가적으로 성능을 개선하고 싶다면 `item_desc` API를 제공하는 서비스에서 IDC별 topology를 활용하여 네트워크 지연(latency)을 줄이는 방법도 고려할 수 있을 것 같다. | ||
|
|
||
| 결론적으로 위의 방법은 **서비스 간 통신 패턴과 복제 캐싱 패턴을 혼합한 구조**라고 볼 수 있으며, `item_desc`와 같이 변경이 드문 데이터라면 **스키마 복제 패턴(schema replication)**을 적용하는 것이 가장 적절하다고 생각한다. |
There was a problem hiding this comment.
현재 문맥(item_desc, 캐싱)에서 '스키마 복제 패턴'은 데이터의 복제를 의미하는 것으로 보입니다. '스키마 복제'는 데이터베이스 스키마 자체의 복제를 연상시킬 수 있어 오해의 소지가 있습니다. '데이터 복제 패턴'과 같이 더 명확한 용어를 사용하거나, 해당 패턴이 데이터 복제를 의미함을 명확히 설명하는 것이 좋습니다.
| 결론적으로 위의 방법은 **서비스 간 통신 패턴과 복제 캐싱 패턴을 혼합한 구조**라고 볼 수 있으며, `item_desc`와 같이 변경이 드문 데이터라면 **스키마 복제 패턴(schema replication)**을 적용하는 것이 가장 적절하다고 생각한다. | |
| **데이터 복제 패턴(data replication)**을 적용하는 것이 가장 적절하다고 생각한다. |
| ### 5. 판타지 픽션 사가 | ||
| 현재 사용하고 있는 에픽 사가의 성능을 개선하기 위해 일부 단계들을 병렬로 처리하는 방식으로 확장할 수 있을 것 같다. | ||
|
|
||
| ### 6. 호러 스토리 패턴 |
There was a problem hiding this comment.
| 이름 그대로 실제 운영 환경에서는 피해야 할 패턴이라고 생각한다. | ||
|
|
||
| ### 7. 패러렐 사가 | ||
| 책에서 설명한 것처럼 에픽 사가의 성능 문제를 해결할 수 있는 패턴이다. 다만 비동기 기반이기 때문에 상대적으로 중요도가 낮은 작업에 적용하는 것이 적절할 것 같다. 하지만 패러렐 사용할 바에는 앤솔로지 사용하는게 낫지 않을까 하는 생각이 든다. |
There was a problem hiding this comment.
패러렐 사가보다 앤솔로지 사가를 선호하는 이유에 대한 추가적인 설명이 있다면 독자들이 두 패턴의 장단점을 비교하고 이해하는 데 더 도움이 될 것입니다. 예를 들어, 앤솔로지가 이벤트 기반으로 더 유연하게 확장 가능하며 각 서비스의 독립성을 더욱 보장할 수 있다는 점 등을 언급할 수 있습니다.
| 책에서 설명한 것처럼 에픽 사가의 성능 문제를 해결할 수 있는 패턴이다. 다만 비동기 기반이기 때문에 상대적으로 중요도가 낮은 작업에 적용하는 것이 적절할 것 같다. 하지만 패러렐 사용할 바에는 앤솔로지 사용하는게 낫지 않을까 하는 생각이 든다. | |
| 하지만 패러렐 사용할 바에는 앤솔로지 사용하는게 낫지 않을까 하는 생각이 든다. 앤솔로지는 이벤트 기반으로 유연하게 확장 가능하며, 각 서비스의 독립성을 더욱 보장할 수 있기 때문입니다. |
|
|
||
| ## 내 생각 | ||
|
|
||
| 1. 각 요청에 대해 `requestUuid`와 같은 **Correlation ID**를 생성하여 모든 서비스 로그에 전달하고, 이를 기반으로 전체 트랜잭션 흐름을 추적할 수 있다. |
There was a problem hiding this comment.
문서 전체가 한국어로 작성되어 있으므로, 'Correlation ID'와 같은 영어 용어에 대해 한국어 번역(예: '연관 ID')을 함께 표기하거나, 처음 등장할 때 간략하게 설명해주면 독자의 이해를 높이는 데 도움이 될 것입니다.
| 1. 각 요청에 대해 `requestUuid`와 같은 **Correlation ID**를 생성하여 모든 서비스 로그에 전달하고, 이를 기반으로 전체 트랜잭션 흐름을 추적할 수 있다. | |
| 1. 각 요청에 대해 requestUuid와 같은 **연관 ID(Correlation ID)**를 생성하여 모든 서비스 로그에 전달하고, 이를 기반으로 전체 트랜잭션 흐름을 추적할 수 있다. |
Added chapters 10 to 12 discussing architecture trade-offs, distributed data access, workflow management, and transactional sagas.