SpringCloud学习一
单体应用存在的问题
-
随着业务的发展,开发变得越来越复杂。
-
修改、新增某个功能,需要对整个系统进行测试、重新部署。
-
一个模块出现问题,很可能导致整个系统崩溃。
-
多个开发团队同时对数据进行管理,容易产生安全漏洞。
-
各个模块使用同一种技术进行开发,各个模块很难根据实际情况选择更合适的技术框架,局限性很大。
-
模块内容过于复杂,如果员工离职,可能需要很长时间才能完成工作交接。
分布式、集群
集群:一台服务器无法负荷高并发的数据访问量,那么就设置十台服务器一起分担压力,十台不行就设置一百台(物理层面)。很多人干同一件事情,来分摊压力。
分布式:将一个复杂问题拆分成若干个简单的小问题,将一个大型的项目架构拆分成若干个微服务来协同完成。(软件设计层面)。将一个庞大的工作拆分成若干个小步骤,分别由不同的人完成这些小步骤,最终将所有的结果进行整合实现大的需求。
服务治理的核心又三部分组成:服务提供者、服务消费者、注册中心。
在分布式系统架构中,每个微服务在启动时,将自己的信息存储在注册中心,叫做服务注册。
服务消费者从注册中心获取服务提供者的网络信息,通过该信息调用服务,叫做服务发现。
Spring Cloud 的服务治理使用 Eureka 来实现,Eureka 是 Netflix 开源的基于 REST 的服务治理解决方案,Spring Cloud 集成了 Eureka,提供服务注册和服务发现的功能,可以和基于 Spring Boot 搭建的微服务应用轻松完成整合,开箱即用,Spring Cloud Eureka。
Spring Cloud Eureka
-
Eureka Server,注册中心
-
Eureka Client,所有要进行注册的微服务通过 Eureka Client 连接到 Eureka Server,完成注册。
Eureka Server代码实现
整体结构:
-
创建父工程,pom.xml
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.7.RELEASE</version>
</parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 解决 JDK 9 以上没有 JAXB API 的问题 --><dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId><version>2.3.0</version></dependency><dependency><groupId>com.sun.xml.bind</groupId><artifactId>jaxb-impl</artifactId><version>2.3.0</version></dependency><dependency><groupId>com.sun.xml.bind</groupId><artifactId>jaxb-core</artifactId><version>2.3.0</version></dependency><dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version></dependency>
</dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Finchley.SR2</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

- 在父工程下创建 Module,pom.xml
<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId><version>2.0.2.RELEASE</version></dependency>
</dependencies>

- 创建配置文件 application.yml,添加 Eureka Server 相关配置。
server:port: 8761
eureka:client:register-with-eureka: falsefetch-registry: falseservice-url:defaultZone: http://localhost:8761/eureka/

> 属性说明
`server.port`:当前 Eureka Server 服务端口。
`eureka.client.register-with-eureka`:是否将当前的 Eureka Server 服务作为客户端进行注册。
`eureka.client.fetch-fegistry`:是否获取其他 Eureka Server 服务的数据。
`eureka.client.service-url.defaultZone`:注册中心的访问地址。
- 创建启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {public static void main(String[] args) {SpringApplication.run(EurekaServerApplication.class,args);}
}
注解说明:
@SpringBootApplication:声明该类是 Spring Boot 服务的入口。
@EnableEurekaServer:声明该类是一个 Eureka Server 微服务,提供服务注册和服务发现功能,即注册中心。

运行:
浏览器输入:
localhost:8761

Eureka
http://localhost:8761/
相关文章:
SpringCloud学习一
单体应用存在的问题 随着业务的发展,开发变得越来越复杂。 修改、新增某个功能,需要对整个系统进行测试、重新部署。 一个模块出现问题,很可能导致整个系统崩溃。 多个开发团队同时对数据进行管理,容易产生安全漏洞。 各个模块…...
SpringBoot, EventListener事件监听的使用
1、背景 在开发工作中,会遇到一种场景,做完某一件事情以后,需要广播一些消息或者通知,告诉其他的模块进行一些事件处理,一般来说,可以一个一个发送请求去通知,但是有一种更好的方式,…...
课题学习(三)----倾角和方位角的动态测量方法(基于陀螺仪的测量系统)
一、内容介绍 该测量系统基于三轴加速度和三轴陀螺仪,安装在钻柱内部,随钻柱一起旋转,形成捷联惯性导航系统,安装如下图所示: 假设三轴加速度和陀螺仪的输出为: f b [ f x f y f z ] T f^b\begin{bmatrix}f_{x} …...
1876. 长度为三且各字符不同的子字符串
1876. 长度为三且各字符不同的子字符串 C代码:滑动窗口 // 存在三种字符,且不重复、子串数量 int countGoodSubstrings(char * s){int k 3;int hash[26] {0};int len 0;int l 0;int ans 0;for (int i 0; i < strlen(s); i) {hash[s[i] - a];if…...
Mall脚手架总结(一)——SpringSecurity实现鉴权认证
前言 在结束理论知识的学习后,荔枝开始项目学习,这个系列文章将围绕荔枝学习mall项目过程中总结的知识点来梳理。本篇文章主要涉及如何整合Spring Security和JWT实现鉴权认证的功能!希望能帮助到一起学习mall项目的小伙伴~~~ 文章目录 前言 …...
beego-简单项目写法--路径已经放进去了
Beego案例-新闻发布系统 1.注册 后台代码和昨天案例代码一致。,所以这里面只写一个注册的业务流程图。 **业务流程图 ** 2.登陆 业务流程图 登陆和注册业务和我们昨天登陆和注册基本一样,所以就不再重复写这个代码 但是我们遇到的问题是如何做代码的迁移&…...
Linux-CPU相关常用命令合集
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、cpu相关常用命令 二、cpuinfo 参数详细对照表 前言 本篇文章主要记录平时Linux-常用命令整理! 提示:以下是本篇文章正文内容&#…...
vue 百度地图/天地图设置铺满屏幕100%,解决空隙问题
设置100%无效,刷新依然右侧有空隙,解决:min-width: 100vw; <div class"aui-flex-col" style"width: 100%; height:100%"><div id"mapAllCon" style"width: 100%; min-width: 100vw; height: 10…...
第五章:最新版零基础学习 PYTHON 教程—Python 字符串操作指南(第六节 - Python 中字符串的逻辑运算符)
对于 python 中的字符串,布尔运算符(and、or、not)起作用。让我们考虑两个字符串,即 str1 和 str2,并在它们上尝试布尔运算符: Python3 str1 = str2 = geeks# 使用 repr 打印带引号的字符串# 返回 str1 print(repr(str1 and str2)) # 返回 str1 print(repr(str2 and…...
Bark Ai 文本转语音 模型缓存位置修改
默认缓存位置在:~/.cache 加入环境变量:XDG_CACHE_HOME,指定缓存位置 修改后新的位置为: D:\Ai\Bark\Bark Cache...
Docker 镜像的创建
目录 一、Docker镜像的创建 1、基于已有镜像创建 2、基于本地模板创建 3、基于dockerfile创建 3.1 dockerfile结构 3.2 构建镜像命令 二、镜像分层的原理 1、联合文件系统(UnionFS) 2、镜像加载的原理 三、Dockerfile 操作常用的指令 案例实验…...
【ORM】浅聊C#和Java的ORM底层框架
给自己一个目标,然后坚持一段时间,总会有收获和感悟! 国庆假期马上结束,闲暇时间,突然对Ado.Net这个词的由来感兴趣,然后就一顿复习了一遍,顺便也了解了下java关于ORM框架的底层是什么ÿ…...
windows redis 自启动 Redis服务无法启动报错1067问题
如果你的系统服务里面已经有redis服务并且无法启动,则使用下面的命令卸载此服务 ! 1、停止Redis服务: redis-server --service-uninstall 2、删除系统服务 sc delete redis 进入到你的Redis安装目录,我的在以下目录,谨记此时不…...
Ubuntu Server CLI专业提示
基础 网络 获取所有接口的IP地址 networkctl status 显示主机的所有IP地址 hostname -I 启用/禁用接口 ip link set <interface> up ip link set <interface> down 显示路线 ip route 将使用哪条路线到达主机 ip route get <IP> 安全 显示已登录的用户 w…...
Centos7升级OpenSSH9.1
最近遇到了服务器漏洞,需要对服务器的OpenSSH版本进行升级,查阅了相关资料,总结出了一套比较简单的方案。中间遇到的个别问题也进行了记录,供大家参考。 下载准备 从https://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/opens…...
linux——信号
目录 一.信号的保存 二.信号集操作 1.信号集 2.信号集操作函数 3.sigprocmask 4.sigpending 三. 信号的捕捉 1.内核态和用户态 2. sigaction 四.可重入函数 五.SIGCHLD信号 一.信号的保存 实际执行信号的处理动作称为信号递达(Delivery)。信号从产生到递达之间的状…...
存档&改造【03】Apex-Fancy-Tree-Select花式树的导入及学习
Apex-Fancy-Tree-Select git学习网页 GitHub - RonnyWeiss/Apex-Fancy-Tree-Select: Fancy Tree Plug-in for Oracle APEX 如何从其他应用程序导出已有插件到新应用程序中 1.从其他应用程序导出插件 其他应用程序-【共享组件】-【插件】-【任务 导出插件】-选择想要导出的…...
【单片机】14-I2C通信之EEPROM
1.EEPROM概念 1.EEPROM 1.1 一些概念 (1)一些概念:ROM【只读存储器---硬盘】,RAM【随机访问存储器--内存】,PROM【可编程的ROM】,EPROM【可擦除ROM】,EEPROM【电可擦除ROM】 1.2 为什么需要EE…...
Mini-dashboard 和meilisearch配合使用
下载的meilisearch一般是development模式,内置客户端,修改客户端后需要重要全部编译,花时间太长了。前后端分离才是正道,客户端修改不用重新编译后端。 方法如下: 1、修改配置文件/etc/meilisearch.toml,…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
