spring cloud学习之三:服务治理

第三章 Nacos Discovery--服务治理 之前我讲过 Nacos文章 的内容,想要深入了解的 朋友的话,可以去看看 ,我们继续承接上篇讲下去 --> 第二章 : 微服务环境搭建 3.1 服务治理介绍 先来思考一个问题 通过上一章的操作,我们已经可以实现微服务之间的调用。但是我们把服务提供者的网络地址(ip,端口)等硬编码到了代码中,这种做法存在许多问题: 一旦服务提供者地址变化,就需要手工修改代码 一旦是多个服务提供者... 阅读详情

 

对服务治理的理解

服务治理是微服务的核心基础模块,他的作用是用来实现各个微服务实例的自动化注册与发现。

个人理解:在分布式系统中每个应用服务会分别部署到多台服务器上,也就会产生对于同一个接口的请求会有不同的服务器上(同一应用)的响应。对此,就需要对这些服务进行管理(服务注册、服务发现)。服务注册--每个应用以自身服务名作为一组来区分,组里包括该应用在哪些服务器上、IP、端口、版本号、通讯协议等信息。服务发现--服务间的调用不再是直接的指定IP:PORT/xxx的方式进行访问,而是通过之前的注册信息,服务内部进行查找并以某种轮询策略进行分配(那个服务器上的服务实例)访问;定期从服务端获取可用服务列表缓存到本地,当要访问某个服务时,从本地服务列表中进行查询(因此当Eureka宕掉之后其他服务能正常使用,但是不会有新挂接服务的访问信息)。这只是一种粗略的理解,希望能有帮助理解服务治理的概念。下面直接上构建过程。

 Spring Cloud Netflix 之 Euraka

 注:Spring Cloud Euraka,使用Netflix Euraka 来实现服务注册与发现,包含了服务端/客户端,并且都是Java语言进行编写的,所以Euraka主要适用于Java实现的分布式系统,或者是与jvm兼容的语言构建系统。但是由于Euraka服务端的服务治理机制提供了完备的RESTful API,所以也支持非Java语言构建的服务应用进行注册。而客户端部分流行开发平台以提供针对Euraka注册中心的客户端实现框架。

 服务注册中心 Euraka-Server

  1. 首先创建一个简单的spring boot工程:

 点击Next后

 勾选web是创建一个标准的spring boot web 工程,要注意spring boot的版本号;后续会有专门的spring boot的学习文档。

依赖配置pom.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>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.19.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.xing</groupId>
	<artifactId>eurakaone</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>eurakaone</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<!--监控-->
		<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuator -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
			<version>1.5.19.RELEASE</version>
		</dependency>
		<!--eureka 服务端-->
		<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka-server -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-eureka-server</artifactId>
			<version>1.3.5.RELEASE</version>
		</dependency>

	</dependencies>

	<!--springCloud 主体框架-->
	<dependencyManagement>
		<dependencies>
			<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies -->
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Edgware.SR5</version>
				<type>pom</type>
			</dependency>

		</dependencies>
	</dependencyManagement>


	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

在启动类中添加注解: @EnableEurekaServer 是该工程作为服务注册中心启动。

配置文件:添加配置

 访问注册中心界面

 

控制台--显示启动成功

 服务发现--Euraka Client

创建一个基础spring boot工程同上,不同之处在于:

依赖配置pom.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>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.19.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.xing</groupId>
	<artifactId>clientdemo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>demo</name>
	<description>Client Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!--监控-->
		<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuator -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
			<version>1.5.19.RELEASE</version>
		</dependency>
		<!--eureka 客户端-->
		<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-eureka</artifactId>
			<version>1.3.5.RELEASE</version>
		</dependency>


	</dependencies>

	<!--springCloud 主体框架-->
	<dependencyManagement>
		<dependencies>
			<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies -->
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Edgware.SR5</version>
				<type>pom</type>
			</dependency>
		</dependencies>
	</dependencyManagement>


	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

启动类添加注解:@EnableEurekaClient  是该工程可以在注册中心上注册被发现(该工程作为正常的业务工程进行开发)

至此简单的服务注册中心与服务发现工程创建完成!

 

从天气项目看Spring Cloud微服务治理下载 文件中是视频教程的网盘地址与密码;视频主要是深度解析SpringCloud微服务技术及在项目中的实战运用。 立即下载

相关推荐

从天气项目看Spring Cloud微服务治理

从Spring Boot入手,从0到1快速搭建具备高并发能力、界面友好,业务便于理解的天气预报系统,而后剖析单块架构的利弊,从而引入微服务架构的概念,并从1到0实现微服务的拆分,最后引入Spring Cloud 技术来实现对这些微服务的治理 第1章 导学及SpringCloud基石SpringBoot Spring Boot简单介绍及入门 第2章 基于Spring Boot快速构建天气预报系统 基于Spring Boot技术快速迭代,实现天气预报系统 第3章 服务拆分与业务建模 全面讲解了微服务架构原理、产生背景,以及如何来设计微服务:单块架构如何进化为微服务架构、微服务架构的设计原则、如何来设计微服务系统、如何进行微服务的拆分 第4章 天气预报系统的微服务架构设计与实现 详解讲解了如何将将天气预报系统拆分为微服务 第5章 微服务的协调者Spring Cloud 简单介绍下Spring Cloud的产生背景,以及与其他周边的技术栈的关系 第6章 微服务的注册与发现 讲解了在微服务架构中,作为服务消费方的原理与实现方式。同时,采用Ribbon、OpenFeign技术,实现了服务负载均衡和高可用 第7章 微服务的消费 讲解了在微服务架构中,作为服务消费方的原理与实现方式。同时,采用Ribbon、OpenFeign技术,实现了服务负载均衡和高可用 第8章 API 网关 讲解了在微服务架构中,API在微服务架构中的作用。同时,采用Zuul技术,实现了API网关 第9章 微服务的集中化配置 讲解了在微服务架构中,配置管理的重要性。同时,采用Config Server、Config Client技术,来实现微服务的配置管理 第10章 微服务的熔断机制 讲解了在微服务架构中,熔断机制的重要性。同时,采用Hystrix技术,来实现微服务的熔断机制 第11章 微服务的自动扩展介绍 讲解了在微服务架构中,自动扩展的重要性。介绍了自动扩展常用算法和原理,同时,来讲解市面上常见的实现微服务的自动扩展的开源技术

基于springCloud的微服务架构设计

近年来,微服务架构是当前最流行的分布式系统类型之一,相比传统单体架构它解决了数据,服务呈爆炸式增长带来的冲击问题.本文介绍了微服务的基本概念、优缺点以及实现方式,对基于Spring-Cloud的微服务架构模式进行分析,最后给出微服务的应用场景。

Developer of XingKong22star 5424

imooc 从天气项目看Spring Cloud微服务治理

从,天,气,项,目,看,Spring Cloud,微,服,务治理

【SpringCloud】服务治理:Spring Cloud Eureka

Spring Cloud Eureka是Spring Cloud Netlix 微服务套件中的一部分, 它基于Netfix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能。Spring Cloud 通过为 Eureka增加了Spring Boot风格的自动化配置,我们只需通过简单引入依赖和注解配置就能 让SpringBoot构建的微服务应用轻松地与Eureka服务治理体系进行整合。 这里说到服务治理,我们先来看看什么是服务治理。 服务治理 服务治理可以...

weixin_43918614的博客 825

避坑指南:SpringBoot对接拉卡拉支付常见问题与解决方案(含SDK 1.0.6配置技巧)

本文是一份SpringBoot项目对接拉卡拉支付的实战避坑指南。针对SDK 1.0.6版本,详细剖析了从依赖管理、多环境配置、SDK初始化到支付请求构建、回调验签及生产监控的全流程常见问题,并提供了经过验证的解决方案与配置技巧,旨在帮助开发者高效、稳定地集成支付功能。

k5l6m的博客 330

深入解析Vivado FIFO的Standard与FWFT模式:性能对比与应用场景

本文深入解析了Vivado FIFO的Standard与FWFT两种工作模式的核心差异。通过对比数据就绪时机、读延迟、控制逻辑和有效深度等关键特性,并结合图像处理、数据包转发等典型应用场景,为FPGA设计者提供了清晰的选择依据和实战配置指南,帮助优化数据流性能与设计效率。

weixin_29219189的博客 254

Spring Cloud微服务治理框架深度解析

简单来说,Eureka就是一个服务中心,将所有的可以提供的服务都注册到它这里来管理,调用者需要的时候去注册中心获取,然后再进行调用,避免了服务之间的直接调用,方便后续的水平扩展、故障转移等。在单体架构发展一段时间后,公司的业务模式得到了认可,交易量也慢慢的变大了,这时候企业为了应对更大的流量,就会对原有业务进行拆分,比如说:后台系统,前端系统,交易系统等。随着服务数量越来越多,对调用链的分析会越来越复杂,如服务之间的调用关系,某个请求对应的调用链,调用之间消费的时间等,对这些信息进行监控就成了问题。...

m0_68459853的博客 468

手把手教你配置UEFI Secure Boot:从密钥生成到系统验证(附避坑指南)

本文详细介绍了如何配置UEFI Secure Boot,从密钥生成到系统验证的全过程,包括PK、KEK等关键密钥的生成方法,以及常见问题的解决方案。通过实战案例和避坑指南,帮助用户有效提升系统启动安全性,防止恶意软件植入。

weixin_30776273的博客 340

Spring Cloud

在学习一个技术之前,首先我们要了解它是做什么的,我们为什么要用它。不然看再多资料都理解不了,因此我们先来讲解下Spring Cloud Spring Cloud是一套微服务治理框架,几乎考虑到了微服务治理的方方面面。那么接下来具体说下 Spring Cloud在微服务框架中都起到了什么作用,提供了什么便利。 首先我们来看看互联网架构的发展过程: 传统架构发展史 单体...

weixin_30540691的博客 700

短视频团队架构&工作流程---2025.3.30

1、负责短视频日常内容分发上线,包括视频头图、标题、简介、推荐位及部分内容元数据的日常导入、审核、上线、下线,并提供各品类短视频的内容上线计划表。(20)运营:视频推送后,实时跟进视频数据,定期统计分析数据报表,根据数据表现 找到问题,并发送给各个小组的负责人,对下一期视频内容进行调整。(4)运营:收到成片,设计视频头图、标题、简介、推荐位等,分发到各个平台,统计分析视频的数据,对各个平台的视频进行管理、用户互动等。1、负责影视、戏剧、广告、专题片等的策划、组稿选题、材料收集、内容策划。

超越神明 2153

SAP SD 顾问面试问题 consultant interview questionnaire

以下是我个人目前面试团队 SD顾问问题的小结,希望对大家有所帮助, 也可能有回答错误的地方,希望同行不吝赐教。 也希望各位顾问们讲你们遇到的一些面试问题做个跟贴,方便大家共同进步,谢谢。   面试问题清单:  一、销售订单类型影响: 可用性检查,交货类型,输出,信贷,定价,需求,报表,合作伙伴,文本,不完整日志,交货开票,订单开票,公司间开票,统计组,屏幕顺序组,参数文件...

weixin_33825683的博客 1809

从零开始学习Spring Cloud Consul:服务治理的完整解决方案

Consul是HashiCorp开发的一款开源工具,主要用于服务发现、配置管理和服务网格。服务发现:允许服务注册和发现,简化服务之间的通信。健康检查:通过多种方式检查服务健康状态,确保请求只路由到健康的服务实例。KV存储:用于分布式配置和动态管理配置数据。多数据中心支持:能够跨多个数据中心进行服务治理,支持全球部署。

weixin_41859354的博客 1969

点云中概念:匹配、配准、融合

匹配,是寻找与一幅图相似的图像(不对寻找到的图像做矫正)。 配准,是寻找相似图像但是变形后的图像(需要做一些旋转之类的校正变换)。 融合,是多幅图像连接成一幅大图,视频集成中用的比较多。 1)匹配: 2)配准: 比如由于固定式激光雷达受测量方式的限制和被测物体集合形状的限制,固定的话一次只能扫描被测物体有限范围的点云数据(比如一个面??),这需要在多个视角下进行多次扫描(就是将激光雷达前后左右四个面都扫一下??对的),然而每个视角下得到点云数据都具有独立的坐标系,无法直接进行拼接(拼接就是将四个面

m0_37957160的博客 1万+

SpringCloud学习之一:服务治理 Spring Cloud Eureka

一、什么是Spring Cloud Eureka Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,基于Netflix Eureka进行二次封装,主要完成微服务架构中的服务治理功能。 二、服务治理 实现微服务实例的自动化注册与发现。 服务注册:在服务治理框架中,通常都会构建一个注册中心,每个服务单元向注册中心登记自己提...

weixin_30256505的博客 132

IgH EtherCAT 从入门到精通:第 4 章 网络设备驱动选型与配置

摘要:本章详细介绍了EtherCAT主站网络设备驱动的选型与配置。IgH EtherCAT Master提供Generic通用驱动和Native原生驱动两种方案:Generic驱动通过Linux Socket接口实现,兼容性强但实时性较差;Native驱动通过修改网卡驱动绕过内核协议栈,具有更低延迟和更小抖动。文章具体分析了e1000/e1000e/igb/igc等Intel网卡驱动以及r8169/8139too等Realtek驱动的配置方法,并提供了驱动选型建议。对于实时性要求高的场景,推荐使用Nativ

从事嵌入式linux android驱动开发,拥有全栈能力 304

YOLO26核心模块解析:SimSPPF轻量化空间金字塔池化的原理与优势详解

SimConv作为现代深度学习的基础构建块,其设计虽然简洁,但包含了多项关键技术的有机组合。通过将卷积、批量归一化和激活函数整合为统一模块,SimConv不仅提供了稳定的训练特性和良好的表达能力,还为后续更复杂网络架构的发展奠定了基础。SimConv的成功在于其体现了深度学习设计的核心理念:简洁性与有效性的平衡。它证明了通过合理的技术组合,可以在不显著增加复杂度的前提下大幅提升模型性能。随着深度学习技术的持续发展,SimConv及其变种将继续作为重要的基础组件,推动计算机视觉和人工智能技术的进步。

know_F0727的博客 2619

SpringCloud学习笔记二:Spring Cloud Eureka 服务治理

Spring Cloud Eureka的用处 Spring Cloud Eureka是Spring Cloud Netflix的微服务架构中最核心的一部分,主要负责完成微服务架构中的服务治理功能,它用来实现各个微服务实例的自动化注册和发现。 本本通过以下几个demo来分享如何通过Eureka进行服务治理 搭建服务注册中心 注册服务提供者 服务发现和消费 一、搭建服务注册中心 项目结构图...

不了痕的博客 348

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

spring cloud学习一:服务治理框架Eureka

Eureka分为两部分 注册中心:用于维护客户端注册表。 客户端:通过注册中心获取其他客户端的注册信息表,可通过客户端负载均衡的方式访问服务实例。每个客户端即可是服务提供者,也可使服务消费者。 服务注册 客户端服务实例启动成功后,会发送一个http请求提供本身的一些信息注册中心中心,这些信息包括服务名称、ip地址、端口号、版本信息和通信协议,注册中心会将这些信息写入自己的注册...

qq_32191741的博客 216

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

spring cloud学习之三:服务治理(高可用)

翻译成中文大概是:自我保护模式已关闭。如果出现网络/其他问题,这可能无法保护实例过期。 是因为设置 #本地调试 关闭“自我保护”功能,防止已关闭的实例无法被注册中心剔除的问题 eureka.server.enable-self-preservation=false 上一节的学习了单个服务注册的搭建,已经基本了解了服务注册、服务发现的关系;但是在实际生产环境下,为保证服务的可靠性,高可用等...

Small_StarOne的博客 504

【Spring Cloud】学习教程(一):服务治理技术概览【Finchley】

服务治理技术概览1、Spring Cloud Netflix 的优势2、Spring Cloud Netflix 主要组件2.1 服务注册与发现 ——Eureka2.1.1 Eureka Server2.1.2 Service Provider2.1.3 Service Consumer2.2 服务调用端负载均衡 ——Ribbon2.3 服务调用端熔断 ——Hystrix2.3.1 雪崩效应2.3.2 断路器2.3.3 监控2.4 服务调用端代码抽象和封装 ——Feign参考 Spring Cloud Ne

然后微微笑的博客 346

SpringCloud学习笔记(3)—— 服务治理:Spring Cloud Eureka

Spring Cloud Eureka 是Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能。 我们将学习下面的这几个核心内容 构建服务注册中心 服务注册与服务发现 Eureka 的基础架构 Eureka 的服务治理机制 Eureka 的配置 一、服务治理 服务治理可以说是微服务架构中最为核心和基...

qq_27868849的博客 241

为什么我们的微服务没有用Spring Cloud?

相比之下,选择与团队技术栈更契合的工具(如Go的Micro或Kubernetes原生方案)能更快落地,降低协作成本。Spring Cloud虽然功能全面,但其依赖的组件较多,例如Eureka、Ribbon、Hystrix等,会带来较高的复杂性和资源消耗。我们的业务场景对性能和资源占用有严格要求,因此选择了更轻量级的框架(如gRPC或Kong),以减少不必要的开销,提升服务响应速度。在微服务架构的选型中,Spring Cloud凭借其丰富的生态和成熟的解决方案成为许多团队的首选。

jvaext_705的博客 280

Istio 知识图谱对比指南:Istio 与 Linkerd2、Spring Cloud 该如何选择?

**Istio 知识图谱**(istio-knowledge-map)是 ServiceMesher 社区推出的开源项目,把服务网格 Istio 的架构、流量管理、安全、可观察性等知识点整理成一张可离线阅读的**知识图谱(脑图)**,其中专门设有"Istio 与同类产品对比"分支。本文基于这份 Istio 知识图谱,带你快速看懂 Istio、Linkerd2、Spring Cloud 三大主流微服

gitblog_01199的博客 438

机器学习 A/B 测试“翻车”实录:Spring Boot 模型路由与效果评估的工程化破局之道

本文探讨了在Spring Boot生产环境中部署机器学习模型A/B测试时常见的工程化挑战及解决方案。文章首先揭示了四大典型问题:流量分配失控、配置硬编码、效果数据缺失和版本管理混乱。随后提出系统化解决框架,重点包括: 动态路由层:通过策略模式+配置中心实现模型版本的无缝切换,避免硬编码if-else 配置热更新:利用Spring Cloud Config/Nacos实现实验参数动态调整,无需重启服务 数据闭环:采用结构化日志和AOP切面统一收集预测指标与用户反馈 安全回滚:通过Docker标签和路由标签确保

深山技术宅的博客 304
上一篇: spring cloud学习之二:spring cloud简介
下一篇: spring cloud学习之三:服务治理(高可用)
Small_StarOne
博客等级 码龄8年 11粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值