클라이언트에서 여러 엔드 포인트를 바라보고 있는 상황입니다. (10개 서버, 2개 소켓 서버) 각 서버의 요청, 응답, 에러 등에 대한 포맷이 다를 수 있는 이슈, 에러 추적 이슈 등 여러 이슈로 이어질 수 있습니다.
클라이언트의 멀티 엔드포인트 구조를 해소하기 위해 BFF 역할을 하는 서버 구성이 필요하다고 판단됩니다.
%% BFF
graph LR
%% __START
Client --> |1.request| BFF_Server
BFF_Server --> |2.request| A_Server
BFF_Server --> |2.request| B_Server
BFF_Server --> |2.request| C_Server
BFF_Server <--> |3.process| BFF_Server
BFF_Server --> |4.response| Client
subgraph BFF
Client
BFF_Server
A_Server
B_Server
C_Server
end
_Client --> |1.request| _A_Server
_Client --> |2.request| _B_Server
_Client --> |3.request| _C_Server
_A_Server --> |1-1.response| _Client
_B_Server --> |2-1.response| _Client
_C_Server --> |3-1.response| _Client
subgraph BFF_NO
_Client
_A_Server
_B_Server
_C_Server
end
%% __END
[API 일관성 확보]
[복잡성 감소]
[에러 추적 및 로깅 용이]
[보안 강화]
[프론트엔드 최적화]