2.初识springcloud

news2024/11/27 5:34:51

文章目录

  • 1.什么是SpringCloud
    • 1.1版本的介绍
  • 2.Spring Cloud实现方案
  • 3.环境搭建
  • 4.服务拆分原则
  • 5.数据准备
    • 5.1订单服务
    • 5.2商品服务

大家好,我是晓星航。今天为大家带来的是 初识springcloud 相关的讲解!😀

1.什么是SpringCloud

简单来说,SpringCloud就是分布式微服务架构的一站式解决方案,是微服务架构落地的多种技术的集合:

  • Distributed/versioned configuration 分布式版本配置
  • Service registrationand discovery 服务注册和发现
  • Routing路由
  • Service-to-service calls 服务调用
  • Load balancing 负载均衡
  • Circuit Breakers 断路器
  • Distributed messaging 分布式消息

Spring Cloud 并不是Spring团队研发的框架,它只是把一些比较优秀的解决微服务架构中常见问题的开源框架基于SpringCloud规范进行了整合,并基于SpringBoot的风格,对这些组件进行封装,屏蔽掉了复杂的配置和实现原理,为开发者提供了开箱即用的微服务开发体验.这些开源技术的框架是由各个公司来维护的.Spring Cloud 就是这些微服务的大管家.

1.1版本的介绍

springcloud官网

image-20240528172910249

在使用springcloud时,我们还需要注意版本的区别,在不同的版本中spirngcloud是不一样的,因此我们在使用springcloud来做项目时一定要确定版本,要保证版本的一致性。

2.Spring Cloud实现方案

在SpringCloud的规范下,有很多实现,其中最为出名的是

  • Spring Cloud Netflix
  • Spring Cloud Alibaba

Spring Cloud Netflix

Spring Cloud Netflix是 Netflix OSS(Netflix Open Source Software)在Spring Cloud规范下的实现,包含的组件及其主要功能大致如下:

  • Eureka:服务注册和发现
  • Zuul:服务网关
  • Ribbon: 负载均衡
  • Feign:服务调用组件
  • Hystrix:断路器,提供服务熔断和限流
  • Hystrix Dashboard:监控面板

主键学习:

Springcloud官方Spring cloud netfilxSpring cloud alibaba
服务注册/发现EurekaEurekaNacos
服务调用OpenFeignFeignDubbo
配置中心SpringCloudConfigArchaiusNacos
服务网关SpringCloudGatewayZuulSpringCloudGateway
负载均衡SpringCloud LoadBalanceRibbonDubbo

3.环境搭建

在电脑上安装jdk17,并配置环境变量

  1. 安装jdk17

image-20240528182329346

  1. 配置jdk17环境变量
image-20240528182411927

在xshell虚拟机上安装jdk17 或 jdk1.8都可

image-20240528184139070

CenterOs安装jdk17教程

在xshell虚拟机上安装mysql

image-20240528184107230

下载好后链接mysql试试

image-20240528185327299

4.服务拆分原则

1.单一职责

单一职责原则原本是面对对象设计中的一个基本原则,它指的是一个类应该专注于单一功能。不要存在多于一个导致类变更的原因。

2.服务自治 自己独立治理

每一个服务都可以独立开发,构建,部署,运行,测试

比如企业管理

每个部分负责每个部门的事情,并且尽可能少的受其他团队影响

研发部门只负责需求功能的开发,而不负责需求文档的书写和 UI 的设计,并且其他部门的人员变动,流程变更,也尽可能少的影响研发部门。部门和部门之间尽可能自治。

3.单向依赖

微服务之间需要做到单项依赖,不能存在循环依赖,双向依赖

image-20240528185752641

image-20240528185801935

如果一些业务场景,存在循环依赖或者双向依赖,采用其他方式去解决,比如分布式消息等

image-20240528185822029

5.数据准备

分开建库,准备数据库表的搭建。

我们工程搭建有两种方法:

1.与Javaee一样,在idea中一个一个的搭建,并建不同的类

image-20240530130813272 image-20240530130747802

2.采用父子工程的方式搭建

5.1订单服务

根据订单ID,获取订单详情

写一个简单的订单服务来举例父子项目搭建以及代码实现:

在项目里右键点击Module新建子工程,以及父工程(新建两个Module即可)

image-20240529231425182

在工程中选择java,jdk17,maven项目,名字按需取即可

image-20240529231353797

再次返回我们主项目创建时的.xml文件可以看到,他名下有两个新的Module文件创建完成,如下图所示:

image-20240529231725655

在子工程的.xml文件中引入所需依赖(springboot,springweb,mysql,mybatis…)

image-20240529232002736

引入项目打包依赖

image-20240529232103431

在二号子工程中也一样引入这几个依赖,到此我们前期准备工作就完毕了,可以开始写代码了。

image-20240530130021041

先创建目录结构,config配置类,controller控制层,mapper数据访问层,model实体类层,service服务层

image-20240404202219072

image-20240324112329505

然后依次写入对应的代码

image-20240530130924627 image-20240530130938133 image-20240530130951767 image-20240530131002341 image-20240530131018236 image-20240530131043661

启动类:

image-20240530131109301

.yml配置文件:

image-20240530131140048

结果展示:

image-20240530131502120

5.2商品服务

根据商品ID,获取商品信息

image-20240530131755274

先创建目录结构,controller控制层,mapper数据访问层,model实体类层,service服务层

image-20240404202219072

image-20240324112329505

然后依次写入相应代码:

image-20240530131900458 image-20240530131910732 image-20240530131919459

image-20240530131930664

启动类:

image-20240530131941598

.yml配置文件:

image-20240530132014273

运行结果:

image-20240530132753655

订单服务与商品服务关系:

image-20240530132853653

当前项目存在问题:

1.url是写死的,如果IP地址发生变化,需要修改代码

2.如果多级部署,如何处理?

3.返回结果如何公用,url非常容易写错

4.接口对外开放,有一定风险

感谢各位读者的阅读,本文章有任何错误都可以在评论区发表你们的意见,我会对文章进行改正的。如果本文章对你有帮助请动一动你们敏捷的小手点一点赞,你的每一次鼓励都是作者创作的动力哦!😘

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

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

相关文章

Excel表格添加趋势线_数据拟合

一个曲线通过补偿算法拟合为另一个曲线,通常可以通过多种数学和计算技术实现。这里也可以通过Excel表格添加趋势线,然后对趋势线进行拟合,得到趋势预测公式来达到数据补偿。 通过把你需要的数据导入到Excel表格中。 通过 “ 插入 ” --> “…

从单一到互联:KNX网关如何改变你的家居生活

从单一到互联:KNX网关如何改变你的家居生活 在科技日新月异的今天,家居生活正经历着一场前所未有的变革。从过去单一、孤立的设备操作,到如今智能、互联的生态系统,KNX网关作为这一转变的关键角色,正悄然改变着我们的日…

探索Unity3D URP后处理在UI控件Image上的应用

探索Unity3D URP后处理在UI控件Image上的应用 前言初识URP配置后处理效果将后处理应用于UI控件方法一:自定义Shader方法二:RenderTexture的使用 实践操作步骤一:创建RenderTexture步骤二:UI渲染至RenderTexture步骤三:…

养宠家庭一定要试 希喂、美的两大品牌宠物空气净化器性能对比

随着养宠家庭的增多,宠物市场上产品也在不断丰富。这段时间最热门的产品非宠物空气净化器莫属,讨论度非常高,大家对它的评价褒贬不一。作为三只毛孩子的家长,它们的毛发清理问题一直令我头大,所以决定试试号称专为吸附…

科技守护健康:氧气检测仪的工作原理与应用深探

科技守护健康:氧气检测仪的工作原理与应用深探 在科技飞速进步的今天,我们身边的许多设备都融入了科技的智慧,其中氧气检测仪便是守护人类健康与安全的重要一环。它以其独特的工作原理,在工业生产、医疗护理等多个领域发挥着至关重…

数字图像处理【15】特征检测——SIFT特征检测

一、引入SIFT算法 上一篇文章我们重温学习了Harris角点检测算法的基本原理,但在实际生产使用Harris检测角点的时候,会发现一个问题,就是用于检测的输入图像的尺寸大小会直接影响到Harris的检测结果。这是为什么呢?主要是Harris角…

引领未来的NVR方案:海思3520D芯片与全套NVR模组源代码解析

随着视频监控技术的发展,NVR(网络视频录像机)已成为安全保障系统的核心设备。市场上NVR芯片方案主要由几大厂商主导,其中海思35XX系列在中高端市场占据主导地位,特别适用于图像处理和多种应用场景。 我们研发了一款基…

探索提示工程 Prompt Engineering的奥妙

一、探索提示工程 1. 介绍通用人工智能和专用人工智能 人工智能(AI)可以分为通用人工智能(AGI)和专用人工智能(Narrow AI)。AGI是一种能够理解、学习和执行任何人类可以完成的任务的智能。与此相对&#x…

嵌入式学习day17(数据结构)

大纲 数据结构、算法数据结构: 1. 线性表:顺序表、链表(单向链表,单向循环链表,双向链表,双向循环链表)、栈(顺序栈,链式栈)、队列(循…

得物App白屏优化系列|网络篇

一、背景 图片加载作为重中之重的App体验指标,端侧的白屏问题则是其中最为严重的问题之一。想象一下如果你在浏览交易商品、社区帖子等核心场景下,图片无法完成加载是多么糟糕的体验。 网络作为图片资源加载的最主要来源途径,如果不能够快速…

医疗器械维修零基础也可以学吗?

最近您是不是在纠结:医疗器械维修,零基础能学吗?别担心,答案就在这里!亲爱的朋友,零基 础绝对不是您追求医疗器械维修技能的绊脚石。我们有精心设计的课程,就像为您量身打造的成长阶梯。 无论您…

海外销量不错,长城汽车因“重大失信影响恶劣”被南方电网拉黑

《港湾商业观察》施子夫 被南方电网“拉黑”的长城汽车(601633.SH;02333.HK)最近深陷旋涡。最新的消息是长城汽车道歉了。 8月14日,中国南方电网供应链统一服务平台发布一则公告,公告称,为促进供应商诚信…

C语言之字节对齐

目录 1. 引言2.字节对齐原理3.字节对齐应用4.总结 1. 引言 字节对齐属于编译器的内容,决定数据实际的存放方式。主要有两个作用:1.优化数据储存,减少空间浪费 2.增加数据读取速率,本文将于以上两点展开,简述字节对齐的…

四川正信晟锦:同学借钱不还不回消息

在校园的微风轻拂下,我们彼此以赤诚的心交换着青春的誓言。那些日子里,友情如影随形,金钱在这份单纯中显得微不足道。然而,随着时间的流逝,一桩桩借钱不还的事件悄然滋生,如同夜幕下潜行的阴影,…

bC一体化助力终端动销 单日销量提升5倍

想象一下这样令人振奋的场景:某品牌在短短一天内的销量,竟然达到了过去一周的总销量!又或者,一个品牌因其零售店的出色表现,就迅速在一个月内席卷了整个乡镇的所有零售店。 这样的终端动销效果,是否让你心…

AC自动机-2(AhoCorasickDoubleArrayTrie)

Aho-Corasick Double Array Trie (AC DAT) 是一种结合了Aho-Corasick算法和Double Array Trie的数据结构,DAT保证了较高的存储效率,AC保证了多模式字符串匹配效率。 一个经典的实现是hanlp的Java实现:AhoCorasickDoubleArrayTrie。 主要构造过…

2024精选:四款超实用免费视频剪辑软件推荐!

每一位内容创作者都离不开一款好用的视频剪辑软件。今天小编推荐几款实用的视频剪辑免费软件,帮助大家轻松制作出高质量的视频作品! 福昕视频剪辑 链接:www.pdf365.cn/foxit-clip/ 福昕视频剪辑的多轨道编辑功能让我在视频制作过程中感到非…

Solidworks 创建工程图纸,工程图纸不显示解决

当完成三维零件,制作工程图纸时,发现右侧“工程图图纸”不显示了,不能像以前那样方便的拖拽了。如下图: 解决办法: 步骤1:点击这 ...,打开需要的三维图文件,如“公头主体” 步骤2:…

选择合适的待办事项软件:用户体验报告

国内外主流的10款好用的待办事项软件对比:1.PingCode;2Worktile;3.微软To Do;4.MeisterTask;5.Airtable;6.Wrike;7.Basecamp;8.ProofHub;;9.嘀嗒清单&#xf…

Jmeter版本下载国内外镜像源

官网最新版本 https://archive.apache.org/dist/jmeter/binaries/历史版本 https://archive.apache.org/dist/jmeter/binaries/ 国内镜像源1.阿里云 https://mirrors.aliyun.com/apache/jmeter/binaries/2.腾讯云 https://mirrors.cloud.tencent.com/apache/jmeter/