黑马微服务开发与实战学习笔记_导论

news2024/12/23 18:31:01

系列博客目录


文章目录

  • 系列博客目录
  • 为什么学微服务?
  • 定义


为什么学微服务?

从下图搜索指数可以看出,微服务热度不减
在这里插入图片描述
公司中很多微服务的应用。
在这里插入图片描述
公司岗位要求中很多微服务的身影。
在这里插入图片描述

定义

 微服务是一种软件架构风格,它是以专注于单一职责的很多小型项目为基础,组合出复杂的大型应用。
之前开发项目大多采用单体架构,最大特点,开发过程中,不过多少功能,都写在一个项目中,但对于大型互联网项目不适用。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
 随着项目功能越来越多,小项目变成大项目,开发人员成千上万,一起开发会很混乱。此时微服务就很适合了。这时候我们就要打破单体架构的边界,每一个小的项目就变成微服务,微服务在一起就构成了微服务集群,这种架构就是微服务架构。

 微服务中的每一个小的项目,都要做到单一职责(每一种微服务只能负责一部分功能,比如商品的服务,只做商品管理的内容),这时候每一个小项目里面代码的量就小了很多,由一个专门的团队维护和开发。耦合度降低了。

 后续会继续介绍更多微服务的优点。如何拆分单体架构,形成微服务的架构呢,这就是服务拆分问题。虽然每一个小项目只干自己相关的东西,但是有一些业务很复杂,往往需要多个小项目大家共同合作,比如订单要调用商品,这时候由于商品和订单已经部署在不同的tomcat上了,物理上已经隔绝了,订单如何查商品的信息呢,这是需要跨comcat,实现跨服务的远程调用,这就是远程调用问题。我们还需要管理,哪些服务还活着呀,端口号是多少呀等等,这就是服务治理问题。而且之前单体项目,只有一个端口,前端直接调用即可,现在每个服务都有自己的端口,前端该访问谁,这就是请求路由问题。类似地还有很多问题。如下所示。

  • 服务拆分
  • 远程调用
  • 服务治理
  • 请求路由
  • 身份认证
  • 配置管理
  • 服务保护
  • 分布式事务
  • 异步通信
  • 消息可靠性延迟消息
  • 分布式搜索
  • 倒排索引
  • 数据聚合

 学习微服务技术最佳的方案是:给你一个真实单体项目,你自己把它拆成微服务,在拆的过程之中,碰到这些问题,然后学习哪个微服务技术可以解决这些问题,学习才能深刻。其他教程都是针对每个微服务问题给出拆好的demo,本教程不一样,是给一个真实的单体项目(黑马商城)。我们来亲自拆分,碰到问题,学习技术,解决问题,使其变成微服务项目。

 课程安排如下图所示。全面偏向企业实战,面试原理源码相关内容前期不讲。面试相关问题最后讲解。学完本教程,不管是搭建微服务还是把单体项目改造成微服务等如下图所示都没问题,满足微服务开发对中高级程序员的各种要求。
在这里插入图片描述

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

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

相关文章

Python从入门到入狱

Python是从入门到入狱?这个充满调侃意味的说法在程序员圈子里流传甚广。表面看,它似乎是在嘲笑这门语言从简单易学到深陷麻烦的巨大反差,实际上却隐藏着很多值得深思的问题。要解读这个话题,得从Python的特点、使用场景以及潜在风…

网安瞭望台第9期:0day 情报,OAuth 2.0授权流程学习

国内外要闻 Veeam 修补服务提供商控制台关键 RCE 漏洞 Veeam 发布了安全更新以解决影响服务提供商控制台(VSPC)的一个关键漏洞,该漏洞可能为在易受攻击的实例上执行远程代码创造条件。此漏洞被追踪为 CVE-2024-42448,其 CVSS 评分…

Qt复习学习

https://www.bilibili.com/video/BV1Jp4y167R9/?spm_id_from333.999.0.0&vd_sourceb3723521e243814388688d813c9d475f https://subingwen.cn/qt/qt-primer/#1-4-Qt%E6%A1%88%E4%BE%8B https://subingwen.cn/qt/ https://download.qt.io/archive/qt/1.1Qt的特点 1.2QT中的…

视频监控集中管理方案设计:Liveweb视频汇聚方案技术特点与应用

随着科技的发展,视频监控平台在各个领域的应用越来越广泛。然而,当前的视频监控平台仍存在一些问题,如视频质量不高、监控范围有限、智能化程度不够等。这些问题不仅影响了监控效果,也制约了视频监控平台的发展。 为了解决这些问…

【算法】图论——树的重心

目录 题目解析 算法原理 图的存储 算法实现 题目解析 题目解析 给定一颗树,树中包含n个结点(编号)和n-1条无向边。请找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 什么是重心? 重…

STM32 进阶 定时器 2基本定时器 基本定时器中断案例:LED闪烁

基本定时器 基本定时器TIM6和TIM7各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。 这2个定时器是互相独立的,不共享任何资源。 这个2个基本定时器只能向上计数,由于没有外部IO,所以只能计时,不能对外部…

51单片机(STC89C52RC版本)学习笔记(更新中...)

文章目录 参考资料1. 准备工作1.1 win10配置51单片机开发环境1.1 Ubuntu配置51单片机开发环境问题1:mcs51/8051.h依赖于mcs51/lint.h问题2:提示找不到头文件mcs51/8051.h 2. 认识51单片机2.1 STC89C52单片机2.2 管脚图2.3 原理图2.4 按键抖动2.5 头文件说…

USB 声卡全解析:提升音频体验的得力助手

在当今数字化的时代,音频领域的追求愈发多元。无论是热衷聆听高品质音乐的爱好者,还是在专业音频工作中精雕细琢的人士,亦或是在游戏世界里渴望极致音效沉浸的玩家,都始终在寻觅能让音频体验更上一层楼的妙法。而 USB 声卡&#x…

计算机的错误计算(一百七十四)

摘要 探讨 MATLAB 关于计算机的错误计算(一百七十三)中多项式的秦九韶(或Horner)形式的计算误差。 在计算机的错误计算(一百七十三)中,我们讨论了一个多项式的计算误差。本节探讨其对应秦九韶&…

Magento2如何创建CRUD Models

Mageno2 Model的创建不同于其他框架&#xff0c;需要3个不同目录层级的文件 例如需要为表hello_test创建model&#xff1a; 1、app/code/Hello/Test/Model/Test.php <?phpnamespace Hello\Test\Model;class Test extends \Magento\Framework\Model\AbstractModel {protec…

Visual Studio 2022 项目配置常用选项

作为一名C++开发者,经常需要配置第三方库,今天来跟大家截图一下,方便大家快速配置: 头文件包含目录: 或者: 库文件包含目录:

基于Vue实现的移动端手机商城项目 电商购物网站 成品源码

&#x1f4c2;文章目录 一、&#x1f4d4;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站演示 &#x1f4f8;部分截图 &#x1f3ac;视频演示 五、⚙️网站代码 &#x1f9f1;项目结构 &#x1f492;vue代码预览 六、&#x1f527;完整…

PHP使用RabbitMQ(正常连接与开启SSL验证后的连接)

代码中包含了PHP在一般情况下使用方法和RabbitMQ开启了SSL验证后的使用方法&#xff08;我这边消费队列是使用接口请求的方式&#xff0c;每次只从中取出一条&#xff09; 安装amqp扩展 PHP使用RabbitMQ前&#xff0c;需要安装amqp扩展&#xff0c;之前文章中介绍了Windows环…

uniapp h5 vue3 m3u8 和 mp4 外链视频播放

m3u8视频播放 使用mui-player 和hls.js。 安装npm install mui-player hls.js我的版本是"hls.js": "^1.5.17"和"mui-player": "^1.8.1"使用 页面标签&#xff1a; 引用&#xff1a; 点击目录播放视频&#xff1a; m3u8视频播放&a…

给el-table表头添加icon图标,以及鼠标移入icon时显示el-tooltip提示内容

在你的代码中&#xff0c;你已经正确地使用了 el-tooltip 组件来实现鼠标划过加号时显示提示信息。el-tooltip 组件的 content 属性设置了提示信息的内容&#xff0c;placement 属性设置了提示信息的位置。 你需要确保 el-tooltip 组件的 content 属性和 placement 属性设置正…

node.js实现分页,jwt鉴权机制,token,cookie和session的区别

文章目录 1. 分⻚功能2. jwt鉴权机制1.jwt是什么2.jwt的应用3.优缺点 3. cookie&#xff0c;token&#xff0c;session的对比 1. 分⻚功能 为什么要分页 如果数据量很⼤&#xff0c;⽐如⼏万条数据&#xff0c;放在⼀个⻚⾯显⽰的话显然不友好&#xff0c;这时候就需要采⽤分⻚…

大数据新视界 -- Hive 元数据管理:核心元数据的深度解析(上)(27 / 30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

SpringBoot如何使用EasyExcel实现表格导出(简洁快速入门版本)

前言 前面给大家介绍了动态表头的导入&#xff0c;这篇文章给大家介绍如何实现导出 前面给大家介绍了动态表头的导入&#xff0c;我们了解了如何通过EasyExcel灵活地读取结构不固定的Excel文件。这次&#xff0c;我们将目光转向数据导出——即如何将数据以Excel文件的形式输出…

快速上手 RabbitMQ:使用 Docker 轻松搭建消息队列系统

在现代的分布式系统中&#xff0c;消息队列&#xff08;Message Queue&#xff09;是实现异步通信、解耦系统组件、提高系统可扩展性和可靠性的重要工具。RabbitMQ 是一个广泛使用的开源消息代理软件&#xff0c;它实现了高级消息队列协议&#xff08;AMQP&#xff09;&#xf…

ELK的Filebeat

目录 传送门前言一、概念1. 主要功能2. 架构3. 使用场景4. 模块5. 监控与管理 二、下载地址三、Linux下7.6.2版本安装filebeat.yml配置文件参考&#xff08;不要直接拷贝用&#xff09;多行匹配配置过滤配置最终配置&#xff08;一、多行匹配、直接读取日志文件、EFK方案&#…