B站参考视频:https://www.bilibili.com/video/BV1ez4y1D7w6/?spm_id_from=333.337.search-card.all.click&vd_source=af711822badba35bcf5c011ca260390f

1. 基于SpringBoot的多服务开发

SpringBoot 就像是一位尽职尽责的饭店老板,任劳任怨。下面我们叫他小布。

跑堂(点菜)-》厨师(做饭)-》收银员(收钱)-》杂役(收拾桌子)都是小布一个人在干。

他慌了,忙不过来了。
(一台服务什么都干,单点问题,服务宕机所有服务都不可用,服务并发压力大,代码都部署在一个服务上,耦合度高,维护难度高,修改BUG需要全程测试,扩展成本高。)
我们为什么要用微服务?

于是小布开始招聘,他招了一位跑堂、一位厨师、一位收银员、一位杂役。
由于饭店生意太好了,客人很多,一个人跑堂给客户点菜根本忙不过来,这可咋整?
于是小布招了3名跑堂,4名厨师,2名杂役,2名杂役。这样问题就解决了。
(利用多台服务器部署)

2.注册中心 Eureka

但是新的问题出现了,客人们进店,到底叫那个跑堂的点菜呀?
商人奈飞(Netflix)发现了小布这个问题,为小布提供了一款Eureka的pad
pad上记录了所有员工能完成的任务,这样客户进店只需要给他一个pad,在pad上划拉,Eureka自动给员工分配能干的任务。

3.负载均衡 Ribbon

但是新的问题又来了,客人点了鱼香肉丝,我的四名大厨都能干。让谁干呢?
商人奈飞(Netflix)又来了,我有新的技术Ribbon,
Ribbon会利用轮询模式按顺序把客人叫的第一个菜让第一名厨师炒,客人叫的第二个菜让第二个厨师炒,以此类推。
而且如果有些菜比较复杂导致厨师炒菜慢,还会把新的任务先轮给别的厨师。不让厨师累坏了,也不让厨师闲着。

4. 服务调用简化器 feign

厨师炒完菜,厨师通知跑堂来端菜,
客户结完账,收银员通知杂役收拾桌子…

大家可能各自操着各自的方言,沟通起来比较吃力,这可咋整?
商人奈飞(Netflix)又又又来了,这次他带着feign简化器来了
大家只需要把一些基础的工作任务配在口令里,厨师炒完菜然后一摁口令器,跑堂就知道要把菜送到16号桌。
**(调用接口时用注解调用feignClient的接口,feign会在底层把建立连接,构造请求,发送请求,获取响应等任务自动完成)

5.降级与熔断 Hystrix

随着小布的生意越来越好,客人越来越多,招聘的员工也越来越多。
但是有一天,因为小布忘记交煤气费,导致厨房的燃气灶没火里,厨师无法炒菜,大家都傻了。
大家没经历过这样的事情呀!
但是客人还是在不断的进店点菜,人越来越多…
当天晚上燃气费也没交上,小布只能给客户挨个赔礼道歉。
晚上回家小布一想:这不行呀,以后再有两次这种情况发生,我这买卖还干不干了呀???

于是小布请来了精通商业之道的豪哥来了,豪猪哥给小布提供了新的对策。
熔断:客人点菜,你厨房炒不了,你别啥也不说,你告诉顾客我们炒不了了的友好提示,别让客户傻等着呀!然后我没过一会儿就问问能炒了吗?每过一会就问问能炒了吗?直到你能炒为止。
降级:客人点鱼香肉丝,你炒不了,你给客人拿出一盘你提前准备的炸花生米,让客人更好的接受,但是鱼香肉丝您就别想了。

熔断、降级、限流是啥?

6.网关 Zuul

小布的买卖越做越好,开了很多分店,还上了美团、饿了么外卖。
现在顾客可以在外卖平台上点餐,点餐的时候客人还得选择 你要哪间店铺给你炒这道菜呀?
但是问题又来了,这家店要是贼忙,而我的另一家分店很闲咋办? 让客人这么等着吗?
网关zuul需要客户现在网关注册一个账号,然后根据客户的地址,点菜类型,现在分店的繁忙程度,给客人选择一个目前最合适的分店。
这样 客人就非常满意了。

7.配置中心 config

有一天,小布去外地考察,发现当地的红烧肉非常好吃,他打算让所有的厨师都学会这道菜,增加店面特色。
但是我不能挨家分店挨个去教厨师红烧肉怎么做吧?这也太麻烦了吧。
于是小布把新菜的步骤,写在CSDN上面,然后打电话告诉厨师,让厨师们能在不忙的时候,直接就能看到,非常方便。

8.消息队列 rabbitMQ

但是小布还是觉得,挨个给他们打电话说这个事情太麻烦了,不如我用通讯软件rabbitMQ拉个群,我把CSDN链接发群里,你们谁看到了自己就能学到了,这岂不美哉?

9. SpringCloud 1.0

基于以上所有技术的整合,便是springcloud1.0了

但是,好景不长,商人奈飞的团队因为技术内讧产品停止更新了。
这可咋整,小布的饭馆需要这些技术呀!!

于是乎,野心勃勃的阿里巴巴创建了SpringCloud Alibaba 更加完善的框架。
后面,我们再继续探索 SpringCloud Alibaba 的魅力。

【SpringCloud】3分钟讲解SpringCloud1.0相关推荐

  1. 30分钟学会EventBus3 0详解(二)(EventBus3 0的详细使用)(by星空武哥)

    转载声明原创地址:http://blog.csdn.net/lsyz0021/article/details/52094855 30分钟学会EventBus3.0详解(一)(引入和初始化EventBu ...

  2. 明晚8点,捷微团队QQ群公开课,讲解jeewx2.0版本maven环境的搭建入门!

    2014-08-13号晚8点,捷微团队QQ群公开课,讲解jeewx2.0版本maven环境的搭建入门! 讲师:刘强(团队成员) QQ群:287090836 (JAVA版本微信开源项目) http:// ...

  3. php yii应用运维,Windows运维之Windows下用cmd命令实例讲解yii2.0在php命令行中运行的步骤...

    本文主要向大家介绍了Windows运维之Windows下用cmd命令实例讲解yii2.0在php命令行中运行的步骤,通过具体的内容向大家展现,希望对大家学习Windows运维有所帮助. Yii中的资源 ...

  4. 15分钟上手vue3.0(小结)

    这篇文章主要介绍了15分钟上手vue3.0,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值 Vue 3 还没有正式发布,但是 Alpha 版本已经发布了. 虽然官方还不推荐 ...

  5. SpringCloud升级之路2020.0.x版-41. SpringCloudGateway 基本流程讲解(3)

    本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 我们继续分析上一节提到的 WebHandler.加入 Spring Cloud Sleut ...

  6. springCloud Euraka知识讲解、问题解决方案、优化方案

    目录 ​​​​​​​​​​​​​​ 概述 介绍 Euraka基本配置 Eureka-server配置参数 基本参数 ​​​​​​​Response cache参数 ​​​​​​​peer相关参数 ​​ ...

  7. springcloud alibaba + seata 1.3.0 集成文档

    一.seata-server端 1.下载 下载地址 http://seata.io/zh-cn/blog/download.html 由于我用nacos作为注册中心,所有该文章以nacos为基础进行s ...

  8. 【直播回放】60分钟讲解深度学习中的数据爬虫和标注

    大家好,欢迎来到我们的付费视频直播回放栏目,在这个专栏中我们会每一次针对某一个主题,做1-2个小时左右的直播,包含PPT讲解与答疑交流. 作者&编辑 | 言有三 本文主题与资源 主讲人:贺率欣 ...

  9. 5分钟 学会 webpack4.0之 加薪必备

    点击上方蓝色字,关注置顶 "前端你别闹" 文/北妈 阅读本文需要 3.0分钟 一开始正文之前,先说个八卦放松一下,毕竟周一嘛. 周一本应是良好的开始,但对一个公司仿佛不是那么友好. ...

最新文章

  1. ACM-ICPC (10/19)
  2. linux系统退出当前计算节点命令,Linux下60个系统命令详细解.doc
  3. DL之HNN:基于HNN(subplot)将凌乱数字矩阵图像(模拟手写数字图片)实现转为最相近的阿拉伯数字
  4. Shell编程之条件语句(if语句,case分支语句)
  5. python manager是进程安全的么_Python在进程之间共享锁
  6. lamp mysql5.5 LAMP平台全新编译安装
  7. 马凯军201771010116《面向对象程序设计(java)》第二周学习总结
  8. Date类 和 Calendar类
  9. 计算机底纹不起作用,CSS - 背景颜色在IE11中不起作用(CSS - background-color not working in IE11)...
  10. Windows Server 2008域中组的简析
  11. 【2018.06.21学习笔记】【linux高级知识 14.1-14.3】
  12. 王立平--android中的anim(动画)
  13. 一个项目部署多个节点会导致锁失效么_一文看透 Redis 分布式锁进化史(解读 + 缺陷分析)...
  14. poythoncode-实战4--读取文本文件,csv文件,存到系统中以大列表方式进行存储
  15. matlab 平滑曲线连接_Matlab的5个控制类工具箱介绍
  16. C语言入门常见的代码
  17. 离散信号(八)| 离散傅里叶变换DFT性质(圆周移位、圆周卷积)
  18. codeforces 760B B. Frodo and pillows(二分)
  19. 基于域名的虚拟主机配置
  20. PPT基础(二十二)裁剪图片

热门文章

  1. JVM——Java诊断工具Arthas
  2. mysql distinct效率优化_mysql distinct 用法详解及优化
  3. C# U8调用OpenAPI
  4. 简单选择排序的稳定性
  5. lnmp优化服务器,lnmp 并发性能优化
  6. 通过playbook部署LNMP环境
  7. 安卓java编辑器eclipse_Eclipse开发Android源码的详细教程
  8. UVM入门与进阶学习笔记4——UVM仿真的开始与结束
  9. 【python学习】多线程下载图片实战
  10. Win10系统打开.chm文件的方式