# 고가용성/마이크로서비스 아키텍처

**URL:** <https://meta.discourse.org/t/high-availability-microservice-architecture/330863>\
**Category:** Support\
**Created:** [10월 14, 2024, 8:18오후 UTC](https://meta.discourse.org/t/high-availability-microservice-architecture/330863 "2024-10-14T20:18:41Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![Eviepayne](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eviepayne/32/352733_2.png) [@Eviepayne](https://meta.discourse.org/u/Eviepayne)\
**Post date:** [10월 14, 2024, 8:18오후 UTC](https://meta.discourse.org/t/high-availability-microservice-architecture/330863/1 "2024-10-14T20:18:41Z")

</div>

매일 평균 18만 명의 사용자가 활동하는 매우 활발한 커뮤니티를 관리하고 있습니다. 더 이상 수직 확장(vertical scaling)이 어렵습니다. 수평 확장(horizontal scaling)이 필요합니다. 누군가 언급하기 전에, "공식적으로 지원되는지"는 크게 신경 쓰지 않습니다. 기술적으로 가능한 것만 중요합니다.

현재 공식 설치 지침에 따라 Docker로 Discourse를 실행 중인 Ubuntu 인스턴스를 사용하고 있으며, S3 스토리지와 이를 서빙하는 CDN도 함께 사용 중입니다.

현재 작성 중인 NixOS 플레이크로 마이그레이션할 계획입니다. 매우 심도 있는 리소스 사용량 조사를 통해 CPU 사용량이 주로 Postgres와 Unicorn 워커에 의해 제한되는 것을 확인했습니다. (성능을 유지하면서 CPU 부하를 최대한 줄이기 위해 최적화했으며, 워커는 16개입니다.)

또한 메모리(MEM) 사용량도 주로 Postgres와 Redis에 의해 제한됩니다.

가능하다면, 이를 3개의 서버로 분리하고 싶습니다.

- Discourse 프론트엔드 (Unicorn 포함)
- Redis 서버
- Postgres 서버

이미 다른 서버에 Postgres를 분리하여 Discourse 서버를 성공적으로 구축해 본 경험이 있지만, Redis를 다른 곳으로 이동할 수 있는지, 그리고 그렇게 하면 성능 면에서 의미가 있는지 확실하지 않습니다.

혹시 여러분 중에도 현재 Discourse를 이런 방식으로 운영하고 계신 분이 있습니까?

---

_[View the full topic](https://meta.discourse.org/t/high-availability-microservice-architecture/330863)._
