Устойчивое взаимодействие с медленным и нестабильным сервисом
Условие задачи
Есть сервис, который отвечает за предоставление скидок клиентам, однако расчёт скидки выполняется через нестабильный и медленный монолит. Время отклика этого монолита непредсказуемо — оно может варьироваться от секунд до часов. Необходимо разработать способ, который позволит контролировать это поведение и сделать взаимодействие с монолитом более надёжным и предсказуемым
gopackage main
import (
"fmt"
"http"
)
// Эта функция лезет по сети в старый монолит и может тупить.
func getDiscount() float64 {
discount, _ := http.Get("http://discounts.com/my")
return discount
}
func main() {
fmt.Printf("Ваша скидка: %v", getDiscount())
}