SpringCloud Eureka是SpringCloud Netflix 微服务套件的一部分,主要负责完成微服务架构中的服务治理功能。服务治理可以说是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现。
一、创建module之配置服务项目zx-eureka
主要依赖引入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
spring-cloud-starter-netflix-eureka-server 是注册中心eureka服务端需要引入的重要依赖
spring-boot-starter-security 对注册中心eureka设置账号密码需要
aplication.yml主要配置
server:
port: 8002
logging:
config: classpath:logback.xml
bootstrap.yml
spring:
security:
user:
name: zxdemo
password: zxdemopwd
application:
name: zx-eureka
eureka:
client:
register-with-eureka: false
fetch-registry: false
healthcheck:
enabled: true
service-url:
defaultZone: http://zxdemo:zxdemopwd@127.0.0.1:8002/eureka/
instance:
prefer-ip-address: true
ip-address: 127.0.0.1
server:
enable-self-preservation: false
配置主要说明
fetch-registry: 检索服务选项,当设置为True(默认值)时,会进行服务检索,注册中心不负责检索服务。
register-with-eureka: 服务注册中心也会将自己作为客户端来尝试注册自己,为true(默认)时自动生效
eureka.client.service-url.defaultZone是一个默认的注册中心地址。配置该选项后,可以在服务中心进行注册。
一般情况下,当我们设置服务为注册中心时,需要关闭eureka.client.fetch-registry与eureka.client.register-with-eureka,在做注册中心集群的时候,register-with-eureka必须打开,因为需要进行相互注册,不然副本无法可用。
本示例采用非集群模式,所以register-with-eureka和fetch-registry都设置为false
创建启动类
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class, args);
}
@EnableWebSecurity
static class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().ignoringAntMatchers("/**").and().authorizeRequests().anyRequest()
.authenticated().and().httpBasic();
}
}
}
@EnableWebMvcSecurity 注解开启Spring Security的功能
@EnableEurekaServer 注解开启Eureka Server
运行项目
访问:http://127.0.0.1:8002/,输入设置的账号和密码,显示如图:
本文项目源码地址:
https://github.com/cdzxkj/zx_springcloud_demo
转载请注明来自:
https://blog.csdn.net/javanian
欢迎访问博主的独立站: