Eureka搭建

1.注册中心server端
1.1.引入依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
1.2.配置
server:port: 8761
spring:application:name: eureka-server #服务名称,如多台server,那么保持一致security: #security用户名密码user:name: rootpassword: root
eureka:instance:hostname: localhostprefer-ip-address: true #设置显示ip地址instance-id: ${spring.cloud.client.ipaddress}:${server.port}client:fetch-registry: false #是否注册自己默认为true,如果register-with-eureka: falseservice-url: #注册中心地址  root:root@ 为security用户名密码defaultZone: http://root:root@localhost:8761/eureka/ #http://root:root@${eureka.instance.hostname}:${server.port}/eureka/
1.3.server端security配置
@EnableWebSecurity
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter  {@Overrideprotected void configure(HttpSecurity http) throws Exception {super.configure(http);//解决/eureka下的跨域问题http.csrf().ignoringAntMatchers("/eureka/**");}}
1.4.启动类加上
@EnableEurekaServer
2.provider服务提供方
2.1.client端依赖
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2.2.client配置
server:port: 7070spring:application:name: service-provider #服务名称,多来provider服务名保持一致eureka:instance:hostname: localhostprefer-ip-address: trueinstance-id: ${spring.cloud.client.ipaddress}:${server.port}client:service-url:	defaultZone: http://root:root@localhost:8761/eureka/ #,http://localhost:8762/eureka/ 注册中心url多个注册中心用","分隔service-provider: #ribbon配置 service-provider为服务名ribbon: #RandomRule为轮询NFLoadBlanceRuleClassName: com.netflix.loadblancer.RandomRule
2.3.提供服务接口
@RestController
@RequestMapping("/user")
@Slf4j
public class UserController {@GetMapping("/getUserByName/{name}")public User getUserByName(@PathVariable String name){log.info("name={}",name);return new User("王渝",22);}
}
2.4.开启client
@EnableEurekaClient //可以不加
3.consumer服务使用方
3.1.依赖
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
3.2.配置
server:port: 9090spring:application:name: service-consumereureka:client:service-url: #注册中心向外暴露的地址defaultZone: http://root:root@localhost:8761/eureka/ #,http://localhost:8762/eureka/  多台server已逗号分隔register-with-eureka: falseregistry-fetch-interval-seconds: 10 #表示EurekaClient间隔多久去拉去注册信息 默认30秒
3.3.Controller接口
@RestController
@RequestMapping("/user")
public class UserController {@Autowiredprivate UserServiceFeign userServiceFeign;@GetMapping("/name2/{name}")public User getUserByName2(@PathVariable String name){return  userServiceFeign.getUserName(name);}
}
3.4.Service接口(方法一 feign调用)
//service-provide为服务提供方的名称
@FeignClient(value = "service-provider") 
public interface UserServiceFeign {// /user/getUserByName/{name} 为消息提供方的url@GetMapping("/user/getUserByName/{name}") User getUserName(@PathVariable(value = "name") String name);}
3.5Service接口(方法二 RestTemplate)
@Service
public class UserServiceImpl implements UserService {@Autowiredprivate RestTemplate restTemplate;@Overridepublic User getUserByName(String name) {ResponseEntity<User> response = restTemplate.exchange("http://service-provider/user/getUserByName/" + name,HttpMethod.GET,null,new ParameterizedTypeReference<User>() {});return response.getBody();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/76561.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年最新版动漫短剧系统开发小程序app教程,源码部署上线

以下是动漫短剧系统开发上线的详细教程&#xff0c;包含从0到1的全流程&#xff1a; 一、需求分析&#xff08;关键&#xff1a;明确核心功能&#xff09; 核心功能清单&#xff1a; 用户端&#xff1a;短视频浏览、弹幕评论、收藏/点赞、创作者关注、付费订阅。创作者端&am…

集成学习基础应用实践

集成学习简介 学习目标&#xff1a; 1.知道集成学习是什么&#xff1f; 2.了解集成学习的分类 3.理解bagging集成的思想 4.理解boosting集成的思想 知道】集成学习是什么&#xff1f; 集成学习是机器学习中的一种思想&#xff0c;它通过多个模型的组合形成一个精度更高的…

系统与网络安全------弹性交换网络(1)

资料整理于网络资料、书本资料、AI&#xff0c;仅供个人学习参考。 Trunk原理与配置 Trunk原理概述 Trunk&#xff08;虚拟局域网中继技术&#xff09;是指能让连接在不同交换机上的相同VLAN中的主机互通。 VLAN内通信 实现跨交换的同VLAN通信&#xff0c;通过Trunk链路&am…

python-图片分割

图片分割是图像处理中的一个重要任务&#xff0c;它的目标是将图像划分为多个区域或者对象&#xff0c;例如分割出物体、前景背景或特定的部分。在 Python 中&#xff0c;常用的图片分割方法包括传统的图像处理技术&#xff08;例如阈值分割、区域生长等&#xff09;和深度学习…

【Linux】软件管理机制和软件安装

文章目录 1. 软件管理器1.1 Linux的软件管理方式1.2 Linux的常见软件管理机制RPM和dpkg 2. RPM2.1 rpm安装2.2 rpm升级与更新2.3 rpm查询2.4 rpm验证与数字签名2.5 rpm反安装与重建数据库 3. YUM3.1 yum查询3.2 yum安装/升级3.3 yum删除3.4 yum的配置文件3.5 yum的软件群组功能…

Android第三次面试总结(网络篇)

在计算机网络领域&#xff0c;网络模型是理解通信原理的基础框架。本文将详细解析 OSI 参考模型和 TCP/IP 模型的分层结构、核心功能及实际应用&#xff0c;并通过对比帮助读者建立完整的知识体系。 一、OSI 参考模型&#xff1a;七层架构的理论基石 OSI&#xff08;开放系统…

OpenCV day5

函数内容接上文&#xff1a;OpenCV day4-CSDN博客 目录 9.cv2.adaptiveThreshold(): 10.cv2.split()&#xff1a; 11.cv2.merge()&#xff1a; 12.cv2.add()&#xff1a; 13.cv2.subtract()&#xff1a; 14.cv2.multiply()&#xff1a; 15.cv2.divide()&#xff1a; 1…

智能运维新范式

在制造业、设备制造、工业物联网等领域&#xff0c;“服务周期长、响应效率低” 始终是产品运维的痛点 —— 设备故障突发时&#xff0c;工程师千里奔赴现场的耗时耗力&#xff1b;非计划停机带来的生产损失&#xff1b;客户对服务体验的更高期待…… 传统运维模式早已难以适应…

实现定时发送邮件,以及时间同步

定时发送邮件 部署邮件服务 查看有没有安装mailx,安装了 [root192 ~]# rpm -q mailx mailx-12.5-43.fc38.x86_64去网易拿一下授权码,写到配置文件里 vim /etc/mail.rcset fromxxxxxxx163.com set smtpsmtp.163.com set smtp-auth-userxxxxxxx163.com set smtp-auth-passwor…

状态模式:有限状态机在电商订单系统中的设计与实现

状态模式&#xff1a;有限状态机在电商订单系统中的设计与实现 一、模式核心&#xff1a;用状态切换驱动行为变化 在电商订单系统中&#xff0c;订单状态会随着用户操作动态变化&#xff1a;「已创建」的订单支付后变为「已支付」&#xff0c;发货后变为「已发货」&#xff0…

ubuntu 24.02部署java web服务

ubuntu 24.02 版本推荐使用jdk 21版本部署java web服务&#xff0c;开发后先使用sudo java -jar xxx.jar验证运行结果。 jdk安装&#xff1a;sudo apt install openjdk-21-jdk-headless 编辑服务文本 [Unit] DescriptionWebMgr Java Application Afternetwork.target mysql.…

深入浅出:LDAP 协议全面解析

在网络安全和系统管理的世界中&#xff0c;LDAP&#xff08;轻量级目录访问协议&#xff0c;Lightweight Directory Access Protocol&#xff09;是一个不可忽视的核心技术。它广泛应用于身份管理、认证授权以及目录服务&#xff0c;尤其在企业级环境中占据重要地位。本文将从基…

AI书籍大模型微调-基于亮数据获取垂直数据集

大模型的开源&#xff0c;使得每位小伙伴都能获得AI的加持&#xff0c;包括你可以通过AIGC完成工作总结&#xff0c;图片生成等。这种加持是通用性的&#xff0c;并不会对个人的工作带来定制的影响&#xff0c;因此各个行业都出现了垂直领域大模型。 垂直大模型是如何训练出来…

【2025软考高级架构师】——计算机系统基础(7)

摘要 本文主要介绍了计算机系统的组成&#xff0c;包括硬件和软件两大部分。硬件由处理器、存储器、总线、接口和外部设备等组成&#xff0c;软件则涵盖系统软件和应用软件。文章还详细阐述了冯诺依曼计算机的组成结构&#xff0c;包括 CPU、主存储器、外存等&#xff0c;并解…

AI大模型之模型幻觉

模型幻觉(Model Hallucination)是大模型生成内容时脱离事实、虚构信息的一种现象,尤其在语言模型、图像生成模型等中较为常见。为了更深入地理解这一现象,我们可以将其分为两个维度进行分析:内在幻觉(Intrinsic Hallucination) 和 外在幻觉(Extrinsic Hallucination)。…

spring Ai---向量知识库(一)

在一些垂直领域以及公司内部信息相关或者实时性相关的大模型应用&#xff0c;就无法直接使用chatGPT。 这个时候&#xff0c;向量知识库就进入了。 通过坐标向量最接近的即为匹配相关答案。 向量模型定义&#xff1a;将文档向量化&#xff0c;保证内容越相似的文本&#xff0c;…

Viper配置管理笔记

一、什么是 Viper&#xff1f; Viper 是 Go 语言的一个强大工具&#xff0c;就像一个超级管家&#xff0c;专门负责帮你打理程序的各种配置。它能把配置文件&#xff08;比如 JSON、YAML、TOML 等格式&#xff09;里的内容读出来&#xff0c;还能监控配置文件的变化&#xff0…

实现对象之间的序列化和反序列化

1.什么是序列化&#xff1f; 在项目的开发中&#xff0c;为了让前端更好的分析后端返回的结果&#xff0c;我们一般会将返回的信息进行序列化&#xff0c;序列化就是将返回对象的状态信息转换为一种标准化的格式&#xff0c;方便在网络中传输也方便打印日志时号观察&#xff0…

ThreadLocal - 原理与应用场景详解

ThreadLocal 的基础概念 在 Java 的多线程世界里&#xff0c;线程之间的数据共享与隔离一直是一个关键话题。如果处理不当&#xff0c;很容易引发线程安全问题&#xff0c;比如数据混乱、脏读等。而 ThreadLocal 这个工具类&#xff0c;就像是为线程量身定制的 “私人储物柜”…

iwebsec靶场 文件包含关卡通关笔记11-ssh日志文件包含

目录 日志包含 1.构造恶意ssh登录命令 2.配置ssh日志开启 &#xff08;1&#xff09;配置sshd &#xff08;2&#xff09;配置rsyslog &#xff08;3&#xff09;重启服务 3.写入webshell木马 4.获取php信息渗透 5.蚁剑连接 日志包含 1.构造恶意ssh登录命令 ssh服务…