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

2023-11-10 17:15

本文主要是介绍微服务-开篇-个人对微服务的理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从吃饭说起

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

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

在这里插入图片描述

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

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

但是,新的问题来了:

  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.chinasem.cn/article/384128

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

微服务架构之使用RabbitMQ进行异步处理方式

《微服务架构之使用RabbitMQ进行异步处理方式》本文介绍了RabbitMQ的基本概念、异步调用处理逻辑、RabbitMQ的基本使用方法以及在SpringBoot项目中使用RabbitMQ解决高并发... 目录一.什么是RabbitMQ?二.异步调用处理逻辑:三.RabbitMQ的基本使用1.安装2.架构

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危