Osobny port na diagnostyczne endpointy?

2

Załóżmy, że nasza aplikacja wystawia jakieś REST API np /v1/.... Do tego mamy endpointy do diagnostyk np. prometeuszowe metryki /metrics, w go jest np. /debug/pprof/ do zbierania danych wystawionych przez runtime itd.

I teraz pytanie. Czy w waszych aplikacjach rozgraniczacie te dwa typy endpointów na osobne porty czy może wszystko ładuje do jednego serwera?

Zalety jakie widzę przy takim podziale:

  • security, klientowi wystawiamy tylko produkcyjny endpoint, więc nie ma opcji, że jakimś cudem dostanie się do np. metryk
  • to akurat techniczny problem: w go nie można w łatwy sposób ustawić timeoutów na tym samym serwerze HTTP przez co możemy mieć problem, gdy chcemy ustawić jakąś logiczną wartość dla /v1/... a jednocześnie chcemy czytać CPU profile przez kilka godzin.

Wady:

  • wiadomo, więcej portów, większy burdel
1

Jak używałem DropWizarda to miałem to rozdzielone. I nawet tak jak piszesz jeden port był wystawiony na zewnątrz a drugi nie

1 użytkowników online, w tym zalogowanych: 0, gości: 1