2月16日java假期学习读书笔记
一、学习目标
了解Eureka的高级配置和优化。
掌握如何在Spring Cloud微服务架构中实现服务发现的高可用性。
学习Spring Cloud Gateway的安全性增强功能。
通过实际练习,构建一个高可用且安全的微服务架构。
理解高可用性和安全性在微服务架构中的重要性。
二、学习内容
(一)Eureka的高级配置
- Eureka简介
Eureka是一个基于REST的服务发现框架,用于微服务架构中的服务注册与发现。
它支持服务的动态注册、心跳检测和故障排除。 - Eureka的高级配置
配置Eureka客户端:
properties
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.instance.prefer-ip-address=true
eureka.instance.instance-id=${spring.cloud.client.hostname}😒{spring.application.name}😒{spring.application.instance_id:${random.value}}
配置Eureka服务器:
properties
server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.server.enable-self-preservation=false
eureka.server.eviction-interval-timer-in-ms=5000
高可用性配置:
配置多个Eureka服务器实例,实现集群化。
properties
eureka.client.service-url.defaultZone=http://eureka1:8761/eureka/,http://eureka2:8762/eureka/
(二)Spring Cloud Gateway的安全性增强
- Spring Cloud Gateway的安全性
Spring Cloud Gateway支持通过Spring Security实现安全性增强,保护API网关,限制对后端服务的访问。 - 配置Spring Cloud Gateway的安全性
添加依赖:
xml
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests()
.antMatchers("/user/**").authenticated()
.anyRequest().permitAll()
.and()
.oauth2Login();
}
}
配置OAuth2资源服务器:
java
@Configuration
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
@Override
public void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/user/**").authenticated()
.anyRequest().permitAll();
}
}
(三)实际练习:构建一个高可用且安全的微服务架构
- 创建Eureka服务器集群
启动多个Eureka服务器实例,配置高可用性。 - 创建微服务客户端
在微服务客户端中添加Eureka客户端配置,注册到Eureka服务器。 - 配置Spring Cloud Gateway
在API网关中配置安全性,保护后端服务。 - 运行和测试
启动所有服务,测试服务发现的高可用性。
验证API网关的安全性保护是否正常工作。
三、学习心得
Eureka的高可用性配置
通过配置多个Eureka服务器实例,可以实现服务发现的高可用性。
高可用性配置确保在某个Eureka服务器故障时,服务注册和发现仍然可以正常进行。
Spring Cloud Gateway的安全性
Spring Cloud Gateway可以通过Spring Security实现安全性增强,保护后端服务。
它支持OAuth2、JWT等多种安全性机制,可以灵活配置。
高可用性和安全性的重要性
高可用性和安全性是微服务架构的关键特性,确保系统在故障时能够快速恢复。
它们提高了系统的灵活性和可扩展性,适用于复杂业务场景。
实践的重要性
通过实际构建和测试高可用且安全的微服务架构,我更好地理解了Eureka和Spring Cloud Gateway的高级配置。
实践可以帮助快速发现和解决问题,加深对知识点的理解。