SpringCloud 从入门到入土

news2024/11/25 18:28:07

springcloud包含的模块:

1、服务注册与发现  2、服务调用  3、服务熔断  4、负载均衡  5、服务降级  6、服务消息队列

7、配置中心管理  8、服务网关  9、服务监控  10、全链路追踪  11、自动化构建部署

12、服务定时任务调度操作

版本控制留样

重点技术选型:

服务注册中心:Nacos

服务调用:Ribbon  OpenFeign

服务降级:spring cloud alibaba sentienl

服务网关:gateway

服务配置:Nacos

服务总线:Nacos

分布式微服务架构核心逻辑:

约定>配置>编码

热部署:

Devtools

什么是RestTemplate:

RestTemplate提供了多种便捷访问远程Http服务的方法, 
是一种简单便捷的访问restful服务模板类,是Spring提供的用于访问Rest服务的客户端模板工具集

使用RestTemplate:


使用restTemplate访问restful接口非常的简单粗暴无脑。
(url, requestMap, ResponseBean.class)这三个参数分别代表 
REST请求地址、请求参数、HTTP响应转换被转换成的对象类型。

注意:

使用RestTemplate来链接两个微服务方法的时候,需要在传递的实体类前 加入注解@RequestBody 。

介绍一个好用的工具类包:Hutool:

Hutool——国产良心工具包,让你的java变得更甜http://www.baidu.com/link?url=z92WLSS0jxe6nDf-taVoZL_TQ5842X2NqngkNuyWOL8kYQeW6G0_Wgr3zj9cLQRp

 Eureka服务注册与发现

什么是服务治理?

 Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务治理
 
      在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。


 什么是服务注册与发现?

Eureka采用了CS的设计架构,Eureka Server 作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用 Eureka的客户端连接到 Eureka Server并维持心跳连接。这样系统的维护人员就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行。
在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前自己服务器的信息 比如 服务地址通讯地址等以别名方式注册到注册中心上。另一方(消费者|服务提供者),以该别名的方式去注册中心上获取到实际的服务通讯地址,然后再实现本地RPC调用RPC远程调用框架核心设计思想:在于注册中心,因为使用注册中心管理每个服务与服务之间的一个依赖关系(服务治理概念)。在任何rpc远程框架中,都会有一个注册中心(存放服务地址相关信息(接口地址))

 Eureka的两个组件:

  
Eureka包含两个组件:Eureka Server和Eureka Client
 
Eureka Server提供服务注册服务
各个微服务节点通过配置启动后,会在EurekaServer中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观看到。
 
 
EurekaClient通过注册中心进行访问
是一个Java客户端,用于简化Eureka Server的交互,客户端同时也具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。在应用启动后,将会向Eureka Server发送心跳(默认周期为30秒)。如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,EurekaServer将会从服务注册表中把这个服务节点移除(默认90秒)

@EnableEurekaServer 注解:

放在哪个微服务启动类上就代表哪个类是服务注册中心,由它来配置、登记和注册


 
 
 
 
 

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

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

相关文章

ConstraintLayout布局扩展

相信大家对ConstraintLayout(约束布局)不陌生,这是google推出的一个强大控件,之所以强大其实主要归纳有两点:减少布局层次,能够轻松实现复杂布局。当然在我们实际使用过程中,是否真的减少了布局层次&#x…

一种亮红色染料AF 594 NHS Ester|295348-87-7|AF 594 Succinimidyl Ester

基础产品数据(Basic Product Data): CAS号:295348-87-7 中文名:AF 594活性酯 英文名:AF 594 Succinimidyl Ester,Alexa Fluor 594 NHS Ester,AF 594 NHS Ester 光谱图(Sp…

低代码助力生产管理:ERP生产管理系统

随着国内生产技术的迅速发展,企业信息化实现了生产经营活动的运营自动化、管理网络化和决策智能化。其中运营自动化是基础,决策智能化是顶峰。将信息化应用于生产管理有助于提高产品的质量和生产效率,加强对原材料、生产工序、员工、设备和产…

第三十九篇 自定义指令 - directive

前面讲了关于在Vue中如何来进行封装swiper组件的内容,本篇内容讲到使自定义组件,讲这块内容也是同样为了后续再次回顾封装swiper组件变化做铺垫内容,那么什么是自定义指令,在前面的内容讲过了好些常用的指令,如 v-modl…

记录--两行CSS让页面提升了近7倍渲染性能!

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 对于前端人员来讲,最令人头疼的应该就是页面性能了,当用户在访问一个页面时,总是希望它能够快速呈现在眼前并且是可交互状态。如果页面加载过慢,你…

衡师11月月赛web题目wp

目录 1.丢三落四的学姐 2.wep?Pwn!!! 这题web部分是buuctf中的DASCTF X GFCTF 2022十月挑战赛!的原题 1.丢三落四的学姐 访问题目位置,很明显的phpstudy搭建的痕迹 访问一下经常信息泄露的几个文件&…

Redis与数据库的爱恨纠葛

Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。 早期数据库只要有数据库的操作---增--删--改--查 当用户量特别多的情况下,数据库的数量一定是跟不上用户的数量,对数据库来说是特别繁忙的 看着每天都累趴下…

String_JavaScript

String_JavaScript 学习路线:JavaScript基础语法(输出语句)->JavaScript基础语法(变量)->JavaScript基础语法(数据类型)->JavaScript基础语法(运算符)->Jav…

海外推广运营的技巧汇总

海外电商运营推广?做海外电商,重点在于运营推广。如果运营推广能做好,那么在行业内分一杯羹并不难。但问题是,在运营推广上,很难做海外电商。 这年头,相信大家都知道海外电商出问题了。很多人的账号都被亚…

动态链接库dll详解

动态链接库概述 DLL就是整个Windows操作系统的基础。动态链接库不能直接运行,也不能接收消息他们是一些独立的文件。 Windows API中的所有函数都包含在DLL中。 其中有三个最重要的DLL kernel32.dll,它包含用于管理内存、线程和进程的各个函数&#xff1b…

[附源码]SSM计算机毕业设计学生实习管理系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

超详细的商业智能BI知识分享,值得收藏

在数据为王的时代,获取数据和处理数据,成为企业必备的生存手段。哪个企业能在数据信息中汲取到更多的有效价值,就能抢占先机,获得市场的主动权。数据分析将不再是专业技术人员或数据分析师的专利,商业智能 BI 可以帮助…

华为机试 - 最大股票收益

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 假设知道某段连续时间内股票价格,计算通过买入卖出可获得的最大收益。 输入一个大小为 n 的数 price(p1,p2,p3,p4…….pn),pi 是第i天的股票价格。 pi 的格式为股票价格(非负整型)加上货…

基于风控特征相关度,挖掘贷中等场景中的存量客户价值|来看看相关实操

在数据建模流程中,都会涉及一个样本特征的相关性的分析,这个是建模流程中重要一环。通过量化特征字段之间的相关程度,可以将其作为一个重要信息维度,便于我们对模型训练的特征变量池进行有效筛选,不仅有简化模型且保证…

NLTK下载使用问题

一开始想要执行如下语句,结果运行不了 from textblob import TextBlob text Today is a beautiful day. Tomorrow looks like bad weather. blob TextBlob(text) print(blob) print(-*10) print(blob.sentences)原因是没有下载NLTK的语料库,调用如下语…

【创建VUE3新项目】从零开始如何创建一个干净的vue3项目【基于前端详细介绍】

【写在前面】基于安装完node和npm基础上来实现的,没安装的可以看我之前的文章,如何验证呢?npm -v / node -v 两个命令行解决! 一、创建文件(脚手架安装) 此处值得注意的是不能包括大写字母,不…

图库 | 图计算的适用场景有哪些?

图计算适用的场景非常广泛。在其肇始的早期阶段,图计算仅限于学术界以及工业界资深的研究机构内部,随着计算机体系架构的发展,图计算也在更广泛的行业和场景中得到应用。按照时间维度我们大体可以把图计算的发展及适用范围分为如下几个阶段&a…

微服务框架 SpringCloud微服务架构 5 Nacos 5.1 认识和安装Nacos

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构5 Nacos5.1 认识和安装Nacos5.1.1 认识Nacos5.1.2 安装Nacos5 Nacos 5.1 …

ARM架构与编程 · 基于IMX6ULL

一、嵌入式系统硬件介绍 cpu RAM(内存) FALSH 集成(flash存储设备) MCU/单片机 AP/ MPU 进化之后可以外接内存和存储设备,跑复杂的操作系统,比如手机 cpu一上电就会执行程序,程序存放在片内的ROM中&…

Apollo 应用与源码分析:Monitor监控-软件监控-时间延迟监控

目录 代码 分析 RunOnce 函数分析 UpdateState函数分析 发送时间延迟报告函数分析 备注 代码 class LatencyMonitor : public RecurrentRunner {public:LatencyMonitor();void RunOnce(const double current_time) override;bool GetFrequency(const std::string& ch…