springCloud Finchley 微服务架构从入门到精通【二】Eureka服务注册与发现

一、开发工具说明

为了防止代码运行错误,建议使用一致的版本:

  • 开发工具:Eclipse : Version: Neon.3 Release (4.6.3)
    开发spring cloud应用推荐使用 idea或者spring官方提供的STS工具,笔者由于公司内部使用习惯等原因,还是选择了Eclipse安装STS插件
  • STS插件 下载地址:http://spring.io/tools/sts/all/
    这里注意:STS插件要选择与Eclipse对应的版本:

    springCloud Finchley 微服务架构从入门到精通【二】Eureka服务注册与发现_第1张图片

  • JDK : jdk1_8_131
  • MAVEN :maven 3.5

二、创建Eureka注册中心

1、创建一个Maven主项目

springCloud Finchley 微服务架构从入门到精通【二】Eureka服务注册与发现_第2张图片

删除其目录下的src包,只剩下pom.xml

这里打包选择pom,最终其子项目重复依赖统一提取到这里,这就是主项目的主要作用

2、在主项目上创建一个springboot项目

springCloud Finchley 微服务架构从入门到精通【二】Eureka服务注册与发现_第3张图片

选择 Eureka Server ,项目创建完成

springCloud Finchley 微服务架构从入门到精通【二】Eureka服务注册与发现_第4张图片

此时pom.xml为:



    4.0.0

    com.mayi.springcloud
    commonservice-eureka
    0.0.1-SNAPSHOT
    jar

    commonservice-eureka
    eureka 注册中心

    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.1.RELEASE
         
    

    
        UTF-8
        UTF-8
        1.8
        Finchley.M9
    

    
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

    
        
            spring-milestones
            Spring Milestones
            https://repo.spring.io/milestone
            
                false
            
        
    



3、配置bootstrap.yml

将resources目录下的application.properties改名为bootstrap.yml(建议使用格式化ymal语言,好处自己琢磨吧^_^),ymal 校验比较严格,我的是换行空两格,保持统一,编辑器也是有提示的

server:
  port: 8761
spring:
  application:
    name: service-registry
eureka:
  instance:
    prefer-ip-address: true
  client:
    fetch-registry: false
    register-with-eureka: false
  server:
    wait-time-in-ms-when-sync-empty: 0

解释:

  • 配置为server :
    fetch-registry: false
    register-with-eureka: false

4、启动类配置

添加@EnableEurekaServer注解即可

package com.mayi.springcloud;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class CommonserviceEurekaApplication {

    public static void main(String[] args) {
        SpringApplication.run(CommonserviceEurekaApplication.class, args);
    }
}

使用SpringBootApp启动,访问地址:localhost:8761

springCloud Finchley 微服务架构从入门到精通【二】Eureka服务注册与发现_第5张图片

正常打开以上网页,说明Eureka注册中心配置成功。

三、创建客户端项目

1、pom.xml 同上,bootstrap.yml简单代码如下:

spring:
  application:
    name: service-eureka-client
server:
  port: 8800

2、启动类添加@EnableEurekaClient注解

这里建议使用@EnableEurekaClient注解来声明客户端,因为我们使用的是Eureka注册中心,如果使用zookeeper或其他注册中心使用@EnableDiscoveryClient,而对于Eureka注册中心来说两者都可

package com.mayi.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
public class CommonserviceEurekaClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(CommonserviceEurekaClientApplication.class, args);
    }
}

3、启动项目

如图,客户端注册成功:

springCloud Finchley 微服务架构从入门到精通【二】Eureka服务注册与发现_第6张图片

接下来,我会依次整新文章,直至整个架构完成,如有兴趣的朋友加我微信加入spring cloud社区群

springCloud Finchley 微服务架构从入门到精通【二】Eureka服务注册与发现_第7张图片

或关注微信公众号:java架构师修行

springCloud Finchley 微服务架构从入门到精通【二】Eureka服务注册与发现_第8张图片

你可能感兴趣的:(微服务,springcloud,服务发现,服务注册)