• Spring Cloud Eureka Server例子程序


    Spring-Cloud-Eureka-Server 及Client 例子程序

    参考源代码:https://github.com/spring-cloud-samples/eureka

    可以启动成功,但是不能打包,原因也不太清楚。

    启动后访问 http://localhost:8761/ 可以看到启动了哪些实例

    实际看来 一般并不需要对 EurekaServer做很多的定制。
    完全可以使用官方已经打包好的EurekaServer。

    例子程序中包含的内容也非常少。

    对于maven项目
    主要就包含
    1.入口程序(包含main方法)
    2.pom文件(jar包依赖 现在没这玩意真不行)
    3.配置文件

    注意实际上要添加如下依赖应用才能跑的起来,否则会抛ch.qos.logback相关的一些类找不到。这也是瞎碰碰上找到的。

            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>1.1.3</version>
            </dependency>
            
    

    启动后发现eureka页面上有一些红色提示(暂未找到解决办法)

    EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.
    
    

    Client例子程序

    启动Client例子程序 就可以从Eureka的页面中看到对应的实例名称了 即注册成功

    @Configuration
    @ComponentScan
    @EnableAutoConfiguration
    @EnableEurekaClient
    @RestController
    public class Application {
    
        @RequestMapping("/")
        public String home() {
            return "Hello world";
        }
    
        public static void main(String[] args) {
            new SpringApplicationBuilder(Application.class).web(true).run(args);
        }
    
    }
    
    

    配置文件
    application.yml

    eureka:
      client:
        serviceUrl:
          defaultZone: http://localhost:8761/eureka/
    

    pom

    重点注意: 与Server的区别主要是 spring-cloud-starter-eureka

    <?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">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.laoniu</groupId>
        <artifactId>spring-cloud-client</artifactId>
        <version>1.0-SNAPSHOT</version>
        <parent>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-parent</artifactId>
            <version>Brixton.BUILD-SNAPSHOT</version>
            <relativePath /> <!-- lookup parent from repository -->
        </parent>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-eureka</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-config</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>1.1.3</version>
            </dependency>
        </dependencies>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <start-class>com.laoniu.EurekaApplication</start-class>
            <java.version>1.7</java.version>
            <docker.image.prefix>springcloud</docker.image.prefix>
        </properties>
    
        <build>
            <plugins>
    
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <!-- defined in spring-cloud-starter-parent pom (as documentation hint),
                        but needs to be repeated here -->
                    <configuration>
                        <requiresUnpack>
                            <dependency>
                                <groupId>com.netflix.eureka</groupId>
                                <artifactId>eureka-core</artifactId>
                            </dependency>
                            <dependency>
                                <groupId>com.netflix.eureka</groupId>
                                <artifactId>eureka-client</artifactId>
                            </dependency>
                        </requiresUnpack>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>pl.project13.maven</groupId>
                    <artifactId>git-commit-id-plugin</artifactId>
                    <configuration>
                        <failOnNoGitDirectory>false</failOnNoGitDirectory>
                    </configuration>
                </plugin>
                <plugin>
                    <!--skip deploy (this is just a test module) -->
                    <artifactId>maven-deploy-plugin</artifactId>
                    <configuration>
                        <skip>true</skip>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
        <repositories>
            <repository>
                <id>spring-snapshots</id>
                <name>Spring Snapshots</name>
                <url>http://repo.spring.io/libs-snapshot-local</url>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
            <repository>
                <id>spring-milestones</id>
                <name>Spring Milestones</name>
                <url>http://repo.spring.io/libs-milestone-local</url>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
            <repository>
                <id>spring-releases</id>
                <name>Spring Releases</name>
                <url>http://repo.spring.io/libs-release-local</url>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>spring-snapshots</id>
                <name>Spring Snapshots</name>
                <url>http://repo.spring.io/libs-snapshot-local</url>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </pluginRepository>
            <pluginRepository>
                <id>spring-milestones</id>
                <name>Spring Milestones</name>
                <url>http://repo.spring.io/libs-milestone-local</url>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </pluginRepository>
        </pluginRepositories>
    
    </project>
    
    
  • 相关阅读:
    web第一章(html)
    面向对象第七章,内存的管理,面向对象三大特征封装、继承、多态
    面向对象第六章(接口、强转、多态)
    面向对象第五章(封装、抽象类、匿名内部类)
    面向对象第四章(封装、static)
    面向对象第二章(引用类型数组、继承)
    python 生成随机数
    python 生成测试报告
    python 邮件发送
    python 日志打印
  • 原文地址:https://www.cnblogs.com/laoniu85/p/5080990.html
Copyright © 2020-2023  润新知