上一章简单搭建了一个单机版的Eureka Server,并将用户微服务和文章微服务注册到Eureka Server中,本章将延续上一章配置服务端的高可用,安全认证等。
个人学习总结:
链接:【springboot、springcloud、docker 等,学习目录】
Eureka Server 端配置:
官网:
https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/2.0.2.RELEASE/single/spring-cloud-netflix.html
可知,引入springboot的security依赖,加上配置类,放开/eureka/** 路径。
1、在 springcloud_eureka pom 中添加
org.springframework.boot
spring-boot-starter-security
2、添加配置类
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().ignoringAntMatchers("/eureka/**");
super.configure(http);
}
}
3、启动:访问服务端地址
用户名为user,默认密码生成在控制台:
4、自定义用户名、密码
spring:
application:
name: eureka
# 安全认证
security:
user:
name: ron # 默认为 user
password: 123456 # 默认控制台生成
5、使用自定义的用户名密码登录Eureka
Eureka Client 端配置:
在注册地址中加入user:password即可。
1、修改用户微服务、文章微服务的配置文件:
eureka:
client:
# 指定服务注册中心的位置
serviceUrl:
defaultZone: http://ron:[email protected]:8761/eureka/
2、访问Eureka监控画面
Eureka Server 端配置
官网:
大概意思:Eureka可以通过运行多个实例,并让它们彼此注册,来实现高可用。这是它的默认行为,我们只需要向对等点中添加一个有效的serviceUrl即可。
1、为了方便测试,屏蔽掉Eureka 的安全认证相关代码。
2、修改本机hosts文件,添加 peer1、peer2、peer3。
127.0.0.1 peer1
127.0.0.1 peer2
127.0.0.1 peer3
3、修改springcloud_eureka 配置文件
---
spring:
application:
name: springcloud-eureka
profiles: peer1
server:
port: 8761
eureka:
instance:
hostname: peer1
client:
serviceUrl:
defaultZone: http://peer2:8762/eureka/,http://peer3:8763/eureka/
healthcheck:
enabled: true
---
spring:
application:
name: springcloud-eureka
profiles: peer2
server:
port: 8762
eureka:
instance:
hostname: peer2
client:
serviceUrl:
defaultZone: http://peer1:8761/eureka/,http://peer3:8763/eureka/
healthcheck:
enabled: true
---
spring:
application:
name: springcloud-eureka
profiles: peer3
server:
port: 8763
eureka:
instance:
hostname: peer3
client:
serviceUrl:
defaultZone: http://peer1:8761/eureka/,http://peer2:8762/eureka/
healthcheck:
enabled: true
4、启动:
4.1、可以打包成jar文件, 然后使用 java -jar 运行
java -jar springcloud_eureka 1.0-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar springcloud_eureka 1.0-SNAPSHOT.jar --spring.profiles.active=peer2
java -jar springcloud_eureka 1.0-SNAPSHOT.jar --spring.profiles.active=peer3
4.2、我直接使用idea的启动三个服务
点击向下小箭头 ~> Edit Configurations 点击 "+" 添加 Eureka2、Eureka3
指定 Eureka1 启动参数:-Dspring.profiles.active=peer1
指定 Eureka2 启动参数:-Dspring.profiles.active=peer2
指定 Eureka3 启动参数:-Dspring.profiles.active=peer3
4.3、分别启动Eureka1、Eureka2、Eureka3
5、分别使用8761、8762、8763 请求、查看监视画面
Eureka Client 端配置
1、修改用户微服务、文章微服务配置文件
eureka:
client:
serviceUrl:
defaultZone: http://peer1:8761/eureka/,http://peer2:8762/eureka/,http://peer3:8763/eureka/
2、查看监控画面
至此、Eureka Server 安全认证、集群都已配置完成。
总结:
1、Eureka Server 安全认证,引入依赖、添加配置类、自定义用户名密码三步。
2、Eureka Client 连接安全认证的服务端,只需在注册服务地址中添加user:password@即可。
3、Eureka Server 集群,只需向对等点添加一个有效的服务地址即可,客户端请求将多个服务实例地址用 "," 隔开。
代码地址:
1、eureka:
https://gitee.com/cpla026/springcloud/tree/master/springcloud_parent/springcloud_eureka
2、文章微服务:
https://gitee.com/cpla026/springcloud/tree/master/springcloud_parent/springcloud_article
3、用户微服务:
https://gitee.com/cpla026/springcloud/tree/master/springcloud_parent/springcloud_user
个人学习分享
更多 springboot、springcloud、docker 文章,关注公众号吧: