SpringCloud入门(一)SpringCloud简介

devtools/2024/11/13 8:52:43/

一、为什么要学SpringCloud?

        企业开发都使用微服务,面试必问微服务
        要学会微服务开发的问题和解决方案。应对用户的增长和并发需求。
        要应对用户需求变化;

        单点式架构无法应对高并发; 服务之间的错综复杂调用;

二、认识微服务

单体架构, 订单模块,用户功能,商品功能,支付功能;

单体架构优势:
架构简单,部署成本低;
缺点:耦合度高;(维护困难、升级困难 )

分布式架构:
拆分;根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。


优点:
服务耦合度低 有利于服务升级拓展

缺点:服务调用关系错综复杂

服务拆分, 服务集群 ( 跨服务发请求,远程调用)
微服务的问题:
        1.服务拆分粒度如何?怎么拆,哪些服务作为独立模块;那些业务在一起;
        2.服务集群地址如何维护?服务集群地址如何维护;(上线变换地址,不能在代码写死,如何维护,地址要方便维护)
        3.服务之间如何实现远程调用?(如何远程调用?跨服务调用)
        4.服务健康状态如何感知?(服务健康状况感知,如果服务挂了,级联失败)

分布式架构技术:   webservice、 ESB、 dubbo、 springcloud、 微服务基本知识;

微服务架构特征:

        微服务是一种经过良好架构设计的分布式架构方案,微服务架构特征:
        1.单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发
        2.面向服务:微服务对外暴露业务接口
        3.自治:团队独立、技术独立、数据独立、部署独立
        4.隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题

三、springcloud学习路线

        微服务架构,需要管理调用关系;需要注册中心;配置中心配置; 网关; 集群, 分布式缓存,分布式搜索。  分布式日志; 链路追踪和系统监控; jenkins  docker Kubernetes 容器编排技术;(持续集成)自动部署等技术。

        要知识模块化学习,高频知识优先学习;业务相关性降低,使用频率降低的也要学习。


 一、微服务技术;
 二、缓存技术;
 三、异步通信技术
 四、 分布式搜索;
 五、容器部署 devops

一、微服务技术;
        微服务治理:注册发现,远程调用,配置管理,网关路由
        微服务保护:流量控制,系统保护,熔断降级,服务授权
        分布式事务:分布式事务,TCC模型,AT模型,Seata

 二、缓存技术;
        分布式缓存:Redis数据结构,SpringDataRides
        多级缓存:
        Redis集群:

 三、异步通信技术
        异步通信:MQ消息模型,springAMQP
        可靠消息服务:
 四、 分布式搜索;
        分布式搜索:DSL语句,RestAPI,ES集群状态
 五、容器部署 devops
        Docker技术:Docker使用,DockerFile,DockerCompose

企业需求技术栈:

1.SpringCloud+feign 

2.SpringCloudAlibaba+Feign

3.SpringCloudAlibaba+Dubbo

4.Dubbo原始模式
 


 四、微服务拆分注意事项

微服务拆分注意事项:


1.单一职责:不同微服务,不要重复开发相同业务
2.数据独立:不要访问其它微服务的数据库
3.面向服务:将自己的业务暴露为接口,供其它微服务调用


        SpringCloud是目前国内使用最广泛的微服务框架。官网地址:https://spring.io/projects/spring-cloud。
        SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验:


        SpringCloud与SpringBoot的版本兼容关系如下:


http://www.ppmy.cn/devtools/110939.html

相关文章

算法测试文档

算法 1 分布相关攻击 DRA:给定网络 f_θ 由 θ 参数化,正则化常数 λ,轮数 T,总批次数 M,学习率 η,分类损失 L,DCG 损失 L_DCG。对抗性扰动 δ,原始图像 x,l_∞ 扰动半径…

828华为云征文 | 华为云X实例服务器上部署知识图谱项目的详细指南

前言 知识图谱作为数据整合、语义分析和人工智能的重要基础,逐渐被广泛应用于各类领域。其通过结构化数据和关系映射,帮助用户更好地理解数据背后的意义。要成功构建和部署知识图谱项目,强大的计算资源和高效的存储查询能力至关重要。华为云X…

用STM32做一个USB-TTL工具吧

某宝1分钱白嫖一个STM32C6T6的板子,然后手里的CH340挂了。那么自己做一个吧。 串口没有使用DMA空闲中断等等机制,有兴趣的加上了call我炒一下。 惯例CUBEMAX配置 1.usb-fs 2.usb-cdc 3.串口开一个中断,使用LL库 贴代码了 usart.c /* USER CODE BEGIN…

【阿一网络安全】如何让你的密码更安全?(二) - 非对称加密

上次《【阿一网络安全】如何让你的密码更安全?(一) - 对称加密》提到加密算法的对称加密,我们这次来聊聊非对称加密。 和对称加密不同,非对称加密的加密密钥和解密密钥不同。 非对称加密 大概过程就是,发送方使用公钥对明文数据…

力扣100题——贪心算法

概述 贪心算法(Greedy Algorithm)是一种在解决问题时,按照某种标准在每一步都选择当前最优解(局部最优解)的算法。它期望通过一系列局部最优解的选择,最终能够得到全局最优解。 贪心算法的核心思想 贪心算…

[网络原理]关于网络的基本概念 及 协议

文章目录 一. 关于网络的概念介绍1. 局域⽹LAN2. ⼴域⽹WAN3. 主机4. 路由器5. 交换机IP地址端口号 二. 协议协议分层TCP/IP五层模型(或四层)OSI七层模型封装分用 一. 关于网络的概念介绍 1. 局域⽹LAN 局域⽹,即 Local Area Network,简称LAN。 Local …

http网络请求与下载进度

Http_request 目录 一、XMLHttpRequest 在使用 Fetch API 进行网络请求时,原生的 Fetch API 并不直接支持获取下载进度的功能,因为 Fetch API 主要是基于 Promise 的,它主要关注于请求的成功或失败,以及响应数据的处理&#xff…

VisualStudio环境搭建C++

Visual Studio环境搭建 说明 C程序编写中,经常需要链接头文件(.h/.hpp)和源文件(.c/.cpp)。这样的好处是:控制主文件的篇幅,让代码架构更加清晰。一般来说头文件里放的是类的申明,函数的申明,全局变量的定义等等。源…