热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringCloud微服务架构(一)创建微服务的注册与发现中心Eureka

理论:SpringCloud的服务注册中心可选用:Eureka、Zookerper、Consul、etcd等等.Eureka包含两个组件:EurekaServer和EurekaCl

理论:

SpringCloud的服务注册中心可选用:Eureka、Zookerper、Consul、etcd等等.
Eureka包含两个组件:EurekaServerEurekaClient;
EurekaServer提供服务发现的能力,各个微服务启动时,会向EurekaServer注册自己的信息(eg:IP,端口,微服务名称等),EurekaServer会存储这些信息.
EurekaClient是一个Java客户端,用于简化与EurekaServer的交互.

ps:
1.微服务启动后,会周期性(默认30秒)地向EurekaServer发送心跳以续约自己的"租期"
2.如果EurekaServer在一定时间内没有接收到某个微服务实例的心跳,EurekaServer将会注销该实例.(默认90秒)
3.默认情况下,EurekaServer同时也是EurekaClient.多个EurekaServer实例互相之间通过复制的方式,来实现服务注册表中数据的同步
4.EurekaClient会缓存服务注册表中的信息.这种方式有一定的优势--
 首先,微服务无须每次请求都查询EurekaServer,从而降低了EurekaServer的压力;
 其次,即使EurekaServer所有节点全部宕掉,服务消费者依然可以使用缓存中的信息找到服务提供者并完成调用.
综上所述,Eureka通过心跳检查、客户端缓存等机制,提供了系统的灵活性、可伸缩性和可用性.

第一步,首先创建一个maven项目

1.选择"File"--"New" --" Project",选择"Maven"--"Webapp"这一项,点击"Next"

SpringCloud微服务架构(一)--创建微服务的注册与发现中心Eureka

 2.输入自己心仪的项目信息

SpringCloud微服务架构(一)--创建微服务的注册与发现中心Eureka 3.配置好Maven的仓库位置及set文件

SpringCloud微服务架构(一)--创建微服务的注册与发现中心Eureka SpringCloud微服务架构(一)--创建微服务的注册与发现中心Eureka

 Maven项目创建好后,结构如下图:

 SpringCloud微服务架构(一)--创建微服务的注册与发现中心Eureka

 

第二步,在已创建好的Maven项目上,新建一个Springboot项目作为Eureka的EurekaServer

步骤如下图:

1.在springcloud-demo上,右键选择"New"--"Module"

SpringCloud微服务架构(一)--创建微服务的注册与发现中心Eureka

 2.选择"Spring Initializr"选项,即创建Springboot项目SpringCloud微服务架构(一)--创建微服务的注册与发现中心Eureka

3.输入自己心仪的项目名称 SpringCloud微服务架构(一)--创建微服务的注册与发现中心Eureka

 4.在依赖选择内,选中"Spring Cloud Discovery"--"Eureka Server"的依赖即可

SpringCloud微服务架构(一)--创建微服务的注册与发现中心EurekaSpringboot项目创建好后,项目总体结构如下图: 

SpringCloud微服务架构(一)--创建微服务的注册与发现中心Eureka 

 

第三步,就是配置服务的发现与注册中心了,需要将刚刚创建好的eureka这个项目配置成一个EurekaServer.

1.配置application.yml文件 

SpringCloud微服务架构(一)--创建微服务的注册与发现中心Eureka

ps:

eureka.client.registerWithEureka:
    表示是否将自己注册到EurekaServer,默认为true.

    (当前应用本身为单点EurekaServer,故设置成false.)
eureka.client.fetchRegister:
    表示是否从EurekaServer获取注册信息,默认为true.

    (当前应用为单点EurekaServer,不需要同步其他的EurekaServer节点的数据,故设置成false.)
eureka.client.serviceUrl.defaultZone:
    设置与EurekaServer交互的地址,查询服务与注册服务都需要依赖这个地址.多个地址可使用';'分隔. 

 2.配置当前Springboot项目的启动类,声明该Springboot项目为Eureka的EurekaServer.

SpringCloud微服务架构(一)--创建微服务的注册与发现中心Eureka

 以上,EurekaServer就已经配置好了.使用启动类直接Run,

然后在浏览器输入Eureka服务发现与注册中心的地址.查看下EurekaServer是否搭建成功.

SpringCloud微服务架构(一)--创建微服务的注册与发现中心Eureka

Eureka的EurekaServer便搭建好了. 


推荐阅读
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • 手指触控|Android电容屏幕驱动调试指南
    手指触控|Android电容屏幕驱动调试指南 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 如何撰写适应变化的高效代码:策略与实践
    编写高质量且适应变化的代码是每位程序员的追求。优质代码的关键在于其可维护性和可扩展性。本文将从面向对象编程的角度出发,探讨实现这一目标的具体策略与实践方法,帮助开发者提升代码效率和灵活性。 ... [详细]
  • 本文介绍了如何利用 Delphi 中的 IdTCPServer 和 IdTCPClient 控件实现高效的文件传输。这些控件在默认情况下采用阻塞模式,并且服务器端已经集成了多线程处理,能够支持任意大小的文件传输,无需担心数据包大小的限制。与传统的 ClientSocket 相比,Indy 控件提供了更为简洁和可靠的解决方案,特别适用于开发高性能的网络文件传输应用程序。 ... [详细]
  • 在本地环境中部署了两个不同版本的 Flink 集群,分别为 1.9.1 和 1.9.2。近期在尝试启动 1.9.1 版本的 Flink 任务时,遇到了 TaskExecutor 启动失败的问题。尽管 TaskManager 日志显示正常,但任务仍无法成功启动。经过详细分析,发现该问题是由 Kafka 版本不兼容引起的。通过调整 Kafka 客户端配置并升级相关依赖,最终成功解决了这一故障。 ... [详细]
  • Java能否直接通过HTTP将字节流绕过HEAP写入SD卡? ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • 本文深入解析了Java面向对象编程的核心概念及其应用,重点探讨了面向对象的三大特性:封装、继承和多态。封装确保了数据的安全性和代码的可维护性;继承支持代码的重用和扩展;多态则增强了程序的灵活性和可扩展性。通过具体示例,文章详细阐述了这些特性在实际开发中的应用和优势。 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
  • AIX编程挑战赛:AIX正方形问题的算法解析与Java代码实现
    在昨晚的阅读中,我注意到了CSDN博主西部阿呆-小草屋发表的一篇文章《AIX程序设计大赛——AIX正方形问题》。该文详细阐述了AIX正方形问题的背景,并提供了一种基于Java语言的解决方案。本文将深入解析这一算法的核心思想,并展示具体的Java代码实现,旨在为参赛者和编程爱好者提供有价值的参考。 ... [详细]
author-avatar
红颜弹指老a刹那芳华_623
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有