spring cloud微服务-eureka

言念君子、温其如玉

  • spring cloud微服务-eureka
    • eureka简单介绍
    • 创建maven分布式项目
    • 在maven项目中创建spring项目
    • eureka整合security权限认证
    • idea配置启动项
    • eureka客户端访问

spring cloud微服务-eureka

eureka简单介绍

Eureka是Netflix开源的服务发现组件,本身是一个基于REST的服务,包含Server和Client两部分。Spring Cloud Eureka 是 基于 Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理功能,Spring Cloud将它集成在子项目Spring Cloud Netflix中。常见的注册中心有eureka,Consul,Etcd,Zookeeper等。Dubbo中的注册中心有是基于redis的,有基于Zookeeper的,最常用的还是基于Zookeeper的。

创建maven分布式项目

在maven父项目中pom文件中确定spring boot的版本2.0.6.RELEASE,和一些公共的依赖引用,完整的pom文件中代码如下:

  
        org.springframework.boot
        spring-boot-starter-parent
        2.0.6.RELEASE
         <!– lookup parent from repository –>
    
    
    com.learning.wen
    learning-item
    1.0.0
    learning-item

    
        1.8
    

    
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.0.0
        

        
        
            mysql
            mysql-connector-java
            runtime
        

        
        
            org.projectlombok
            lombok
            1.18.4
        

        
        
            org.springframework.boot
            spring-boot-devtools
            true
        

        
        
            com.alibaba
            fastjson
            1.2.47
        

        
        
            org.apache.commons
            commons-lang3
            3.3.2
        

        
        
            io.springfox
            springfox-swagger2
            2.9.2
            
                
                    io.swagger
                    swagger-annotations
                
                
                    io.swagger
                    swagger-models
                
            
        

        
            io.swagger
            swagger-annotations
            1.5.21
        

        
            io.swagger
            swagger-models
            1.5.21
        

        
        
            com.github.xiaoymin
            swagger-bootstrap-ui
            1.8.9
        

        
            org.springframework.boot
            spring-boot-starter-web
        
    

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

在maven项目中创建spring项目

现在的项目使用spring boot开发,除了基本的项目中的业务代码,开始的部分要做的就是:
加依赖、加注解、写配置
对于依赖的相关版本查找:链接地址

加依赖

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

加注解
在项目启动类上添加以下注解:

@EnableEurekaServer

写配置
注意yml的格式问题、application的编码问题

server:
  port: 10000
eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url: 
      defaultZone: http://localhost:10000/eureka/

注:eureka的集群配置方法
配置改为

---
server:
  port: 10000
spring:
  application:
    name: eureka-server
  profiles: peer1
#将peer1注册到peer2,peer3
eureka:
  instance:
    hostname: peer1
  client:
    service-url:
      defaultZone: http://peer2:10001/eureka/,http://peer3:10002/eureka/
---
server:
  port: 10001
spring:
  application:
    name: eureka-server
  profiles: peer2
#将peer2注册到peer1,peer3
eureka:
  client:
    service-url:
      defaultZone: http://peer1:10000/eureka/,http://peer3:10002/eureka/
  instance:
    hostname: peer2
---
server:
  port: 10002
spring:
  application:
    name: eureka-server
  profiles: peer3
#将peer3注册到peer1,peer2
eureka:
  client:
    service-url:
      defaultZone: http://peer1:10000/eureka/,http://peer2:10001/eureka/
  instance:
    hostname: peer3

并找到自己的hosts文件 ,在C:\Windows\System32\drivers\etc目录下,使用文本方式打开,在文本的末尾阶段加上:

#eureka
127.0.0.1 peer1
127.0.0.1 peer2
127.0.0.1 peer3
#eureka end

eureka整合security权限认证

加依赖

		
            org.springframework.boot
            spring-boot-starter-security
        

加注解
写配置
peer1、peer2、peer3都要改

server:
  port: 10000
spring:
  application:
    name: eureka-server
  profiles: peer1
  security:
    user:
      name: wen
      password: qiyu
# 将peer1注册到peer2,peer3
eureka:
  instance:
    hostname: peer1
  client:
    service-url:
      defaultZone: http://wen:qiyu@peer2:10001/eureka/,http://wen:qiyu@peer3:10002/eureka/

idea配置启动项

项目
spring cloud微服务-eureka_第1张图片
peer1节点启动项:
spring cloud微服务-eureka_第2张图片
peer2节点启动项:
spring cloud微服务-eureka_第3张图片
peer3节点启动项:
spring cloud微服务-eureka_第4张图片

eureka客户端访问

peer1节点访问路径:http://localhost:10000
spring cloud微服务-eureka_第5张图片
peer2、peer3端口换10001、10002

你可能感兴趣的:(spring,cloud,eureka,spring,cloud)