Spring Cloud之路---1.注册中心eureka与服务提供者

article/2025/9/18 23:17:55

根据方志鹏大神的观点而来,他的博客地址:
http://blog.csdn.net/forezp/article/details/70148833


简介:Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管平台。
——–Spring Cloud 官网


一、服务提供者eureka的注册中心

1.1创建Spring Boot工程(注:我的IDE是STS)

这里写图片描述
这里写图片描述
持续下一步,就能创建好一个springboot工程啦
注:创建好后的maven工程小图标的右上角有一个s,工程名右边也有个“[boot]”

1.2pom.xml文件

<?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.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>demo</name><description>Demo project for Spring Cloud</description><!-- Spring Boot工程中必要 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.2.RELEASE</version><relativePath /> <!-- lookup parent from repository --></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><!--eureka server --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka-server</artifactId></dependency><!-- spring boot test --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><!-- Spring Cloud必要 --><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.RC1</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><!-- maven插件 --><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories></project>

1.3application.java

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@EnableEurekaServer // 开启注册中心
@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

1.4application.yml

注:创建工程后此配置文件后缀为application.properties,手动改为application.yml;理由是有层次感。

server:#注册中心端口号port: 8761eureka:instance:hostname: localhost##false表明自己是一个serverclient:registerWithEureka: falsefetchRegistry: falseserviceUrl:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

1.5有界面的注册中心

启动main方法,在浏览器中输入localhost:8761
在这里写图片描述
等创建客户端实例后,在此会显示


二、服务提供者eureka的客户端

2.1pom.xml文件

<?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.example</groupId><artifactId>service-hi</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>service-hi</name><description>Demo project for Spring Cloud</description><!-- Spring Boot工程中必要 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.2.RELEASE</version><relativePath /> <!-- lookup parent from repository --></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><!--eureka server --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><!-- spring boot web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- spring boot test --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><!-- Spring Cloud必要 --><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.RC1</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><!-- maven插件 --><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories></project>

2.2application.java

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@SpringBootApplication
@EnableEurekaClient // 表示这个类为服务提供者客户端
@RestController
public class ServiceHiApplication {public static void main(String[] args) {SpringApplication.run(ServiceHiApplication.class, args);}@Value("${server.port}")String port;@RequestMapping("/hi")public String home(@RequestParam String name) {return "hi "+name+",i am from port:" +port;}
}

2.3application.yml

eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/
server:port: 8762
spring:application:#必须指定这个name,与工程名一致name: service-hi  

2.4有实例的注册中心

这里写图片描述
访问 localhost:8762(要带参数)
这里写图片描述


github地址:https://github.com/learningsc/myspringcloud


分享记忆,留住感动;虚心接受各位大神的指教。有问题随时交流,欢迎留言。


http://chatgpt.dhexx.cn/article/ViEGNI0b.shtml

相关文章

SpringBoot 生产中 16 条最佳实践

欢迎关注方志朋的博客&#xff0c;回复”666“获面试宝典 Spring Boot是最流行的用于开发微服务的Java框架。在本文中&#xff0c;我将与你分享自2016年以来我在专业开发中使用Spring Boot所采用的最佳实践。这些内容是基于我的个人经验和一些熟知的Spring Boot专家的文章。 在…

SpringBoot快速开发利器:CLI 属实真牛逼!

欢迎关注方志朋的博客&#xff0c;回复”666“获面试宝典 来源&#xff1a;blog.csdn.net/qq_31635851/article/details/120411711/ 安装 Spring Boot CLI演示项目结构用 Spring Boot CLI 创建 Hello World 示例使用 Grab 注释Spring Boot CLI 测试应用程序使用 Spring Boot CL…

一个程序员的水平能差到什么程度?

欢迎关注方志朋的博客&#xff0c;回复”666“获面试宝典 来源&#xff1a;www.zhihu.com/question/314644210 逛知乎的时候&#xff0c;看到一个有意思的话题&#xff1a;一个程序员的水平能差到什么程度&#xff1f; 看了下面的回答&#xff0c;不得不说&#xff0c;真是小刀…

spring boot面试问题集锦

方志鹏 2019/09/06 Q: 什么是spring boot&#xff1f; A&#xff1a;多年来&#xff0c;随着新功能的增加&#xff0c;spring变得越来越复杂。只需访问页面https://spring.io/projects&#xff0c;我们将看到所有在应用程序中使用的不同功能的spring项目。如果必须启动一个新…

五分钟体验分布式事务框架Seata

Seata 是一款开源的分布式事务解决方案&#xff0c;致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式&#xff0c;为用户打造一站式的分布式解决方案。本教程旨在为读者提供一个快速入门seata的案例&#xff0c;详细使用请参考…

SpringBoot非官方教程 | 第二十五篇:2小时学会springboot

转载请标明出处&#xff1a; https://www.fangzhipeng.com/springboot/2017/05/25/sb25-2hour.html 本文出自方志朋的博客 一.什么是spring boot Takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configurat…

Spring Cloud Alibaba教程:使用Nacos作为配置中心

转载请标明出处&#xff1a; https://blog.csdn.net/forezp/article/details/90729945 本文出自方志朋的博客 个人博客纯净版https://www.fangzhipeng.com/springcloud/2019/06/01/sc-nacos-config.html 在上一篇文章中讲解了如何使用Nacos作为服务注册中心注册。Nacos除了可以…

20 个实例玩转 Java 8 Stream

点击关注公众号&#xff0c;Java干货及时送达 先贴上几个案例&#xff0c;水平高超的同学可以挑战一下&#xff1a; 1. 从员工集合中筛选出salary大于8000的员工&#xff0c;并放置到新的集合里。 2. 统计员工的最高薪资、平均薪资、薪资之和。 3. 将员工按薪资从高到低排序&am…

2019新鲜出炉的BAT通关面试题 Java岗

点击上方“方志朋”&#xff0c;选择“置顶或者星标” 你的关注意义重大&#xff01; 来源于公号&#xff1a;孤独烟 由于近期是互联网寒冬&#xff0c;然而烟哥的好友还是顶着重重压力出去面试&#xff0c;最终斩获无数offer。 在烟哥的沟通下&#xff0c;终于套得其中一套题…

史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)

转载请标明出处&#xff1a; https://www.fangzhipeng.com/springcloud/2017/06/02/sc02-rest-ribbon.html 本文出自方志朋的博客 个人博客纯净版&#xff1a;https://www.fangzhipeng.com/springcloud/2017/06/02/sc02-rest-ribbon.html 最新Finchley版本&#xff1a; https:…

史上最简单的 SpringCloud 教程 | 终章

转载请标明出处&#xff1a; http://blog.csdn.net/forezp/article/details/70148833 本文出自方志朋的博客 扫码关注有惊喜 &#xff08;转载本站文章请注明作者和出处 方志朋的博客&#xff09; 个人博客纯净版https://www.fangzhipeng.com/spring-cloud.html 错过了这一篇…

SpringCloud-Finchley集成Zuul服务网关组件并实现回退

1.服务网关Zuul介绍 服务网关是微服务架构中一个不可或缺的部分。通过服务网关统一向外系统提供REST API的过程中&#xff0c;除了具备服务路由、均衡负载功能之外&#xff0c;它还具备了权限控制等功能。Spring Cloud Netflix中的Zuul就担任了这样的一个角色&#xff0c;为微…

数控机床设备物联网远程控制解决方案

数控机床设备应用物联网技术方案实现远程监控管理背景 数控机床设备利用先进的计算机和网络技术进行设备物联网。利用计算机硬件、软件、网络设备通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以战略竟优、提高效率为目的,支持高层决策、中层管理…

远程控制树莓派

一、局域网 1. 让树莓派连上手机热点或wifi 将空白的ssh文件放入树莓派SD卡的boot盘 手动创建一个空白记事本.txt文件&#xff0c;命名为ssh&#xff0c;重命名&#xff0c;删掉.txt扩展名。将这个文件放入SD卡的boot盘中。 配置wifi文件&#xff0c;放入SD卡的boot盘 用同样…

推荐一款国产远程控制软件ToDesk,轻量级,不限速,开启云办公新模式

一、远程办公新时代 前段时间&#xff0c;我们公司使用的向日葵远程控制竟然崩了&#xff0c;导致无法登录&#xff0c;当时以为是公司网络出问题了&#xff0c;结果并妹有。后来就看到官方回应说&#xff0c;因为大量用户涌入导致服务器宕机了&#xff01; 不管你们信不信&a…

远程控制电脑

任意网络环境下的设备远程控制任意网络环境下的设备 对于远程操控电脑已经不是什么难的事情了&#xff0c;但是对于有的操作方法其实还是有难度的&#xff0c;今天我就介绍一下如何远程控制电脑。 1、远程控制的好处 远程控制的好处那就多了&#xff0c;不管你是学生还是…

企业如何实现IoT物联网远程控制

在IoT物联网革命中&#xff0c;一切都正在变得智能化&#xff0c;因此也可以称其为连接设备的革命。如今&#xff0c;物联网采用信息化技术手段&#xff0c;促进了人类生活和生产服务的全面升级&#xff0c;从智能家居硬件、智能穿戴、智能交通、智能医疗、智能车载、嵌入式开发…

服务器如何开启远程控制,远程控制命令设置方法介绍

大家在长时间的使用电脑以后,电脑就会出现一些毛病,这个时候人们都会给电脑维修工打电话亲上 门 儿服务,而大家都知道上门儿服务费用是非常的高的。但是远程控制出现就解决了这个问题,大家可以通过网络工程师对自己电脑进行远程控制,从而实现修理电脑的目的。但是有非常多…

快速实现远程控制Android手机

直接在web端或者手机端远程控制其他手机&#xff0c;想想都刺激&#xff0c;于是在google上一阵狂搜&#xff0c;发现很多方案都要root手机&#xff0c;直接pass&#xff0c;还有的方案需要写大量看不懂的代码&#xff0c;pass。最近一直在研究的冰狐智能辅助平台出了一个远程控…

内网远程控制安卓设备软件推荐

有些企业需要在内网环境远程控制安卓设备&#xff0c;实现批量维护安卓设备等需求。有什么软件或者解决方案&#xff0c;可以实现内网远程控制安卓设备呢&#xff1f; 这个问题要分两个情况解决&#xff0c;看你能不能走外网。如果IT和安卓设备属于同一个局域网&#xff0c;但…