Spring Cloud之Eureka服务发现

本文详细介绍了SpringCloud框架中的Eureka服务发现组件,包括Eureka服务器的配置与部署,客户端集成,以及高可用性设置。同时,还提供了安全认证的配置方法。


Spring Cloud官网

Spring Cloud概述

        Spring Cloud是通过自动配置为Spring Boot应用程序提供Netflix OSS集成,并绑定到Spring环境和其他Spring编程模型成语。提供的模式包括服务发现(Eureka),断路器(Hystrix),智能路由(Zuul)和客户端负载平衡(Ribbon)等

Eureka服务器

Eureka:服务发现

        Netflix服务发现服务器和客户端是Eureka。可以将服务器配置和部署为高可用性,每个服务器将注册服务的状态复制到其他服务器。

Eureka服务端
  1. 添加maven支持

    <dependency>
    		<groupId>org.springframework.cloud</groupId>
    		<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
    
  2. 在Application中添加注解

    @EnableEurekaServer

    示例:
    @SpringBootApplication
    @EnableEurekaServer
    public class Application {
    		public static void main(String[] args) {
    			new SpringApplicationBuilder(Application.class).web(true).run(args);
    		}
    }
    
  3. 在application.xml中添加
    3.1 单机版示例:

    server:	
    	port: 8001  # 服务端口
    
    spring:
    	application:
    		name: server-eureka   # 应用名称
    				
    eureka:
    	instance:
    		hostname: localhost # 服务所在主机
    	client:
    		service-url:
    			defaultZone: http://localhost:8001/eureka # eureka服务器的地址
    		fetch-registry: false # 获取注册列表
    		register-with-eureka: true # 是否将自己也注册到其他eureka节点上。
    	server:
    		enable-self-preservation: false   # 测试时关闭自我保护机制,保证不可用服务及时踢出
    

    3.2 高可用(HA):

    	server:
    	  port: 8001
    
    	spring:
    	  application:
    		name: server-eureka
    	  profiles: service1 # 【eureka服务器集群 —— 节点1】
    
    	eureka:
    	  instance:
    		hostname: localhost # 服务所在主机
    	  client:
    		service-url:
    		  defaultZone: http://localhost:8002/eureka,http://localhost:8003/eureka # eureka服务器的地址
    		fetch-registry: false # 获取注册列表
    		register-with-eureka: true # 是否将自己也注册到其他eureka节点上。
    	  server:
    		enable-self-preservation: false   # 测试时关闭自我保护机制,保证不可用服务及时踢出
    		
    	---
    
    	server:
    	  port: 8002
    
    	spring:
    	  application:
    		name: server-eureka
    	  profiles: service2 # 【eureka服务器集群 —— 节点2】 用于main方法启动的时候,用户需要输入的内容。标识启动的是哪一个eureka服务器;
    
    	eureka:
    	  instance:
    		hostname: localhost # 服务所在主机
    	  client:
    		service-url:
    		  defaultZone: http://localhost:8001/eureka,http://localhost:8003/eureka # eureka服务器的地址
    		fetch-registry: false # 获取注册列表
    		register-with-eureka: true # 是否将自己也注册到其他eureka节点上
    
    	---
    
    	server:
    	  port: 8003
    
    	spring:
    	  application:
    		name: server-eureka
    	  profiles: service3 # 【eureka服务器集群 —— 节点3】
    
    	eureka:
    	  instance:
    		hostname: server.eureka.service3.com # 服务所在主机
    	  client:
    		service-url:
    		  defaultZone: http://localhost:8001/eureka,http://localhost:8002/eureka # eureka服务器的地址
    		fetch-registry: false # 获取注册列表
    		register-with-eureka: true # 是否将自己也注册到其他eureka节点上
    		
    	```
    
  4. 验证

    (单机)http://localhost:8001/eureka
    (HA)http://localhost:8001/eureka ; http://localhost:8002/eureka ; http://localhost:8003/eureka    
    
Eureka客户端
  1. maven添加支持

    <dependency>
    	<groupId>org.springframework.cloud</groupId>
    	<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    
  2. 在Application中添加注解

    @EnableDiscoveryClient		#服务发现,注册到eureka服务器上
    
  3. 在application.xml中添加

    eureka:
    	instance:
    		hostname: localhost # 服务提供者应用所在的主机
    		lease-renewal-interval-in-seconds: 2 # 心跳时间
    		lease-expiration-duration-in-seconds: 3 # 告诉服务端,如果3s之内没有发心跳,将其出掉
    	client:
    		service-url: # 指定eureka服务器集群列表地址
    		defaultZone: http://localhost:8001/eureka,http://localhost:8002/eureka,http://localhost:8003/eureka
    
  4. 验证服务

    (单机)http://localhost:8001/eureka
    (HA)http://localhost:8001/eureka    http://localhost:8002/eureka    http://localhost:8003/eureka    
    
Eureka添加安全认证
  1. 添加配置

    spring:
      application:
        name: server-eureka
        
      security:
          user:
            name: admin
            password: admin
    
  2. 访问界面
    在这里插入图片描述

html,css,js,javascript,按钮 # 灵动波纹按钮:打造富有生命力的交互视觉盛宴 在网页设计中,按钮作为用户交互的核心元素,其视觉表现力直接影响用户体验。这款“灵动波纹按钮”以独特的动态效果打破传统静态设计的局限,通过CSS动画赋予界面鲜活的生命力。按钮采用柔和的青绿色背景(#00b894)与纯白色文字形成鲜明对比,圆角切割的边缘(20px圆角设计)增添了亲和力,而左下角的直角处理则巧妙平衡了圆润感,塑造出既友好又不失个性的视觉形象。 其核心亮点在于悬停时触发的波浪动画——通过伪元素构建的半透明白色矩形,以45度角为轴进行周期性位移,模拟水波流动的韵律。动画采用1秒为周期的ease-in-out曲线,使波纹运动既有加速的张力又有减速的缓冲,呈现出自然流畅的视觉节奏。这种设计不仅增强了交互反馈的直观性,更通过动态元素吸引用户注意力,引导操作行为。 技术实现上,通过Tailwind CSS实现基础样式布局,结合CSS伪元素与关键帧动画构建动态效果:利用overflow:hidden隐藏超出按钮范围的动画元素,通过transform属性的translate与rotate组合实现斜向位移,rgba颜色模式确保波纹的透明层次感。整体代码结构简洁清晰,将样式与逻辑分离,既保证了视觉效果的精致度,又兼顾了开发维护的便捷性。 此设计适用于各类需要强调交互的场景,无论是表单提交、功能触发还是页面跳转,都能通过这一灵动的波纹效果提升用户操作的愉悦感,让简单的按钮成为界面设计中的点睛之笔,在细节处彰显设计的温度与巧思。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值