Может ли приложение Angular вызывать Api в микросервисе Springboot через сервер eureka? - PullRequest
0 голосов
/ 11 июля 2020

Я создаю систему в микросервисной архитектуре, у меня есть три микросервиса Spring-boot и приложение angular, я знаю, как создать сервис eureka и зарегистрировать в нем свои сервисы springboot, но я не смог найти никаких источников при выполнении этого из моего приложения angular9, что оставило меня с некоторыми вопросами

1. Есть ли способ зарегистрировать приложение angular9 на сервере eureka?

2. Нужно ли мне регистрировать мой angular, чтобы я мог выполнять вызовы Rest API через службу eureka? ie http://myfirstservice/getservice

3. Если я зарегистрирую свою службу springboot на сервере eureka, будут ли они больше не доступны по пути по умолчанию? т.е. http://localhost:8081/getservice

, пожалуйста, можете мне кое-что прояснить? Я действительно застрял. Заранее спасибо :)

1 Ответ

0 голосов
/ 11 июля 2020

Вы должны использовать обратный прокси-сервер, такой как nginx.

Тогда ваши вызовы будут иметь форму http://yourdomain/getservice

А на обратном прокси-сервере у вас должен быть конфигурация, которая будет принимать запросы и проксироваться на ваши микросервисы, которые, поскольку вы используете eureka, могут иметь адреса http://myfirstservice/getservice

Например:

http {
        ...    
        server {
                listen 80;
                server_name yourdomain;

                set $getservice myfirstservice:8081;
        }
    
        location ~ ^/getservice/(.*)$ {
                proxy_set_header Host $host:$server_port;
                proxy_pass http://$getservice/getservice/$1$is_args$args;
        }
}

Где myfirstservice должен быть зарегистрирован с eureka.

...