Spring Cloud 微服务注册与发现 Eureka| 学习笔记

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 快速学习 Spring Cloud 微服务注册与发现 Eureka。

开发者学堂课程【Spring Cloud 微服务架构设计与开发实战 Spring Cloud 微服务注册与发现 Eureka】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/60/detail/1085


Spring Cloud 微服务注册与发现 Eureka

 

内容简介:

一、服务注册与发现

二、Spring Cloud 架构图

三、Spring Eureka 注册中心

四、写代码

 

一、服务注册与发现

对于微服务来说,我们要对服务进行拆分,服务实例进行部署的时候,实例数量是不固定的的(可能是两个实例,也可是20个或200个等),整个的微服务实例数量是弹性伸缩的和传统的架构不太一样,微服务

其实定位一个一个特点弹性有点像云计算、云原生靠拢,这也是他的一个优势,微服务本身拆分以后能够进行很好的治理进行快速地部署。

1. 大规模微服务集群架构(为了方便客户端的调用)

2. 许多服务实例                  

3. 客户端要找到自己调用的服务

4. 新服务上线

5. 某个服务宕机,下线

6. 实时监控服务的状态

注:服务监控、服务查找、服务注册均等分布

1. Spring Cloud Eureka 服务发现与注册

1. Neflix 公司开源的项目

2. Eureka: 注册中心

3. -个基于 REST 的中心服务,管理服务

4. 实现云端的服务注册和服务发现。

5. Eureka 组件组成: Eureka 服务器和 Eureka 客户端

6. 竞争对手 ZooKeeper

7. 服务发现模块(Eureka) 是 Netflix 的核心

8. Spring Cloud Netflix 提供的简化开发模板

9. 直接使用 spring boot,创建项目

10. 添加 @EnableEurekaServer 开发注册服务中心

 

二、Spring Cloud 架构图

对于客户端的话,微服务上线来做注册,微服务的实例是动态的也有可能是异态,

根据客户端的压力来做弹性伸缩,不需要直接找微服务,先找注册中心,找搜索最新的列表,客户端可以根据不同数列的数量去调用,之后结合算法去进行一个灵活地调动。

image.png


三、.Spring Eureka 注册中心

1.创建Eureka 服务注册中心项目

2.添加 @EnableEurekaServer

3.将 spring boot 应用改造成 Eureka 服务注册中心

4.application.properties 增加配置

5.打包项目

6.运行

7.测试页面

8.参考https://spring.ic/guides/gs/service-registration-and-discovery/

5.application.properties 配置

· server.port=8761
· eureka.client.register-with-eureka=false
· eureka.client.fetch-registry=false
· eureka.client.serviceUrl.defaultZone=http://localhost:$(server.port]/eureka/
·logging.level.com.netflix.eureka=OFF
· logging.level.com.netflix.discovery=OFF

 

四、写代码

1.打开 Eclipse,新建一个 New Spring Starter Project

2.把 Name 改为 EurekaDemo

3.将 Available 改为 Eureka 并且选中 Eureka Server

4.将 Available 改为 dev 并且选中 Spring Boot DevTools

5.@EnableEurekaServer

6.修改配置文件

Spring.application.name=EurekaServer

Server.port=8761

eureka.client.service-url,defaultZone=http://localhost:8761/eureka/

7.启动程序

8.打开浏览器输入 localhost:8761

9.打开配置文件输入

eureka.client.fetch-registry=false

eureka.client.register-with-eureka=false;

10.打开浏览器刷新

相关文章
|
21天前
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo:微服务通信的高效解决方案
【10月更文挑战第15天】随着信息技术的发展,微服务架构成为企业应用开发的主流。Spring Cloud Dubbo结合了Dubbo的高性能RPC和Spring Cloud的生态系统,提供高效、稳定的微服务通信解决方案。它支持多种通信协议,具备服务注册与发现、负载均衡及容错机制,简化了服务调用的复杂性,使开发者能更专注于业务逻辑的实现。
45 2
|
4天前
|
网络安全 Nacos 开发者
Nacos作为流行的微服务注册与配置中心,“节点提示暂时不可用”是常见的问题之一
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。然而,“节点提示暂时不可用”是常见的问题之一。本文将探讨该问题的原因及解决方案,帮助开发者快速定位并解决问题,确保服务的正常运行。通过检查服务实例状态、网络连接、Nacos配置、调整健康检查策略等步骤,可以有效解决这一问题。
14 4
|
4天前
|
Java 网络安全 Nacos
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。然而,实际使用中常遇到“客户端不发送心跳检测”的问题。本文深入探讨该问题的原因及解决方案,帮助开发者快速定位并解决问题,确保服务正常运行。通过检查客户端配置、网络连接、日志、版本兼容性、心跳策略、注册状态、重启应用和环境变量等步骤,系统地排查和解决这一问题。
16 3
|
4天前
|
安全 Nacos 数据库
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改。本文详细探讨了这一问题的原因及解决方案,包括限制公网访问、使用HTTPS、强化数据库安全、启用访问控制、监控和审计等步骤,帮助开发者确保服务的安全运行。
15 3
|
1月前
|
Java 数据库 数据安全/隐私保护
Spring 微服务提示:使用环境变量抽象数据库主机名
Spring 微服务提示:使用环境变量抽象数据库主机名
38 1
|
1月前
|
监控 Java 对象存储
监控与追踪:如何利用Spring Cloud Sleuth和Netflix OSS工具进行微服务调试
监控与追踪:如何利用Spring Cloud Sleuth和Netflix OSS工具进行微服务调试
41 1
|
2月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
2月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
3月前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器到微服务的架构演变
【8月更文挑战第29天】在数字化时代的浪潮下,云原生技术以其灵活性、可扩展性和弹性管理成为企业数字化转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者了解云原生的基本概念,探索容器化技术的奥秘,并深入微服务架构的世界。我们将一起见证代码如何转化为现实中的服务,实现快速迭代和高效部署。无论你是初学者还是有经验的开发者,这篇文章都会为你打开一扇通往云原生世界的大门。
|
1天前
|
消息中间件 供应链 架构师
微服务如何实现低耦合高内聚?架构师都在用的技巧!
本文介绍了微服务的拆分方法,重点讲解了“高内聚”和“低耦合”两个核心设计原则。高内聚强调每个微服务应专注于单一职责,减少代码修改范围,提高系统稳定性。低耦合则通过接口和消息队列实现服务间的解耦,确保各服务独立运作,提升系统的灵活性和可维护性。通过领域建模和事件通知机制,可以有效实现微服务的高效拆分和管理。
16 7
下一篇
无影云桌面