[bigdata-106] spring-cloud-03 创建一个hello服务并把它注册到eurake server双机高可用集群

来源:互联网 发布:mac 10.13 桌面日历 编辑:程序博客网 时间:2024/05/17 23:29

1. 参考文档

https://github.com/dyc87112/SpringCloudBook/tree/master/hello-service


2. 源码结构

.
├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── brian
│   │   │           └── demo
│   │   │               └── helloservice
│   │   │                   └── App.java
│   │   └── resources
│   │       └── application.properties


3. pom.xml内容如下:

<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"><modelVersion>4.0.0</modelVersion><groupId>com.brian.demo</groupId><artifactId>helloservice</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.3.7.RELEASE</version><relativePath /> <!-- lookup parent from repository --></parent><name>helloservice</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><repositories><repository><id>my-nexus-central</id><name>my local nexus</name><url>http://localhost:8081/nexus/content/repositories/central/</url><releases><enabled>true</enabled><updatePolicy>never</updatePolicy></releases></repository></repositories><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><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-hystrix</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Brixton.SR5</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>


4. App.java

package com.brian.demo.helloservice;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.ServiceInstance;import org.springframework.cloud.client.discovery.DiscoveryClient;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;import org.springframework.cloud.netflix.hystrix.EnableHystrix;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;@RestController@EnableHystrix@EnableDiscoveryClient@SpringBootApplicationpublic class App {@Autowiredprivate DiscoveryClient client;@RequestMapping(value = "/hello", method = RequestMethod.GET)public String hello() throws Exception {ServiceInstance instance = client.getLocalServiceInstance();return "Hello World"+"-"+instance.getHost()+"-"+instance.getPort()+"-"+instance.getServiceId();}public static void main(String[] args) {SpringApplication.run(App.class, args);}}

5. application.properties

spring.application.name=hello-serviceserver.port=8087eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka/

6. 编译

mvn clean package


7. 运行

nohup java -jar target/helloservice-0.0.1-SNAPSHOT.jar &


8. 观察

在http://peer1:1111/和http://peer2:1112/均能看到这个服务被注册,包括ip和端口号。


阅读全文
0 0
原创粉丝点击