리팩토링
리팩토링이란?
- 주로 가독성을 높이고 유지보수를 편하게 하기 위해 기능이나 결과의 변경 없이 코드의 내부 구조를 재조정하는 것
Open Source Software(OSS)
OSS란?
OSS의 특징
OSS의 조건
MSA(Micro Service Architecture)
아키텍처란?
- 애플리케이션을 설계하고 구축하는데 사용하는 패턴과 기술
MSA의 정의
MSA의 장점과 단점
모놀리식
- 모놀리식은 흔히 단일 서버라고 이야기를 하기도 하는데, 한 서버에서 여러개의 서비스를 구동하는것
- 다시 말하면 한 가지의 코드베이스로 구성된 아키텍처로, 어떠한 언어의 프레임워크를 사용해도 문제가 없다.
- NodeJS + ExpressJS
- Python + Django
- Java + Spring
- 등등 이런것들 하나로만 이루어진 서버이다.
- 개발자 JS로 특정 서비스를 만들었다고 가정해 보자. 그런데 더 좋은 기술을 파이선으로 구현할 수 있을때, 파이선을 통해서 그 기능을 추가해야하는것이 아니라 JS를 통해서 파이선과 유사한 서비스를 직접 만들어서 구현해야 하는 번거로움이 있다.
MSA
- 각각의 서비스는 모놀리식 아키텍처와 유소한 구조를 가지고, 각각의 서비스는 Gateway로 배포가 되며, REST와 같이 가벼운 방식으로 통신이 됨.
API Gateway란?
- API Gateway를 통해 서버 앞단에서 모든 API 서버들의 엔드 포인트를 단일화 해주는 또 다른 서버
- 메세지의 내용에 따라서 내부에 있는 마이크로 서비스로 라우팅을 해주는 역할
MSA 조직