Приведенная выше статья уже написала, как построить регистрационный центр. Он далеко не достаточно, чтобы иметь регистрационный центр, поэтому нам нужно зарегистрироваться в регистрационном центре и предоставлять услуги. Это называется поставщиком регистрации.
предпосылка
Прочитайте вышеупомянутый и успешно создайте регистрационный центр, не изменяя среду
Проект строительство
Здесь нам нужно создать новый проект Maven. Название проекта не было поднято раньше. Позвольте мне ссылаться на это здесь. Мой SpringClouddemo, не заботитесь об этих деталях!
Чтобы изменить файл POM, обратитесь к следующему:
Примечание. Пожалуйста, посмотрите на номера версий этих пакетов JAR. В конце статьи я опубликую пути GitHub двух простых демонстраций, которые я строил раньше.
<? xml version = "1.0" Encoding = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <dolidyversion> 4.0.0 </modelversion> <groupid> com.hellxz </GroupD> <stratifactid> <pringsclatd> <pressc. <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>SpringCloudDemo</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Camden.SR3</version> <type>pom</type> <scope>import</scope> </dependency> </dependency> </dependency> </dependencyManagement> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- Used to monitor the project and Предоставьте информацию о статусе в проекте-> <Dependency> <groupId> org.springframework.boot </GroupId> <strifactid> Spring-boot-Starter-Actuator </artifactid> </repertive> <!-Junit Test-> <DeyEdency> <groupId> junit </GroupId> <martifactid> junit </artifactid> <serse> 4.8 </resment> </arsefact> </arverence> <//ression> 4.1 <//reginence> <//ression> 4. <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> </dependency> </dependency> <buld> <blicins> <blicin> <groupid> org.springframework.boot </GroupId> <ArtifactId> Spring-boot-maven-plugin </artifactid> </placin> <plagin> <groupid> org.apache.maven.plugins </Groupid> <ratifactid> maven-compiler </artifactid> <prytifactid> maven-compiler </plugin <source> 1.8 </source> <target> 1.8 </target> </configuration> </plugin> </plugins> </build> </project>
Хотя номер версии отличается от проекта регистрационного центра Eurekaserver, его можно обычно использовать посредством практики. Пожалуйста, будьте уверены
Создайте новый класс стартапов (в каждом проекте Springboot)
пакет com.hellxz.springcloudhelloworld; import org.springframework.boot.springapplication; импорт org.springframework.boot.autoconfigure.springbootapplication; импорт org.springframework.cloud.client.discovery.enablediscoveryclient; Eurekaclient * @date: 2018/4/13 16:57 */@enablediscoveryclient@springbootapplicationpublic class springclouddemoapplication {public static void main (string [] args) {SpringApplication.run (SpringClouddemoApplication.class, args); }} Создайте новый класс контроллера и оставьте его для последующего тестирования
пакет com.hellxz.springcloudhelloworld; import org.apache.log4j.logger; import org.springframework.beans.factory.annotation.autowired; import org.springframework.cloud.client.serviceinstance; импорт org.spramework.client.discylance; импорт. org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.requestmethod; импорт org.springframework.web.bindtation.restcontroller;/*** @author: hallxz* @description. 11:36 */ @RestControllerPublic Class SpringBootController {@Autowired Private DiscoveryClient Client; // Inject Discovery Client Private Final Logger logger = logger.getLogger (SpringBootController.class); @Requestmapping (value = "/hello", method = requestMethod.get) public String hello () {// Получить экземпляр службы, и функция состоит в том, чтобы отобразить эффект консольного обслуживания serviceInstance = client.getLocalServiceInstance (); logger.info ("/hello host:"+serviceinstance.gethost ()+"service_id:"+serviceInstance.getServiceId ()); вернуть "Привет"; }}Создайте Application.yml в папке SRC/Resources. На этот раз используйте YAML для конфигурации. Если вы хотите попробовать метод файла свойств, пожалуйста, обратитесь к вышеуказанному. Пожалуйста, обратитесь к конфигурации регистрационного центра для адреса службы, настроенного здесь.
Сервер: порт: 8080spring: Приложение: Имя: Hello-serviceeureka: Client: ServiceUrl: defaultzone: http: // localhost: 1111/eureka/
ОК, мы запустим этот проект на порту 8080 и можем перейти в регистрационный центр, чтобы зарегистрироваться на услуги.
Сначала запустите проект в регистрационном центре, и после его запуска, запустите проект.
тест
Введите URL -адрес регистрационного центра для просмотра: Localhost: 1111
Доступ к пути контроллера, который вы только что настроили: http: // localhost: 8080/hello
Как показано на рисунке справа, регистрация успешна.
В настоящее время мы можем использовать этот проект для предоставления услуг
Пример демонстрации:
https://github.com/hellxz/eurekaserver
https://github.com/hellxz/eurekaclient
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.