대다수의 사람들이 Go언어를 배우는 이유에는 도커나 쿠버네티스, 테라폼과 같은 분산 서비스 구축이라고 생각합니다.
이번에 나온 따끈따끈한 신간으로 분산서비스를 공부해봐요!!
쿠버네티스로 배포할 수 있는 실력을 얻을 수 있습니다.
- Golang으로 네트워크 공부하기
- Golang으로 분산 서비스 구축하기
Golang을 겉햝기는 했지만 본격적으로 이것저것 해보지 않은 분들!!
1.2 프로젝트 환경 설정하기 5
1.3 커밋 로그 프로토타입 만들기 6
1.4 HTTP의 JSON 만들기 7
1.5 서버 실행하기 10
1.6 API 테스트하기 11
1.7 마치며 12
CHAPTER 2 프로토콜 버퍼와 구조체 13
__2.1.1 일관된 스키마 15
__2.1.2 버전 관리 제거 15
__2.1.3 줄어드는 보일러플레이트 코드 16
__2.1.4 확장성 16
__2.1.5 언어 불가지론 16
__2.1.6 성능 16
2.2 프로토콜 버퍼 컴파일러 설치하기 16
2.3 프로토콜 버퍼로 도메인 자료형 정의하기 18
2.4 프로토콜 버퍼 컴파일하기 19
2.5 생성한 코드를 이용하여 작업하기 21
2.6 마치며 22
CHAPTER 3 로그 패키지 작성 23
3.2 로그의 작동 원리 25
3.3 로그 만들기 26
__3.3.1 스토어 만들기 26
__3.3.2 인덱스 만들기 32
__3.3.3 세그먼트 만들기 38
__3.3.4 로그 코딩하기 44
3.4 마치며 54
CHAPTER 4 gRPC 요청 처리 57
4.2 서비스를 만들 때의 목표 58
4.3 gRPC 서비스 정의하기 60
4.4 gRPC 플러그인으로 컴파일하기 62
4.5 gRPC 서버 구현하기 62
__4.5.1 gRPC의 에러 처리 65
__4.5.2 인터페이스를 이용한 의존관계 역전 70
4.6 서버 등록하기 71
4.7 gRPC 서버와 클라이언트 테스트하기 71
4.8 마치며 76
CHAPTER 5 서비스 보안 78
__5.1.1 주고받는 데이터의 암호화 79
__5.1.2 클라이언트 인증 80
__5.1.3 클라이언트 권한 81
5.2 TLS로 서버 인증하기 81
__5.2.1 CFSSL로 나만의 CA 작동하기 81
5.3 TLS 상호 인증으로 클라이언트 인증하기 90
5.4 ACL로 권한 부여하기 92
5.5 마치며 104
CHAPTER 6 시스템 관측 105
__6.1.1 메트릭 106
__6.1.2 구조화 로그 107
__6.1.3 트레이스 108
6.2 서비스를 관측 가능하게 만들기 109
6.3 마치며 116
CHAPTER 7 서버 간 서비스 디스커버리 119
7.2 서비스 디스커버리 넣어주기 120
7.3 서프를 이용한 서비스 디스커버리 122
7.4 디스커버드 서비스의 요청과 로그 복제 130
7.5 디스커버리와 종단 간 서비스의 테스트 142
7.6 마치며 146
CHAPTER 8 합의를 통한 서비스 간 조율 148
__8.1.1 리더 선출 149
__8.1.2 로그 복제 150
8.2 서비스에 래프트 구현하기 151
__8.2.1 래프트 설정 153
__8.2.2 로그 API 157
__8.2.3 유한상태 머신 159
__8.2.4 스트림 계층 165
__8.2.5 디스커버리 통합 167
__8.2.6 분산 로그 테스트 170
8.3 하나의 포트에서 여러 서비스를 실행하는 다중화 173
8.4 마치며 180
CHAPTER 9 클라이언트 측 서버 디스커버리와 로드 밸런싱 181
9.2 gRPC 클라이언트 측 로드 밸런싱 182
9.3 서버를 찾을 수 있게 만들기 184
9.4 서버 정보 가져오기 188
9.5 피커로 요청 경로를 정하고 밸런스 잡기 195
9.6 디스커버리와 밸런싱 종단 간 테스트 200
9.7 마치며 202
미리 읽고 오세요.
이영빈
#Golang #고퍼가 되고 싶은 초급 고랭이
자기 소개 및 개설 동기
안녕하세요 모두의연구소 이영빈입니다.
저번 풀잎때 Golang에 대한 기초적인 내용을 진행했는데 이번에는 Golang 분산 서비스를 익힐 예정입니다!!
같이 함께 해요!!
소속
모두의연구소
풀잎스쿨 / LAB 참여 이력
AI Story LAB 랩짱
JAX/Flax LAB 랩짱
풀잎32기 경제학 책을 읽으면서 공부해요 - 힘든 시대를 위한 좋은 경제학 퍼실
풀잎28기 경제학을 책을 읽으면서 공부해요 - 경제학자의 시대 퍼실
풀잎25기 분산서비스해볼Lang? 고랭(Golang)! 퍼실
풀잎22기 못먹어도 GoGo 퍼실
풀잎19기 경제학을 책을 읽으면서 공부해요!! 퍼실
풀잎18기 CS182로 딥러닝 Deep하게 찍먹하기 퍼실
풀잎17기 cs182로 딥러닝 찍먹하기 퍼실
풀잎40기 Go로 웹 애플리케이션을 만든다Go? 참여
풀잎39기 Trustworthy AI 최신 연구 및 서비스 분석 참여
풀잎36기 경제학 책을 읽으면서 공부해요 - 21세기 통화정책, 금리의 역습 참여
풀잎19기 구글을 미치게 만드는 글쓰기 참여
풀잎17기 NLP with HuggingFace 참여
풀잎16기 구글 애널리틱스를 이용한 그로스해킹 첫걸음 참여
풀잎16기 딥 러닝을 연구하는 모두를 위한 Pytorch 논문 구현: Deep Generative Models부터 Vision Transformer까지! 참여
풀잎15기 MLOPs 참여
풀잎15기 슬로우페이퍼 10기 온라인 참여
풀잎스쿨은 학원식 강의가 아닌, 플립러닝(flipped learning) 방식으로 참여자들이 함께 만들어 나가는 스터디 모임이에요. 따라서 출석과 사전 학습을 성실히 수행하고, 공부한 것을 함께 나눌 의지가 있으시다면 그 어디보다 많은 것을 얻어가실 수 있답니다!
Q. '퍼실이'는 누구인가요?
퍼실이는 함께 공부하는 스터디 리더예요. 강사가 아니어서 강의를 하지는 않지만, 커리큘럼을 기획하고 모임을 진행한답니다. 선의와 공유의 마음으로 기꺼이 지원해 모임을 이끌어 주시는 만큼, 퍼실이와 함께 따뜻한 모임을 함께 만들어 주세요. :)
부득이하게 모임 참석이 어렵거나 모임에 늦는 경우처럼, 원활한 참여가 어려운 경우에는 퍼실이가 미리 인지하고 준비하실 수 있도록 반드시 알려주세요!
Q. 사회적 거리두기 단계에 따라 안전하게 진행되나요?
모두의연구소는 사회적 거리두기 단계별 방역 조치를 지켜, 모든 연구원들이 안전한 환경에서 편안히 활동하실 수 있도록 노력하고 있습니다.
오프라인 모임 또한 사회적 거리두기 단계별 방역 조치에 따라 온라인으로 진행될 수 있습니다. 다만, 방역 조치상 오프라인 모임이 가능한 경우 오프라인 진행을 원칙으로 합니다. 추가적으로, 모임의 질을 위해 온•오프라인 병행은 '지양'하고 있습니다.
풀잎스쿨에는 온라인으로 진행되는 다양한 과정이 있답니다. 시간적•거리적 제약으로 오프라인 참여가 어려우신 분들은 온라인 과정을 주목해 주세요! :)
Q. 온라인 모임에 참여할 때 캠과 마이크를 반드시 켜야 하나요?
네. 모두의연구소는 연구원 분들이 최적의 환경에서 학습과 연구에 몰입하실 수 있는 환경 조성을 최우선으로 하고 있습니다. 따라서, 온라인 모임 시에는 토론과 질문이 빈번한 학습 환경에서의 몰입과 매끄러운 진행을 위해, 반드시 캠과 마이크를 켜서 대화에 참여하도록 안내하고 있습니다.
캠과 마이크를 켤 수 없는 경우에는 아쉽지만 참여를 제한하고 있으니, 반드시 캠과 마이크 기능이 포함된 도구를 준비해 주세요. 원활한 의사소통을 위해 자택 등의 조용한 공간에서 참여해 주시면 감사드리겠습니다.
환불 신청은 홈페이지 상단의 “문의글 작성” 에서 가능합니다.
모임시작
2022년 11월 16일
모임일시
매주 수요일 19:30 ~ 21:30
모임장소
온라인캠퍼스
모집기간
2022년 10월 31일 ~ 11월 13일
모집인원
8명
모집방법
신청 후 선발
165,000원 / 총 11회 24시간
(7,500원 / 시간)
📢 브라우저 창이나 탭을 동시에 한 개 이상 열어서 모임을 신청하는 경우 결제 오류가 발생할 수 있으니 하나씩 신청 부탁드려요!
모집 마감된 모임의 경우 '공석 알림 신청'을 해주시면, 추후 취소하는 참여자가 있는 경우에 이메일로 알림을 보내드립니다.
"모임이 더 궁금하다면 모두의연구소 커뮤니티 채널 #04_풀잎스쿨 에서 퍼실이에게 직접 질문할 수 있어요!"
모임시작
2022년 11월 16일
모임일시
매주 수요일 19:30 ~ 21:30
모임장소
온라인캠퍼스
모집기간
2022년 10월 31일 ~ 11월 13일
모집인원
8명
모집방법
신청 후 선발
165,000원 / 총 11회 24시간
(7,500원 / 시간)
📢 브라우저 창이나 탭을 동시에 한 개 이상 열어서 모임을 신청하는 경우 결제 오류가 발생할 수 있으니 하나씩 신청 부탁드려요!
모집 마감된 모임의 경우 '공석 알림 신청'을 해주시면, 추후 취소하는 참여자가 있는 경우에 이메일로 알림을 보내드립니다.
"모임이 더 궁금하다면 모두의연구소 커뮤니티 채널 #04_풀잎스쿨 에서 퍼실이에게 직접 질문할 수 있어요!"
대다수의 사람들이 Go언어를 배우는 이유에는 도커나 쿠버네티스, 테라폼과 같은 분산 서비스 구축이라고 생각합니다.
이번에 나온 따끈따끈한 신간으로 분산서비스를 공부해봐요!!
쿠버네티스로 배포할 수 있는 실력을 얻을 수 있습니다.
- Golang으로 네트워크 공부하기
- Golang으로 분산 서비스 구축하기
Golang을 겉햝기는 했지만 본격적으로 이것저것 해보지 않은 분들!!
1.2 프로젝트 환경 설정하기 5
1.3 커밋 로그 프로토타입 만들기 6
1.4 HTTP의 JSON 만들기 7
1.5 서버 실행하기 10
1.6 API 테스트하기 11
1.7 마치며 12
CHAPTER 2 프로토콜 버퍼와 구조체 13
__2.1.1 일관된 스키마 15
__2.1.2 버전 관리 제거 15
__2.1.3 줄어드는 보일러플레이트 코드 16
__2.1.4 확장성 16
__2.1.5 언어 불가지론 16
__2.1.6 성능 16
2.2 프로토콜 버퍼 컴파일러 설치하기 16
2.3 프로토콜 버퍼로 도메인 자료형 정의하기 18
2.4 프로토콜 버퍼 컴파일하기 19
2.5 생성한 코드를 이용하여 작업하기 21
2.6 마치며 22
CHAPTER 3 로그 패키지 작성 23
3.2 로그의 작동 원리 25
3.3 로그 만들기 26
__3.3.1 스토어 만들기 26
__3.3.2 인덱스 만들기 32
__3.3.3 세그먼트 만들기 38
__3.3.4 로그 코딩하기 44
3.4 마치며 54
CHAPTER 4 gRPC 요청 처리 57
4.2 서비스를 만들 때의 목표 58
4.3 gRPC 서비스 정의하기 60
4.4 gRPC 플러그인으로 컴파일하기 62
4.5 gRPC 서버 구현하기 62
__4.5.1 gRPC의 에러 처리 65
__4.5.2 인터페이스를 이용한 의존관계 역전 70
4.6 서버 등록하기 71
4.7 gRPC 서버와 클라이언트 테스트하기 71
4.8 마치며 76
CHAPTER 5 서비스 보안 78
__5.1.1 주고받는 데이터의 암호화 79
__5.1.2 클라이언트 인증 80
__5.1.3 클라이언트 권한 81
5.2 TLS로 서버 인증하기 81
__5.2.1 CFSSL로 나만의 CA 작동하기 81
5.3 TLS 상호 인증으로 클라이언트 인증하기 90
5.4 ACL로 권한 부여하기 92
5.5 마치며 104
CHAPTER 6 시스템 관측 105
__6.1.1 메트릭 106
__6.1.2 구조화 로그 107
__6.1.3 트레이스 108
6.2 서비스를 관측 가능하게 만들기 109
6.3 마치며 116
CHAPTER 7 서버 간 서비스 디스커버리 119
7.2 서비스 디스커버리 넣어주기 120
7.3 서프를 이용한 서비스 디스커버리 122
7.4 디스커버드 서비스의 요청과 로그 복제 130
7.5 디스커버리와 종단 간 서비스의 테스트 142
7.6 마치며 146
CHAPTER 8 합의를 통한 서비스 간 조율 148
__8.1.1 리더 선출 149
__8.1.2 로그 복제 150
8.2 서비스에 래프트 구현하기 151
__8.2.1 래프트 설정 153
__8.2.2 로그 API 157
__8.2.3 유한상태 머신 159
__8.2.4 스트림 계층 165
__8.2.5 디스커버리 통합 167
__8.2.6 분산 로그 테스트 170
8.3 하나의 포트에서 여러 서비스를 실행하는 다중화 173
8.4 마치며 180
CHAPTER 9 클라이언트 측 서버 디스커버리와 로드 밸런싱 181
9.2 gRPC 클라이언트 측 로드 밸런싱 182
9.3 서버를 찾을 수 있게 만들기 184
9.4 서버 정보 가져오기 188
9.5 피커로 요청 경로를 정하고 밸런스 잡기 195
9.6 디스커버리와 밸런싱 종단 간 테스트 200
9.7 마치며 202
미리 읽고 오세요.
저번 풀잎때 Golang에 대한 기초적인 내용을 진행했는데 이번에는 Golang 분산 서비스를 익힐 예정입니다!!
같이 함께 해요!!
AI Story LAB 랩짱
JAX/Flax LAB 랩짱
풀잎32기 경제학 책을 읽으면서 공부해요 - 힘든 시대를 위한 좋은 경제학 퍼실
풀잎28기 경제학을 책을 읽으면서 공부해요 - 경제학자의 시대 퍼실
풀잎25기 분산서비스해볼Lang? 고랭(Golang)! 퍼실
풀잎22기 못먹어도 GoGo 퍼실
풀잎19기 경제학을 책을 읽으면서 공부해요!! 퍼실
풀잎18기 CS182로 딥러닝 Deep하게 찍먹하기 퍼실
풀잎17기 cs182로 딥러닝 찍먹하기 퍼실
풀잎40기 Go로 웹 애플리케이션을 만든다Go? 참여
풀잎39기 Trustworthy AI 최신 연구 및 서비스 분석 참여
풀잎36기 경제학 책을 읽으면서 공부해요 - 21세기 통화정책, 금리의 역습 참여
풀잎19기 구글을 미치게 만드는 글쓰기 참여
풀잎17기 NLP with HuggingFace 참여
풀잎16기 구글 애널리틱스를 이용한 그로스해킹 첫걸음 참여
풀잎16기 딥 러닝을 연구하는 모두를 위한 Pytorch 논문 구현: Deep Generative Models부터 Vision Transformer까지! 참여
풀잎15기 MLOPs 참여
풀잎15기 슬로우페이퍼 10기 온라인 참여
풀잎스쿨은 학원식 강의가 아닌, 플립러닝(flipped learning) 방식으로 참여자들이 함께 만들어 나가는 스터디 모임이에요. 따라서 출석과 사전 학습을 성실히 수행하고, 공부한 것을 함께 나눌 의지가 있으시다면 그 어디보다 많은 것을 얻어가실 수 있답니다!
Q. '퍼실이'는 누구인가요?
퍼실이는 함께 공부하는 스터디 리더예요. 강사가 아니어서 강의를 하지는 않지만, 커리큘럼을 기획하고 모임을 진행한답니다. 선의와 공유의 마음으로 기꺼이 지원해 모임을 이끌어 주시는 만큼, 퍼실이와 함께 따뜻한 모임을 함께 만들어 주세요. :)
부득이하게 모임 참석이 어렵거나 모임에 늦는 경우처럼, 원활한 참여가 어려운 경우에는 퍼실이가 미리 인지하고 준비하실 수 있도록 반드시 알려주세요!
Q. 사회적 거리두기 단계에 따라 안전하게 진행되나요?
모두의연구소는 사회적 거리두기 단계별 방역 조치를 지켜, 모든 연구원들이 안전한 환경에서 편안히 활동하실 수 있도록 노력하고 있습니다.
오프라인 모임 또한 사회적 거리두기 단계별 방역 조치에 따라 온라인으로 진행될 수 있습니다. 다만, 방역 조치상 오프라인 모임이 가능한 경우 오프라인 진행을 원칙으로 합니다. 추가적으로, 모임의 질을 위해 온•오프라인 병행은 '지양'하고 있습니다.
풀잎스쿨에는 온라인으로 진행되는 다양한 과정이 있답니다. 시간적•거리적 제약으로 오프라인 참여가 어려우신 분들은 온라인 과정을 주목해 주세요! :)
Q. 온라인 모임에 참여할 때 캠과 마이크를 반드시 켜야 하나요?
네. 모두의연구소는 연구원 분들이 최적의 환경에서 학습과 연구에 몰입하실 수 있는 환경 조성을 최우선으로 하고 있습니다. 따라서, 온라인 모임 시에는 토론과 질문이 빈번한 학습 환경에서의 몰입과 매끄러운 진행을 위해, 반드시 캠과 마이크를 켜서 대화에 참여하도록 안내하고 있습니다.
캠과 마이크를 켤 수 없는 경우에는 아쉽지만 참여를 제한하고 있으니, 반드시 캠과 마이크 기능이 포함된 도구를 준비해 주세요. 원활한 의사소통을 위해 자택 등의 조용한 공간에서 참여해 주시면 감사드리겠습니다.
환불 신청은 홈페이지 상단의 “문의글 작성” 에서 가능합니다.