공부하고 기록하는, 경제학과 출신 개발자의 노트

통신 6

gRPC (4) - Client Streaming 개념 및 예제코드

Client Streaming 클라이언트가 여러 번 서버에 데이터 전송, 클라이언트가 응답을 언제 받을 수 있는지는 전적으로 서버에게 달려있다. 실습환경은 아래와 같은 디렉토리에서 이루어졌다. go를 설치하고 환경변수로 GOPATH를 등록한 상태로, 모든 명령어는 ~/go/src/ch4 에서 이루어졌다. 1. proto 파일 생성 greetpb 디렉토리에 greetpb.proto 파일을 생성하고 아래와 같이 입력해준다. syntax = "proto3"; package greet; option go_package="greet/greetpb"; message Greeting { string first_name = 1; string last_name = 2; } message LongGreetRequest {..

gRPC (2) - Unary 개념 및 예제코드

cf. 예제코드는 go 개발환경과 protoc-gen-go 디펜던시가 갖추어졌다는 전제로 작성되었다. Unary 일반적으로 생각하는 Client - Server간 일대일 메시지 통신. Hands on 실습환경은 아래와 같은 디렉토리에서 이루어졌다. go를 설치하고 환경변수로 GOPATH를 등록한 상태로, 모든 명령어는 ~/go/src/ch4 에서 이루어졌다. 1. proto 파일 생성 greetpb 디렉토리에 greetpb.proto 파일을 생성하고 아래와 같이 입력해준다. syntax = "proto3"; package greet; option go_package="greet/greetpb"; message Greeting { string first_name = 1; string last_name = ..

gRPC (1) - gRPC의 특징 및 성능확인

Problem statement 논리적으로는 분리되어 있지만 Monolitic하게 설계된 애플리케이션이 있다고 가정하자. 내부 모듈 간 통신 속도가 빠르다는 장점 하나의 모듈에 문제가 생길 경우 애플리케이션 전체가 영향을 받음 (특정 모듈이 메모리를 과도하게 점유할 경우 시스템 전체가 죽는다던가) 그렇다보니 애플리케이션의 구조를 MicroService로 변경하려는 추세. 따라서 각각의 business / subdomain별로 별도의 시스템을 생성한 뒤 Http, Json으로 통신하는 형태의 아키텍처. Http + Json 기반 MicroService의 단점으로 생각할 수 있는 점 요청 / 응답에 걸리는 시간. 오른쪽 그림처럼, TCP 커넥션을 맺은 후에야 Request / Response를 받아올 수 있..

[Edwith] 통신의 기초 5. 통신보안

https://www.edwith.org/tel-ewha-course/joinLectures/13274 통신의 기초 강좌소개 : edwith - 도인실 www.edwith.org 5. 통신보안 정보통신보안 정보를 수집 및 가공하고 저장한 후 송수신하는 과정에서 발생하는 정보의 불법훼손 / 변조 / 유출 등을 방지하기 위한 관리적, 기술적 방법 랜섬웨어: 정보를 납치한 뒤 풀어주는 대가로 돈을 요구하는 형태 보안의 목표 기밀성(confidentiality): 소유자가 원하는 대로 정보의 비밀이 유지되어야 함 (아무나 볼 수 없도록) 무결성(integrity): 비인가된 자에 의해 정보가 변경, 삭제, 생성되지 않도록 -> 정보의 정확성, 완전성이 보장되어야 함 가용성(availability): 정보 시스템..

[Edwith] 통신의 기초 4. 이동통신

4. 이동통신 유선통신 vs 무선통신 유선전화 = 전화교환원이 존재. 통화하려는 두 사람을 직접 연결하는 식. 교환원은 당연히 이제 없지만, 유선 전화를 교환하는 교환대는 여전히 존재 기본적으로는 ‘국가 - 도시 - 지역 - 구내’ 개념으로 번호가 분리되어 있다. 82 - 02(서울) - 0000 - 0000 같은 구내 연결 = 짧은 교환과정, 거리가 멀어질수록 긴 회선을 사용해서 연결을 시도하는 것. 따라서 이 당시만 해도 거리가 멀어질수록 요금이 비쌌다. 무선 통신의 등장 송신탑에서 최대한 멀리 쏘아보내서 전화보내는 사람 / 받는 사람을 연결하는 게 초기 방식. 이 방식은 먼 거리일수록 통신 전력이 많이 필요하다는 단점이 있었음. 그래서 ‘굳이 최대한 멀리 쏘는 대신, 지역별로 나누어서 해당 지역 중..

[Edwith] 통신의 기초 3강. 인터넷

https://www.edwith.org/tel-ewha-course/joinLectures/13274 통신의 기초 강좌소개 : edwith - 도인실 www.edwith.org 3. 인터넷 IP주소 IP = Internet Protocol. TCP/IP 5계층 중 Internet Layer가 IP계층. -> 네트워크가 서로 달라도 통신이 가능하도록 지원하는 것. 전송하고자 하는 최종 목적지가 바로 IP주소. 이 데이터를 누구에게 전달할지를 IP주소 보고 판단. IP계층에서 헤더값으로 붙는 게 IP. IP vs DNS(도메인 네임 서버) 인터넷 사용할 때 ‘이름’을 IP주소로 변경하는 게 DNS. 사용자의 domain 이름을 IP주소로 변환한다. IPv4 주소: 32bit. 이론적으로 42억개 정도의 주..