Spring Cloud Netflix 教程和源码

本教程目标

想要系统地学习 Spring Cloud Netflix, 把自己的学习过程记录下来。

状态

持续更新中

微服务架构

微服务架构是一种将应用程序拆分为一组独立的、可独立部署的服务的架构模式。每个服务都运行在自己的进程中,可以独立地进行开发、测试和部署。微服务架构可以提高应用程序的可扩展性、可维护性和可复用性。

在微服务架构中,服务之间的通信通常是通过API来进行的。每个服务都有自己的API,客户端可以通过这些API来调用服务,从而实现服务之间的通信。服务之间可以通过RESTful API、gRPC、Thrift等方式来进行通信。

微服务架构中的服务通常是由小型、自治的团队来开发和管理的。每个服务都有自己的数据库,可以独立地进行扩展和升级。服务之间的依赖关系通常是通过API接口来管理的,而不是通过硬编码的方式来管理的。

微服务架构的优点包括:

  • 可扩展性:由于每个服务都是独立的,因此可以根据需要对服务进行扩展,而不会影响其他服务的运行。
  • 可维护性:由于每个服务都是独立的,因此可以对服务进行独立的维护和升级,而不会影响其他服务的运行。
  • 可复用性:由于每个服务都是独立的,因此可以将服务复用在其他项目中,从而提高开发效率和代码质量。
  • 可测试性:由于每个服务都是独立的,因此可以对服务进行独立的测试,而不会影响其他服务的运行。

微服务架构的缺点包括:

  • 部署和管理复杂性:由于每个服务都是独立的,因此需要对每个服务进行单独的部署和管理,这可能会增加部署和管理的复杂性。
  • 故障隔离性:由于每个服务都是独立的,因此如果一个服务出现故障,可能会导致整个应用程序出现故障,这可能会增加故障隔离性的问题。
  • 数据一致性:由于每个服务都是独立的,因此需要对数据一致性进行特殊的处理,这可能会增加数据一致性的问题。
  • 性能问题:由于每个服务都是独立的,因此可能需要增加网络通信的成本,这可能会导致性能问题。

SpringCloud微服务架构

在这里插入图片描述

Eureka 介绍

Spring Cloud Netflix Eureka是一个Netflix公司开发的服务注册和发现工具。
在微服务架构中,服务之间需要互相调用和通信,而Eureka可以提供服务注册和发现的功能,使得服务之间可以互相调用和通信。

Eureka是一个基于REST的服务注册和发现工具,它可以注册和发现Spring Boot应用程序。Eureka服务器存储所有注册的应用程序的元数据,并提供一个简单的REST API来获取这些元数据。服务注册到Eureka时,它们会提供一些元数据,如服务名称、IP地址、端口号、服务健康状况等。服务发现使用这些元数据来找到其他服务,并可以执行一些操作,如心跳检测、服务下线、服务健康检查等。

Eureka提供了许多配置选项,可以根据具体需求进行配置。例如,可以配置Eureka服务器是否启用JMX监控,Eureka客户端是否在启动时向Eureka服务器注册,Eureka客户端是否从Eureka服务器获取服务实例列表等。

Spring Cloud Netflix Eureka是一个轻量级、易于使用的服务注册和发现工具,可以简化微服务架构的开发和部署。

Eureka 配置文件中常见的属性及其作用
属性名Eureka服务器Eureka客户端
server.port固定动态
eureka.instance.metadata-map.app.instance-id固定动态
eureka.instance.metadata-map.app.name固定动态
eureka.server.enable-jmx固定false
eureka.server.jmx-port固定false
eureka.server.healthcheck.port固定false
eureka.server.auto-registration.enabled固定false
eureka.client.register-with-eurekafalsetrue
eureka.client.fetch-registryfalsetrue
eureka.client.healthcheck-interval-secondsfalse30
eureka.client.register-on-startupfalsetrue
eureka.client.renewal-interval-secondsfalse90
eureka.client.region默认默认

代码

1. eureka_server
项目地址

项目地址

启动步骤
  • 创建Eureka Server的配置文件,通常使用的是application.properties或application.yml文件。在配置文件中,需要配置Eureka Server的端口号、注册中心的地址等信息。例如:
     eureka.server.port=8761eureka.server.registryURL=http://localhost:8761/eureka/eureka.server.metadata-map.application.version=1.0.0
  • 创建Eureka Server的类,通常使用的是EurekaServerApplication类。在类中,需要使用@SpringBootApplication注解来启用Spring Boot的自动配置,并使用main方法来启动Eureka Server。例如:
   package com.example.eureka.server;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class EurekaServerApplication {public static void main(String[] args) {SpringApplication.run(EurekaServerApplication.class, args);}}
  • 使用IDEA或Maven等工具运行Eureka Server应用程序。在运行过程中,Eureka Server将会启动并监听指定的端口号,等待服务实例的注册和注销。

注意:在运行Eureka Server之前,需要确保Eureka Server的配置文件中的注册中心地址是正确的,并且已经启动了Eureka Server。

测试

访问路径 http://localhost:8761/
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

记录一次SQL注入src挖掘过程

记录一次小白SQL注入src挖掘过程,其中碰到了很多问题,报错和解决 先是使用谷歌语法找到一个可以注入的网站 谷歌语法: 公司inurl:php?id 然后该公司的URL为 URL:XXXXXXXXXX/xxx.php?id1 输入测试有无注入,有没有waf 发现…

LinkedList与链表

目录 一、Arraylist的缺陷 二、链表 2.1 链表的概念和结构 2.2 链表的实现 三、链表面试题 3.1 删除链表中所有值为val的节点 3.2 反转一个单链表 3.3 链表的中间节点 3.4 将有序链表合并 3.5 输出倒数第k个节点 3.6 链表分割 3.7 链表的回文结构 3.8 找两个链表的公共节…

23.1 Bootstrap 表格

1. 表格 1.1 基础表格 Bootstrap5 通过在<table>元素中添加.table类来设置基础表格的样式.<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wi…

零基础教程:Yolov5模型改进-添加13种注意力机制

1.准备工作 先给出13种注意力机制的下载地址&#xff1a; https://github.com/z1069614715/objectdetection_script 2.加入注意力机制 1.以添加SimAM注意力机制为例&#xff08;不需要接收通道数的注意力机制&#xff09; 1.在models文件下新建py文件&#xff0c;取名叫Sim…

路由器配置单区域(多区域)OSPF

目录 实验原理 案例 路由器配置单区域OSPF基本功能 单区域总结 路由器配置多区域OSPF基本功能 多区域特点 实验原理 OSPF&#xff08;Open Shortest Path First&#xff0c;开放最短路径优先&#xff09;是互联网的标准协议&#xff0c;是为克服RIP的缺点而开发的。目前针…

win10搭建Selenium环境+java+IDEA(2)

接着上一个搭建环境开始叙述&#xff1a;win10系统x64安装java环境以及搭建自动化测试环境_荟K的博客-CSDN博客 上一步结尾的浏览器驱动&#xff0c;本人后面改到了谷歌浏览器.exe文件夹下&#xff1a; 这里需要注意&#xff0c;这个新路径要加载到系统环境变量中。 上一步下…

排序学习总结

取每个对象的内接矩形框&#xff0c;然后再排序&#xff0c;根据排序的结果确定原对象顺序。 inner_rectangle1(RegionAffineTrans1, Row1, Column1, Row2, Column2) gen_rectangle1(Rect,Row1, Column1, Row2, Column2) sort_region(Rect,RectSort,character,true, row)count…

小波变换学习笔记【1】

【声明】本博客为学习B站视频小波分解与重构所做笔记&#xff0c;供自己和大家查阅学习&#xff0c;想查看 up 原视频请移步 B 站&#xff0c;侵删。 1.1 小波变换的由来 傅里叶变换基本思想&#xff1a;将信号分解成一系列不同频率的连续正弦波的叠加。 其缺点是&#xff0c;…

进入IT行业:选择前端开发还是后端开发?

一、前言 开发做前端好还是后端好&#xff1f;这是一个常见的问题&#xff0c;特别是对于初学者来说。在编程世界中&#xff0c;前端开发和后端开发分别代表着用户界面和数据逻辑&#xff0c;就像城市的两个不同街区一样。但是&#xff0c;究竟哪个街区更适合我们作为开发者呢…

Redis过期删除策略和内存淘汰策略的区别

过期删除策略 有关过期时间的设置和查询 查看某个 key 剩余的存活时间&#xff0c;可以使用 TTL 命令&#xff08;单位是秒&#xff09;。 取消 key 的过期时间&#xff0c;则可以使用 PERSIST 命令。 # 取消 key1 的过期时间 > persist key1 (integer) 1# 使用完 persist…

分类预测 | MATLAB实现WOA-FS-SVM鲸鱼算法同步优化特征选择结合支持向量机分类预测

分类预测 | MATLAB实现WOA-FS-SVM鲸鱼算法同步优化特征选择结合支持向量机分类预测 目录 分类预测 | MATLAB实现WOA-FS-SVM鲸鱼算法同步优化特征选择结合支持向量机分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MATLAB实现WOA-FS-SVM鲸鱼算法同步优化特征选择结…

Flutter笔记:用于ORM的Floor框架简记

Flutter笔记 用于ORM的Floor框架简记 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/133377191 【介绍】&#xff1a;最近想找用于Dart和Flutter的ORM框架&#xff0c;偶然间发现了Floor&#xff0c;觉得还不错&#xff0c;做一些记录。 1. Floor 框…

wsl2 更新报错问题解决记录

1、问题 win10 中安装的 wsl2&#xff0c;启动 docker desktop 时提示 wsl2 有问题&#xff1a; 于是点击推荐的地址连接到微软&#xff0c;下载 wsl2 的更新文件。之后运行&#xff0c;又报错&#xff1a; 更新被卡住。 2、解决方法 WinR 输入 cmd 打开命令行窗口&#x…

Spring面试题7:面试官:Spring是如何进行异常处理的呢?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring是如何进行异常处理的呢? Spring通过异常处理机制来处理应用程序中的异常。它提供了多种方式来处理异常,包括以下几种: 声明式事务管理:…

目标检测如何演变:从区域提议和 Haar 级联到零样本技术

目录 一、说明 二、目标检测路线图 2.1 路线图&#xff08;一般&#xff09; 2.2 路线图&#xff08;更传统的方法&#xff09; 2.3 路线图&#xff08;深度学习方法&#xff09; 2.4 对象检测指标的改进 三、传统检测方法 3.1 维奥拉-琼斯探测器 (2001) 3.2 HOG探测器…

Video Caption / 视频字幕:常用指标(BELU-4,ROUGE-L,METEOR,CIDEr,SPICE)和数据集总结

本文作为入门Video Caption / 视频字幕 的随笔记录&#xff0c;用于查漏补缺和回顾&#xff0c;难免有疏漏和不足指出&#xff0c;烦请指出&#xff01; 一、指标 Video Caption / 视频字幕常用的标准指标有四种&#xff1a;BLEU-1[1]&#xff0c;BLEU-2[1]&#xff0c;BLEU-3[…

Oracle 11g RAC部署笔记

搭了三次才搭好&#xff0c;要记录一下。 1. Oracle 11g RAC部署的相关步骤以及需要的包&#xff0c;可以参考这里。 Oracle 11g RAC部署_12006142的技术博客_51CTO博客Oracle 11g RAC部署&#xff0c;Oracle11gRAC部署操作环境&#xff1a;CentOS7.4Oracle11.2.0.4一、主机网…

第十四届蓝桥杯大赛软件赛决赛 C/C++ 大学 B 组 试题 C: 班级活动

[蓝桥杯 2023 国 B] 班级活动 【问题描述】 小明的老师准备组织一次班级活动。班上一共有 n n n 名&#xff08; n n n 为偶数&#xff09;同学&#xff0c;老师想把所有的同学进行分组&#xff0c;每两名同学一组。为了公平&#xff0c;老师给每名同学随机分配了一个 n n …

(三)Python变量类型和运算符

所有的编程语言都支持变量&#xff0c;Python 也不例外。变量是编程的起点&#xff0c;程序需要将数据存储到变量中。 变量在 Python 内部是有类型的&#xff0c;比如 int、float 等&#xff0c;但是我们在编程时无需关注变量类型&#xff0c;所有的变量都无需提前声明&#x…

腾讯云cvm云硬盘扩容

过去一直记得腾讯云的系统盘扩容,关于系统盘的扩容直接点资源调整-云硬盘扩容 系统盘扩容后就可以直接使用的&#xff1f; 但是现在操作了发现vda 200G 但是现在vda1不能自动扩容了&#xff1f; 腾讯云cvm云硬盘扩容 先看一眼官方文档吧&#xff1a;在线扩展系统盘分区及文…