В этой статье используется облако Spring. Это статья 2.1.8RELEASE, версия = Greenwich.SR3.
1 Создать клиент eureka
1.1 Создайте новый загрузочный проект Srping: eureka-client
1.2 Пакет jar, от которого должен зависеть pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
1.3 Добавьте аннотацию @EnableEurekaClient в EurekaClientApplication
package spring.cloud.demoo.eurekaclient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
@EnableEurekaClient
@SpringBootApplication
public class EurekaClientApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaClientApplication.class, args);
}
}
@EnableEurekaClient регистрирует сервисы в сервисном центре eureka (рекомендуется), если это другой центр регистрации сервисов, например консул, зоопарк, рекомендуется использовать @EnableDiscoveryClient
1.4 Добавьте содержимое конфигурации application.yml,
spring:
application:
name: eureka-client
server:
port: 8801
eureka:
instance:
hostname: localhost
# 表示eureka client间隔多久去拉取服务注册信息,默认为30秒,如果要迅速获取服务注册状态,可以缩小该值
lease-renewal-interval-in-seconds: 5
# 表示eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance。
# 默认为90秒
# 如果该值太大,则很可能将流量转发过去的时候,该instance已经不存活了。
# 如果该值设置太小了,则instance则很可能因为临时的网络抖动而被摘除掉。
# 该值至少应该大于 leaseRenewalIntervalInSeconds
lease-expiration-duration-in-seconds: 10
client:
service-url:
defaultZone: http://localhost:8701/eureka/
В конфигурации http://localhost:8701/eureka/ вызывает eureka-server, вы можете обратиться к:строительство регистрационного центра eureka-server
1.5 Создайте тестовый контроллер: EurekaClientController
package spring.cloud.demoo.eurekaclient.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/**
* @auther: maomao
* @DateT: 2019-09-17
*/
@RestController
public class EurekaClientController {
@Value("${server.port}")
private String port;
@RequestMapping("/info")
public String syaHello(HttpServletRequest request) {
String message = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getServletPath();
return message;
}
}
1.6 Запустите службу eureka-client
Посетите http://localhost:8801/info и верните результат, как показано ниже.
В это время в центре регистрации службы доступа, если ввести следующее:
Вы можете видеть, что eureka-client был зарегистрирован в реестре службы.На данный момент создан простой автономный поставщик клиентских услуг eureka. Поставщик услуг предоставляет услугу Restful.
пасхальные яйца
Построение клиентского кластера eureka
1.1 Настройте локальный файл хоста
127.0.0.1 eureka1.client.com
127.0.0.1 eureka2.client.com
127.0.0.1 eureka3.client.com
1.2 Добавьте файл конфигурации application.yml
Добавьте файлы application-clinet1.yml и application-clinet2.yml и измените исходный файл application.yml.
- application.yml
spring:
application:
name: eureka-client
server:
port: 8801
eureka:
instance:
hostname: eureka1.client.com
lease-renewal-interval-in-seconds: 5
lease-expiration-duration-in-seconds: 10
client:
service-url:
defaultZone: http://eureka1.server.com:8701/eureka/,http://eureka2.server.com:8702/eureka/,http://eureka3.server.com:8703/eureka/
- application-client1.yml
spring:
application:
name: eureka-client
server:
port: 8802
eureka:
instance:
hostname: eureka2.client.com
lease-renewal-interval-in-seconds: 5
lease-expiration-duration-in-seconds: 10
client:
service-url:
defaultZone: http://eureka1.server.com:8701/eureka/,http://eureka2.server.com:8702/eureka/,http://eureka3.server.com:8703/eureka/
- application-client2.yml
spring:
application:
name: eureka-client
server:
port: 8803
eureka:
instance:
hostname: eureka3.client.com
lease-renewal-interval-in-seconds: 5
lease-expiration-duration-in-seconds: 10
client:
service-url:
defaultZone: http://eureka1.server.com:8701/eureka/,http://eureka2.server.com:8702/eureka/,http://eureka3.server.com:8703/eureka/
1.3 Запустите три службы eureka-client соответственно
Посетите http://eureka1.client.com:8801/info,eureka2.client.com:8802/info, eureka3.client.com:8803/infoОтображаемые результаты следующие:
На этом этапе откройте реестр службы и отобразитеКрасная рамка на снимке экрана означает, что три клиента были успешно зарегистрированы.
Суммировать
В этой статье просто реализуется построение одной машины и кластера поставщиков услуг, и в будущем мы продолжим обновлять другой контент о весеннем облаке.
кодовый адрес
Каталог «Spring Cloud 2.X Xiaobai Tutorial»
- Руководство по реестру службы Eureka Server версии Spring Cloud 2.x
- Spring cloud 2.x версия Eureka Учебное пособие по поставщику клиентских услуг
- Руководство по обнаружению ленточных сервисов версии Spring Cloud 2.x (включая встроенный механизм предохранителей Hystrix)
- Версия Spring Cloud 2.x Руководство по обнаружению сервисов Feign (включая встроенный автоматический выключатель Hystrix)
- Руководство по шлюзу маршрутизации Zuul версии Spring Cloud 2.x
- Учебное пособие по распределенному центру конфигурации конфигурации Spring Cloud 2.x версии
- Руководство по автоматическому выключателю Hystrix Dashboard версии Spring Cloud 2.x
Пожалуйста, укажите источник,
- Контакт: 4272231@163.com