gRPC 실무에서 질문
이제 앞으로 3개만 더 들으면 완강이네요! 빠르게 gRPC를 공부할수 있어서 좋았습니다. 강의를 마무리해가니 궁금한 점이있어 질문 남깁니다.
마이크로서비스가 1000개 이상되는 회사에서 데이터팀 백엔드 인턴으로 근무를 할 예정인데 데이터팀이다 보니 서비스들 전체를 아우르는 일을 해야한다고 들었습니다. 그래서 gRPC에 대해서 공부해오면 좋다고 해서 강의를 수강하게 되었습니다. 처음에 회사에 들어가면 어떤식으로 서비스들의 gRPC를 분석해야할까요? 혹시 추천해주시는 순서가 있으실까요? 예를 들어서 .proto파일을 먼저 확인한다 -> 등등
성공적인 백엔드 인턴을 위해서 추가적인 조언이 있으시다면 감사하겠습니다.
Câu trả lời 2
0
안녕하세요 IwantKtor님 질문 남겨주셔서 감사합니다. 우선 대규모의 서비스를 운영하는 회사인가보네요 축하드립니다!!
분석에 대한 순서를 말씀해주셨는데, 일단 가장 대표적인거는 .proto 파일 분석입니다. 사실상 중앙화된 proto 레포가 어디에 있는지 파알하는것이 우선적일꺼같아요. 그리고 데이터팀이기 떄문에 사실상 모든 서비스를 보실필요는 없어요. 필요한 데이터만 보시면 될꺼같아요.
이벤트 및 로그 생성 서비스 주체
데이터 파이프라인에 붙어있는 서비스 위주로
어차피 입사하시면 초기 서비스 구성도를 설명해주시니 이 과정에서 가장 대량의 처리를 담당하거나 코어 레벨로써 관리가 되는 서비스를 물어보시면 될 꺼 같습니다.
추가로 Wiki라던지 문서들 한번 쭉 읽어보시는것도 방법입니다.
.proto 파일을 읽어보시는 순서도 아시면 좋기는 한데, 사실상 명확하게 어떤 역할을 하는지 해당 파일에서 잘 관리가 되어있을 확률이 높습니다. 그러기 때문에 proto 파일에서 Server 블록을 위주로 보시면 좋지 않을까 싶어요.
근데 사실 실제로 사용이 되는지는 모르는거죠. 그래서 트래픽이 실제로 동작을 하는지도 같이 확인해보시면 좋을꺼같습니다.
grpcCurl을 활용하시면 좋을꺼같네요.
0
안녕하세요, 인프런 AI 인턴입니다. IwantKtor님.
gRPC를 학습하고 실무에 적용하기 위한 준비를 하고 계시군요. gRPC는 고성능 서비스를 위한 강력한 도구이기 때문에 마이크로서비스 환경에서 널리 사용됩니다. 데이터팀에서의 역할을 고려할 때, 다음과 같은 방식으로 접근하는 것이 좋습니다:
.proto 파일 확인: 모든 gRPC 서비스는 .proto 파일을 통해 인터페이스를 정의하고 있습니다. 이 파일을 통해 각 서비스에서 제공하는 RPC 메소드를 이해하고 데이터 구조를 파악할 수 있습니다. 서비스의 인터페이스가 어떻게 설계되어 있는지, 어떤 메시지가 오고 가는지를 파악하는 것이 첫 번째 단계입니다.
서비스 간의 의존성 파악: gRPC 호출이 여러 서비스 간에 어떤 식으로 연결되는지 이해하는 것이 중요합니다. 각 서비스의 역할과 기능을 이해하고 그들 간의 호출 관계를 분석하세요. 이를 통해 전체 아키텍처를 파악할 수 있습니다.
gRPC 호출 모니터링 및 로깅 검토: 서비스 호출 시 모니터링 및 로깅이 어떻게 이루어지고 있는지 확인하세요. 성능 및 오류 모니터링은 안정적인 서비스 운영에 중요합니다.
Load Testing: gRPC의 성능을 직접 테스트해보세요. 실제로 서비스 요청을 모의 테스트 함으로써 병목현상이 발생하는 부분을 파악할 수 있습니다.
보안 및 인증 프로토콜: 클라이언트와 서버 간의 신뢰성을 확보하기 위해 인증 및 보안 프로토콜(TLS/SSL)을 이해해야 합니다. 특히 민감한 데이터를 다루는 경우 보안은 필수입니다.
성공적인 인턴십을 위해서는 협업 툴(JIRA, Confluence 등) 활용 능력도 중요합니다. 팀 내 커뮤니케이션을 원활히 하고, 백엔드 시스템에 관한 문서를 참조하면서 문제를 해결해 나가는 것이 좋습니다.
관련 강의 및 자료
- gRPC 실무 심화 - gRPC를 심도 있게 다루는 강의로, 실무 적용 시 도움이 될 수 있습니다.
인턴십에서의 성공은 새로운 것을 배우고 팀과의 원활한 협력에 달려 있습니다. 문제 해결에 주도적으로 참여하고 피드백을 적극적으로 받아들이는 자세가 중요합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
라이브 운영중인 환경의 테이블에 인덱스 추가시 고려사항
0
18
2
user-service jwt
0
27
2
애그리거트 질문있습니다!
0
21
2
DDD 는 마이바티스와 잘 맞지 않는건가요?
0
38
1
스프링부트 버전 문의드립니다.
0
28
1
Json 요청 처리
1
26
2
다양한 관점의 코드 경험을 위해 개선하지 않은 코드
1
41
1
Orchestration SAGA 패턴 보상에 대한 질문입니다.
0
46
2
[건의][6장][작전1] deprecated 메소드
1
42
2
[예제][3장][작전2] windows 에서 마지막 예제
0
35
1
6강 - 해시태그 모델의 샤딩 전략에 대하여, 분산 정도(데이터 편중)와 트랜잭션 성능의 trade off 상황 발생 시에 대한 고민
0
35
2
31강 이미지내용에 틀린 부분이 있는 것 같습니다.
0
41
2
ProductOption을 통한 FindProductOption에 관한 질문
1
39
2
상수에 관련해서 질문있습니다.
1
38
2
23강 문제4 질문드립니다.
0
41
2
histories() 응답에 PointHistory.id를 포함한 이유가 궁금합니다/
1
35
2
2. Kafka 설치 파일 다운받기 404 Not Found 오류 관련
0
55
2
S3 예상 기출 3번
0
47
1
SettlementTargetRepository Jquery 질문
1
40
2
33강 3번 문제 D번 질문
0
44
1
22강 강의 영상 문의 드립니다.
0
45
2
부가 기능을 이벤트 핸들러로 분리하는 기준이 있을까요?
1
52
2
아래 위치에 동영상이 보이지 않습니다.
0
51
1
명령어 오류가 있으신 분들 저는 이렇게 해결했어요!
0
66
1

