Divide and Conquer
RPC 본문
- RPC
- Golang
- Distributed OS vs. Hadoop MapReduce
- Distributed Graph Processing
- P2P & Distributed Hash Table
- Consistency in Distributed Systems
- Distributed Commit
- Erasure Coding
- Distributed Consensus
- Block Chain
- Distributed Snapshot
- Distributed File Systems
- Performance and Scheduling
RPC(Remote Procedure Call)
RPC는 원격 프로시저 호출로
로컬 위치가 아닌, 원격 위치(다른 주소 공간)에서도 함수나 프로시저를 실행할 수 있게 하는 프로세스간 통신 기술
* 함수와 프로시저의 차이
함수 Function | Input에 따른 Output의 발생이 목적 > Return이 필수 |
프로시저 Procedure | Output값 자체의 목적보단, 명령 단위가 수행하는 절차에 집중 > Return이 있을 수도 없을 수도 Server단에서 처리되기에 함수보다 큰 단위의 실행, 프로세싱 |
원래
프로세스 Process는 자신의 주소공간에 있는 함수만 실행이 가능한데
RPC가 다른 주소 공간에서 동작하는 프로세스의 함수를 실행하게끔 돕는다
> 네트워크를 통해 메시징을 수행해서!!!
MAS(Micro Service Architecture) 구조의 서비스를 만들 때 좋음
(언어나 환경에 구애받지 않고, 비즈니스 로직 개발에 집중 가능해서)
Parallel vs Distributed Computing
Parallel vs. Distributed Computing: An Overview
Distributed and parallel computing are different computational approaches to solving problems. Read on to learn more about these technologies.
blog.purestorage.com
병렬처리는 클럭을 공유
분산은 클럭이 없음
병렬은 동시에 여러 프로세서에서 작업을 수행함
분산은 네트워크로 여러 컴퓨터를 연결해서 동작 수행
Distributed System
분산 컴퓨팅은 네트워크로 연결되어 있어야 함
> 그럼 연결되어 있으면 다 분산컴퓨팅 아니냐
> 하나의 목적을 갖고 동작을 수행해야 함
as a single coherent system.
내가 싱글인지 멀티인지 모르게
하나의 시스템처럼 동작하게끔 협력하여 처리하는 것을 의미
Global State를 파악하기 힘듦
Time frame <<< 클럭을 공유하지 않으니 이벤트 전후 판단이 어려움
여러 머신을 써도 하나의 머신을 쓰는 것처럼 동작하게끔 해야 함
물리적으으로 어디에 위치해 있는지 모르지만 홈페이지를 통해 데이터를 쓸 수 있음
laten
- Distributed OS vs. Hadoop MapReduce
분산은 하나의 싱글 머신으로 네트워크 관리자원으로 공유 메모리가 필요 없음 CXL 프로토콜 사용
하둡? 오프로딩 기반 프로그래밍 기반 모델
- Distributed Graph Processing
- P2P & Distributed Hash Table <<<
마치 NUMA처럼 동작한는 것이 CXL - Consistency in Distributed Systems
- Distributed Commit <<< 전형적인 주제
- Erasure Coding
- Distributed Consensus <<<
- Block Chain
- Distributed Snapshot <<<
- Distributed File Systems <<<
- Performance and Scheduling