spring cloud (一、服务注册demo_eureka)

spring cloud (二、服务注册安全demo_eureka)

创建一个服务提供者注册到服务注册中心,跟前一个案例一样创建一个spring boot 项目 ;

pom文件如下:

<?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.test.provider</groupId>
<artifactId>provider</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>provider</name>
<description>provider</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
<relativePath />
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<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.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency> </dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR3</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>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>

配置文件如下

#应用(服务)名称
spring.application.name=eureka-provider
#端口号
server.port=8762
#注册的账号密码地址
eureka.client.serviceUrl.defaultZone=http://admin:admin@localhost:3333/eureka/

启动类

/**
* 服务提供者
*/
@EnableDiscoveryClient
@SpringBootApplication public class ProviderApplication { public static void main(String[] args) {
SpringApplication.run(ProviderApplication.class, args);
}
}

到这一步其实已经配置完成了,基本的代码;但是启动会报错,虽然配置了登录的账号和密码;但是由于spring cloud 的一些版本是需要修改注册中心的启动配置


接下来的改动注意,这是是改服务注册管理那边的代码;

我们在spring cloud (一、服务注册demo_eureka)   中加上一个自己的类,加上如下的注解,然后再重新启动即可注册成功

@EnableWebSecurity
public class MyWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
super.configure(http);
} }

这个时候我们先启动服务管理的demo,然后再启动服务提供者;最后登录服务控制台查看;

这个时候我们可以看到服务注册中心多了一个服务;


到这里虽然可以注册成功了。看起来是没有问题了,不过确实有一个问题;

就是你把提供服务这边的demo程序停了,但是服务注册页面却显示还存在;

处理这个问题,我们需要在服务注册的demo中加上自动检测失效的配置;

#启用主动失效,并且每次主动失效检测间隔为10s
eureka.server.eviction-interval-timer-in-ms=10000
eureka.server.enable-self-preservation=false

最新文章

  1. android防止内存溢出浅析
  2. sql常用语句(1)
  3. HoloLens外包团队:HoloLens有一个严重缺陷,但微软并不想改
  4. A trip through the Graphics Pipeline 2011_13 Compute Shaders, UAV, atomic, structured buffer
  5. libevent (二) 接收TCP连接
  6. mysql 登录后 修改密码
  7. 分享O&#39;Reilly最新C语言指针数据
  8. CSS3 Gradient-CSS3渐变
  9. 依据二度人脉推荐好友sql
  10. POJ 2538 WERTYU水的问题
  11. C#单例模式的三种写法 以及 继承面试题
  12. LeetCode 33 Search in Rotated Sorted Array [binary search] &lt;c++&gt;
  13. 【公众号系列】超详细SAP HANA JOB全解析
  14. NET Core微服务之路:实战SkyWalking+Exceptionless体验生产环境下的追踪系统
  15. 在手机的浏览器上通过连接打开App
  16. ubuntu_virtualenv
  17. python之路-day1-if...else...流程判断
  18. Go 灵活多变的切片Slice
  19. Sql Server用户名和登录名的关系总结
  20. Javascript 严格模式use strict详解

热门文章

  1. PHP--php时间差8个小时的问题
  2. Python下划线的详解
  3. Hbase理论&amp;&amp;hbase shell&amp;&amp;python操作hbase&amp;&amp;python通过mapreduce操作hbase
  4. C#遍历指定文件夹中的所有文件(转)
  5. HTML之Position用法
  6. swift 实践- 12 -- UIPickerView
  7. JS打开新的窗口
  8. SQLPLUS 命令
  9. automaticallyAdjustsScrollViewInsets 详解
  10. Metasploit 使用后门和Rootkit维持访问