24. Microservice

어니언·2023년 3월 2일
0
post-thumbnail

소프트웨어 개발 패러다임중 하나인 microservice는 어플리케이션을 여러 작은 독립적인 서비스로 분할하여 개발하는 방식이다. 이러한 서비스는 각각의 역할을 수행하고, 서로가 독립적으로 실행된다.

마이크로서비스의 특징을 알아보면

  1. 각각의 서비스는 독립적으로 배포, 확장이 가능하다.

  2. 분산 시스템으로 여러 사용자가 동시에 작업을 해도 문제가 없다.

  3. 서비스간의 결합도가 낮기때문에 유지보수 및 개발에 용이하다.

  4. 여러 기술스택을 쓸 수 있다.

  5. 서비스별로 db를 독립적으로 사용할 수 있다.

마이크로서비스의 장점
유연성 : 각각의 서비스는 독립적으로 개발 배포 확장이 가능할 정도로 유연성이 높다.

확장성 : 전체 업데이트가아닌 필요한 부분만 서비스를 업데이트할 수 있다.

안정성 : 서비스간의 결합이 낮기 때문에 한서비스가 에러가 나더라도 다른 서비스에 영향을 미치지 않는다.

단점
복잡성** : 서비스를 세분화하여 분산되어있어 복잡할 수 있다.

테스트 어려움 : 분산된 서비스들간의 통합테스트가 힘들다.

비용증가 : 각각의 서비스들이 독립적으로 운영되어 인프라 비용이 증가한다.

현재 규모가 큰회사들은 수많은 이용자들을 한번에 받을 때 트레픽 문제를 해결 하기 위해 많이 바꿔가는 중이지만, 소규모의 회사들은 반드시 마이크로서비스기능을 쓰면 비용만 증가하기때문에 적절히 사용하면 될 것 같다.

profile
안녕하세요.

0개의 댓글