Я пытаюсь развернуть свои микроуслуги на героку, но безуспешно. Сначала я создал приложение для реестра служб (eureka) со следующей конфигурацией:
spring:
application:
name: eureka
server:
port: 8761
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
Затем я развертываю приложение, URL развернутого приложения выглядит как https://eureka.herokuapp.com. Я настраиваю с этим URL мои другие приложения, такие какшлюз и бизнес-сервисы.
Пример конфигурации моего шлюза
spring:
application:
name: gateway
server:
port: 8081
eureka:
client:
healthcheck:
enabled: true
serviceUrl:
defaultZone: https://eureka.herokuapp.com/eureka/
такая же конфигурация, которую я использовал для моей пользовательской службы, только другое имя приложения (user-service). Когда я перехожу на https://gateway.herokuapp.com/user-service/user
, я не могу получить никакого ответа. В логах heroku приложения шлюза я вижу исключение из-за тайм-аута пользовательского сервиса, который я не понимаю, потому что, когда я звоню https://user.herokuapp.com/user
напрямую, я получаю ответ
Я также обнаруживаю, что в моей панели управления eureka не зарегистрированореплики, я не уверен, если это нормально. Можете ли вы сказать мне, что я сделал не так? Спасибо.
журнал ошибок из шлюзового приложения:
2019-12-01T19: 53: 29.503419 + 00: 00 heroku [router]: at = info method = GET path = "/ user-service / user" host = gateway.herokuapp.com request_id = 7818f5eb-34af-47f9-94db-7dc4f9609c31 fwd = "86.49.253.78" dyno =web.1 connect = служба 0 мс = состояние 8110 мс = 500 байт = протокол 465 = https