首页 > 其他分享 >微服务学习总结4.30

微服务学习总结4.30

时间:2024-04-30 16:33:33浏览次数:20  
标签:总结 网关 服务 openFeign 实现 学习 模块 mybatisplus 4.30

什么是微服务:

    分布式结构的一种,可涵盖多种语言不同版本的不同模块,提高了系统的可维护性,可伸缩性,可测试性

为什么要用微服务:

    能够把不同模块分离开,提高效率减少压力。而且,微服务的使用可以方便多模块集成,可以实现一些跨版本模块的共同使用。比如如果我使用一个jdk8的项目如果想要使用当下的springai框架,我就可以通过新增一个模块,通过openFeign实现远程调用实现功能。

通过黑马微服务课程我学到了什么:

mybatisplus:

    系统的学习了mybatisplus,其主要使用lambda表达式。mybatisplus也拥有快速代码生成器,可以快速构建entity,mapper,service,controller四层。我发现mybatisplus很适用于微服务这个结构:微服务由于模块见相互补直接关联,所以正常情况下我们是不可以直接进行多表联查的。而mybatisplus的劣势有两点1.不能简单实现多表联查(可以依托于mybatis的xml实现,但是违背了mybatisplus的初衷)2.混淆了service与mapper的关系。在使用微服务的时候,我们减小了第一点,放大了第二点

docker:

    了解掌握了如何使用docker:docker是一个容器,可以承载不同的组件,通过他我们可以实现快速部署。docker可以实现组件的稳定传递,也拥有自己的镜像网站。docker的风格是极简,其中的镜像只会加载与自身相关的内容,因此所占内存是很小的

微服务:

nacos:

    注册中心原理,通过引入依赖实现了记录与监控服务器服务状态。实现了服务治理

    配置管理:微服务内配置冗余过多,我们想简化配置,引入了配置管理的概念:通过springcloud的上下文加载bootstrap.yml拉取nacos中的配置,再加载application.yml,完成springboot初始化。同时,使用配置管理,我们还能完成配置信息的热部署,通过配置一些常见易变更的参数完成不重启服务器自动读取配置完成变更。同时我们还可以通过此功能实现动态路由:将路由信息保存至nacos,实时推送数据信息

openFeign:

    是一个声明式http客户端,基于springMVC,帮我们更简单的实现远程调用:我们通过抽取一个公共api接口,配置相关信息进而实现微服务与微服务之间的远程调用

gateway:

    微服务模块较多之后,我们会发现难以处理,因此我们引入了网关的概念:统一管理各个业务,实现前端-》网关-》后端业务的统一调用。我们首先引入网关模块,通过网关设置的断言与过滤实现token的传递和使用。网关内我们可以轻易的改写请求头,进而塞入token等内容。

    这时就衍生了新的问题:微服务与微服务之间如何进行token的传递呢?我们知道微服务与微服务之间由openFeign进行调用,不经由网关。因此我们需要在openFeign中同时加入额外拦截器获取请求头内重要信息

sentinel:

    微服务保护:sentinel提供了限流,线程隔离,熔断服务等功能提供了一定的微服务系统保护功能,一定程度上防止了微服务雪崩问题

seata:

    我们知道一些方法必须具有事务性,但是在微服务之间的调用中,openFeign的使用显然是不具有这种特性的。因此我们引入seata,seata可以在更高一层面上管理协调事务实现一致性问题

标签:总结,网关,服务,openFeign,实现,学习,模块,mybatisplus,4.30
From: https://www.cnblogs.com/kun1790051360/p/18168282

相关文章

  • 机器学习之决策树
    一、决策树定义:决策树是一种基于树结构的机器学习算法,用于建立一系列的规则来对数据进行分类或预测。二、决策树特征选择2.1特征选择问题在决策树的构建过程中,特征选择是一个关键的步骤,它决定了每个节点应该选择哪个特征来进行分裂。2.2信息增益信息增益是一种常用的特征......
  • 38.Vue路由的简单学习整理
    关于vue路由这是关于前端的知识我大致就理解为其为跳转规则html中跳转想一下jsp跳转或者直接a标签跳转这个为人家规范的跳转这是vscode用到一些小插件{图标和idea键盘操作挺不错的}当然你需要vue插件否则无法识别vue还有就是node.js的安装就不说了首先分为前......
  • 数论学习笔记 (3):因数与倍数
    \(\texttt{godmoo}\text{}\texttt{の}\text{}\texttt{数论学习笔记之}\text{}\boxed{因数与倍数}\)定义因数/约数,倍数:若\(d\midn\),则\(d\)是\(n\)的因数,\(n\)是\(d\)的倍数。公因数/公约数,公倍数:公共的因数/约数、倍数。最大公因(约)数:\(GreatestCommonDi......
  • 机器学习实践第三篇——决策树构建
    一.什么是决策树决策树是一种基本的机器学习算法,其核心思想是通过对数据集进行递归的二分来构建一棵树形结构,每个节点代表一个属性测试,每个分支代表一个测试结果,每个叶子节点代表一个类别或者值。决策树的关键点包括:可解释性:决策树的模型结构直观易懂,可以被解释为一......
  • go学习01
    加载网页文件夹和加载静态资源文件路径:<linkrel="stylesheet"href="/static/css/style.css"><scriptsrc="/static/js/common.js"></script>//加载网页文件夹ginServer.LoadHTMLGlob("templates/*")//加载静态资源......
  • pytest 学习 - 00 环境安装配置
    前言pytest是一个非常好用且成熟的全功能Python测试框架,个人觉得比传统的Unitest好多用了,现在面试如果写只会Unitest会被鄙视的。主要有以下特点:1.简单灵活,容易上手,参数化灵活。2.测试用例支持很多机制像skip、xfail、自动失败重试等处理。3.能够......
  • m基于Yolov2深度学习网络的智能零售柜商品识别系统matlab仿真,带GUI界面
    1.算法仿真效果matlab2022a仿真结果如下:  2.算法涉及理论知识概要       YOLO(YouOnlyLookOnce)是一种实时的目标检测算法,YOLOv2则是其改进版本,由JosephRedmon和AliFarhadi于2016年提出。YOLOv2采用了端到端的方式直接从整幅图像预测边界框和类别概率,极大......
  • Linux中atime,ctime与mtime的细节疑问总结
    在Linux文件系统中,每一个文件都有三个时间属性,它们分别是atime,mtime,ctime,一般来说,atime比较好理解,但是很多时候,我们往往会混淆mtime和ctime这两个时间属性,或者搞不清楚两者的区别。在展开介绍之前,我们先来看看如何查看文件的atime,mtime,ctime属性。下面简单介绍一下:查看atim......
  • Python 学习笔记
    1、Python简介设计哲学:强调代码的可读性和简洁的语法(尤其是用空格缩进来定义代码块,而不是使用大括号或关键词)。应用领域:Web开发、数据科学、人工智能、科学计算、自动化脚本等。参考文档:Python简介2.基本语法解释器:Python代码可以通过Python解释器直接运行,也可以作为脚本......
  • shell 命令专栏总结
    一、菜鸟教程1、只读变量readonly使用readonly命令可以将变量定义为只读变量,只读变量的值不能被改变。#!/bin/bashmyUrl="https://www.google.com"readonlymyUrlmyUrl="https://www.runoob.com"/bin/sh:NAME:Thisvariableisreadonly.2、单引号与双引号的区别......