首页 > 其他分享 >黑马微服务开发与实战学习笔记_导论

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

时间:2024-12-07 22:31:01浏览次数:8  
标签:调用 服务 项目 导论 单体 问题 笔记 架构 黑马

系列博客目录


文章目录


为什么学微服务?

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

定义

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

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

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

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

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

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

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

标签:调用,服务,项目,导论,单体,问题,笔记,架构,黑马
From: https://blog.csdn.net/buyaotutou/article/details/144199105

相关文章

  • 文献阅读笔记|将H&E图像转换为虚拟免疫组化图像的病理学工具|Accelerating histopatho
    论文链接:https://doi.org/10.1038/s42256-024-00889-5论文信息:发表于NatureMachineIntelligence。2023年12月4日投稿,2024年7月29日接收,2024年9月9日online目录AbstractIntroduction1、从HE染色病理图像合成多重免疫组化(IHC)染色图像的意义2、虚拟染色【1】含义介绍【2】配对模......
  • 8条笔记,30天涨粉1.8w!用AI做林黛玉怼人视频,涨粉太香了!(附完整教程)
    大家好,我是程序员X小鹿,前互联网大厂程序员,自由职业2年+,也一名AIGC爱好者,持续分享更多前沿的「AI工具」和「AI副业玩法」,欢迎一起交流~最近「林黛玉怼人」系列的账号太火了!而且内容太太太让人上瘾了!在小红书刷到了林黛玉怼人的视频,愣是被硬控了10多分钟,才「依依不舍......
  • nginx配置笔记
    前言nginx官方文档:https://nginx.org/en/docs/openresty官方文档:https://github.com/openresty/lua-nginx-module一、配置1.配置实例1.1.80端口转443server{listen80default_server;listen[::]:80default_server;rewrite^https://$http......
  • Forkify学习笔记
    MVC模式之Controller与View如何通信?用到发布-订阅者模式订阅者(Subscriber):想要响应事件的代码发布者(Publisher):知道何时触发事件的代码View中监听事件发生,真正的事件处理要在Controller里面。现在的问题是:事件处理函数controlRecipe()在Controller当中,用于渲染菜谱;addHan......
  • DeBian系统部署思源笔记
    引言该过程参考于以下文章:思源笔记docker部署解决docker镜像仓库下载慢安装docker检查docker是否安装检查服务器系统内是否安装了docker:docker--version若未安装docker,则显示如下命令:-bash:docker:commandnotfound安装docker操作切换清华镜像源:sudo......
  • 运筹学笔记——求解线性规划人工变量法
    这学期学校开设了运筹学这门课,虽然之前已经对线性规划有过了解,但是几种求解方法则是新接触,写个笔记留作复习备用前面学习了单纯形法,在单纯形法中,我们考虑的是一个相对理想的情形,即约束条件的系数矩阵A中已包含应该m阶(m为约束条件个数)的单位矩阵。在这种情况下,取该单位矩阵......
  • CycleNet模型训练笔记
    关于开始训练环境配置完成后在终端执行:pythonrun.py--is_training1--model_idtest01--modelCycleNet--dataETTh1run.py 是训练脚本--is_training1 表示这是一个训练过程--model_idtest01 指定了模型的ID,这个I用于记录或识别不同的训练过程--modelCycleNet ......
  • 【学习笔记】(四)Mybatis整合SpringBoot后的启动与执行流程
    导语上一章介绍了bean的创建与加载流程,本章将粗粒度地介绍Mybatis整合SpringBoot后的启动与执行流程。也算是对上一章内容的补充。因为上一章更多的是介绍一般情况下的bean创建与加载流程。本章会介绍通过@Bean注解或FactoryBean实现类进行bean创建的流程上一章的传送门:Sp......
  • [学习笔记 #9] 回文自动机和“广义回文自动机”
    目录[学习笔记#9]回文自动机和“广义回文自动机”回文自动机(PAM)“广义回文自动机”在线构建离线构建(Trie)[学习笔记#9]回文自动机和“广义回文自动机”[]里的是我还不确定的。回文自动机(PAM)维护一个字符串的所有本质不同回文子串。增量构建,每次在结尾处加一个字符,考虑会......
  • 深度学习中的数学基础【学习笔记】——第一章:高等数学基础
    视频链接:高等数学、线性代数、微积分、概率论.…终于有人把深度学习的数学知识点讲透彻了! UP主讲解的非常好,受益匪浅,总结课程内容以供复习。目录1、函数2、极限3、无穷小与无穷大4、连续性与导数5、偏导数6、方向导数7、梯度1、函数2、极限3、无......