微服务-开篇-个人对微服务的理解

从吃饭说起

个人理解新事物的时候喜欢将天上飞的理念转换成平常生活中的实践,对比理解这些高大上的名词,才能让我们减少恐慌的同时加深理解。废话不多说,我们从吃饭开始说起,逐渐类比出微服务的思想。
(个人见解,帮助掌握概念,有不对的地方请大神指出)
在这里插入图片描述
小明有一家餐馆,一开始餐馆很小,只有小明一个人。自己既要炒菜也要端碗还要打扫卫生。不过由于餐馆小,顾客不多也能忙的过来。
(单机模式,应用的数据、代码等全部运行在一台服务器上)

小明的手艺很好,不长时间他的饭馆在邻居中获得了口碑,大家都去他那吃饭。小明很开心,但是他发现他自己忙不过来了。。。
(业务量大了之后,由于单机的性能限制,服务无法满足需求)

在这里插入图片描述

想了一下以后,他决定招一名服务员,帮他承担端碗打杂的活。
(将部分功能拆开,比如将数据库分离,前后端分离,只是简单的做了拆分,不涉及微服务思想)

又过了一段时间,小明发现自己还是忙不过来,而且服务员也抱怨自己又要接待客人又要端碗还要打扫卫生,忙不过来了。
(在高并发的场景下,依旧无法满足需求)
在这里插入图片描述
于是,小明想了一下决定,再招一名厨师帮自己,另外再招一名服务员分解压力。随着小明的饭店生意越来越好,顾客越来越多,小明不停的招员工。
(不停的添加服务器,业务上逐渐拆分的更加细化。符合微服务理念,但是缺少微服务管理模块,会出现新的问题)

但是,新的问题来了:

  1. 员工偷懒,迟到、早退、缺勤等情况严重,无法及时发现和处理,导致客人有时候来到饭馆吃不到饭。(服务注册与发现)
  2. 客人感觉每次来了之后招待,端碗都乱哄哄的,没有统一的管事的人,用餐体验差,客人期望有专人对接服务。(网关服务)
  3. 员工都抱怨自己很忙,但是效率确上不去。(服务调用,负载均衡)
  4. 有时候餐馆用餐的人太多,自己点了很久也不上菜,并且没有人出来解释。(服务降级,服务熔断)
  5. 有时候服务员A收过钱了,但是服务员B不知道,还会问客人收钱。(数据一致性)

以上问题引出了讨论的主题,微服务和微服务的主要工具模块

问题解决:

  1. 招聘专业管理者,管理员工签到请假早退等。(Eureka、Zookeeper、Consul、Nacos)
  2. 招聘接待人员,专门接待客人用餐,客人只与接待人员沟通即可。(Zuul、gateway)
  3. 招聘专人根据具体的规则给每个员工安排合适的工作量。(Ribbon、OpenFeign)
  4. 招聘专人,在饭店坐满或者某个厨师、服务员工作压力过大、或者某个菜卖完了的时候,及时给客人提示。(Hystrix、sentinel)
  5. 招聘专人负责数据一致性(seate)

另外,还有链路追踪、服务配置等内容。随着饭店的变大,小明可以继续将自己的饭店业务细化,比如厨房分为配菜、切菜、炒菜、面点等服务。服务员分为传菜、接待、前台等等。每一个服务需要其他服务的配合时就互相调用。但是不是一对一的调用,不是直接两个人直接找到对方。而是通过对方的经理,找到对应的负责人对接。这样所有的服务都相当于一个整体,内部由很多个单体组成,但是对外只有一个接口,由经理负责统一调度。

在这里插入图片描述

这些加在一起,可以保证小明的饭馆在管理上和服务上都满足客人的需求。也保证在客流量大的时候,整个饭店的运营不会出现故障。

目前引出了微服务架构的概念和主要应用工具,但是还感觉在天上飘着,没有脚踏实地的感觉,不着急,下一篇整理一下我对Springclound的理解。

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

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

相关文章

【基础算法模板梳理】再也不想学算法了!(待更新)

目录 1、【二分】 (1)rmid —— 大于等于某数的最小值 (2)lmid —— 小于等于某数的最大值 2、【前缀和】 (1)一维前缀和 (2)二维前缀和 3、【差分】 (1&#x…

LCD1602设计(1)

本文为博主 日月同辉,与我共生,csdn原创首发。希望看完后能对你有所帮助,不足之处请指正!一起交流学习,共同进步! > 发布人:日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…

SQL必知会(二)-SQL查询篇(5)-用通配符进行过滤

第6课、用通配符进行过滤 LIKE:匹配文本 LIKE:针对未知值进行过滤。通配符搜索只能用于文本字段。 1)百分号%通配符 %表示任何字符出现任意次数。 需求:找出所有以词 Fish 起头的产品 SELECT prod_id, prod_name FROM Product…

34 mysql limit 的实现

前言 这里来看一下 我们常见的 mysql 分页的 limit 的相的处理 这个问题的主要是来自于 之前有一个需要处理 大数据量的数据表的信息, 将数据转移到 es 中 然后就是用了最简单的 “select * from tz_test limit $pageOffset, $pageSize ” 来分页处理 但是由于 数据表的数…

1-前端基本知识-HTML

1-前端基本知识-HTML 文章目录 1-前端基本知识-HTML总体概述什么是HTML?超文本标记语言 HTML基础结构文档声明根标签头部元素主体元素注释 HTML概念词汇:标签、属性、文本、元素HTML基本语法规则HTML常见标签标题标签段落标签换行标签列表标签超链接标签…

【Windows Docker:安装nginx】

拉镜像 docker pull nginx运行初始镜像 docker run -d -p 80:80 --name nginx nginx拷贝文件 docker cp nginx:/etc/nginx/nginx.conf D:/dockerFile/nginx/nginx.conf docker cp nginx:/etc/nginx/conf.d D:/dockerFile/nginx/conf.d docker cp nginx:/usr/share/nginx/htm…

华为李鹏:到 2025 年智能算力需求将达到目前水平的 100 倍

在第十四届全球移动宽带论坛上,华为高级副总裁、运营商 BG 总裁李鹏表示,大模型为代表的 AI 应用发展带来对智能算力的爆发式需求。 李鹏在题为《加速 5G 商业正循环,拥抱更繁荣的 5.5G》的讲话中表示,「5G 已经走在商业成功的正确…

学之思开源考试系统部署至Centos7

学之思开源考试系统部署至Centos7 1、下载源码 源码下载: https://gitee.com/mindskip/xzs-mysql 数据库脚本下载: https://www.mindskip.net:999/ 2、项目打包 分别在\source\vue\xzs-student目录和source\vue\xzs-admin目录,执行前端打…

人工智能基础_机器学习023_理解套索回归_认识L1正则---人工智能工作笔记0063

然后上一节我们说了L1,L2正则是为了提高,模型的泛化能力, 提高泛化能力,实际上就是把模型的公式的w,权重值,变小对吧. 然后我们这里首先看第一个L1正则,是怎么做到把w权重变小的 可以看到最上面是线性回归的损失函数,然后 L1可以看到,这个正则,就是在损失函数的基础上给损失…

uniapp+vue3+ts+vite+echarts开发图表类小程序,将echarts导入项目使用的详细步骤,耗时一天终于弄好了

想在uniapp和vue3环境中使用echarts是一件相当前卫的事情,官方适配的还不是很好,echarts的使用插件写的是有些不太清晰的,这里我花费了一天的时间,终于将这个使用步骤搞清楚了,并且建了一个仓库,大家可以直…

C#动态拦截并覆盖第三方进程的函数,实现函数篡改(外挂)

今天在看之前收藏的一个pdf文档(介绍C#外挂的相关知识的),结合网上的东西及个人的理解才有了这篇文章。 参考文章: 【精选】一文带解读C# 动态拦截覆盖第三方进程中的函数(外挂必备)_zls365365的博客-CSDN博客 DotNetDetour - …

解决内存泄漏问题,Profiler工具的使用介绍

什么是内存泄漏 内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。 以上是官方针对内存泄漏的说法。说的通俗一点&#x…

在IDEA中使用maven项目总结

一 什么是maven Maven本身也是Java写的,他是一款服务于Java平台的自动化构建工具 Maven是一个项目管理工具,旨在简化软件项目的构建、依赖管理和项目信息管理。它使用基于项目对象模型(Project Object Model,POM)的…

「我在淘天做技术」音视频技术及其在淘宝内容业务中的应用

作者:李凯 一、前言 近年来,内容电商似乎已经充分融入到人们的生活中:在闲暇时间,我们已经习惯于拿出手机,从电商平台的直播间、或者短视频链接下单自己心仪的商品。 尽管优质的货品、实惠的价格、精致的布景、有趣的…

基于SSM的科技公司门户网站

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

Vatee万腾的科技决策力奇迹:Vatee科技决策力的独特之选

在金融投资的复杂领域中,Vatee万腾以其独特的科技决策力创造了一场真正的奇迹。这不仅是一种引领投资者走向成功的选择,更是一种开启新时代的科技决策奇迹。 Vatee的科技决策力背后蕴藏着强大的智慧和创新。通过大数据分析、智能算法的运用,V…

LoRAShear:微软在LLM修剪和知识恢复方面的最新研究

LoRAShear是微软为优化语言模型模型(llm)和保存知识而开发的一种新方法。它可以进行结构性修剪,减少计算需求并提高效率。 LHSPG技术( Lora Half-Space Projected Gradient)支持渐进式结构化剪枝和动态知识恢复。可以通过依赖图分析和稀疏度…

jupyter notebook中markdown改变图像大小

文章目录 &#x1f56e;原始图像&#x1f56e;改变图像大小&#x1f56e;使图像靠左 在 jupyter notebook中&#xff0c;导入的图片过大&#xff0c;想要改变图像的大小 &#x1f56e;原始图像 &#x1f56e;改变图像大小 复制小括号里面的内容到src后面&#xff0c;满足<…

【操作系统内核】线程

【操作系统内核】线程 为什么需要线程 比如我要做一个视频播放器&#xff0c;就需要实现三个功能&#xff1a; ① 从磁盘读取视频数据 ② 对读取到的视频数据进行解码 ③ 对解码的数据进行播放 如果串行执行&#xff08;通过一个进程来执行&#xff09;&#xff1a; 那么…