当前位置: 首页 > news >正文

【小也的Java之旅系列】01 分布式、集群、微服务的区别

前言

做Java开发多年,一直以来都有想把Java做成一个系列的想法,最近整理自己的笔记发现有很多值得写的内容,但这些内容又往往杂乱不堪。CSDN上有很多高质量的Java博客,但大多不是从一个人成长的角度去写的。而我们——一个技术人员——一个人,是在不断的学习中成长的,这样的过程如果能体现在系列博客中那真的就太好了。于是,终于下定决心,想花一段时间整理成册——或许是几个月,或许是半年,或许是一年不止。希望自己能坚持下去。

为什么叫小也

孩子是我们之所以还努力的原因。

本系列适合什么样的人阅读

阅读本文最好有一定基础,最优人群是:

  1. 了解Java的基础语法
  2. 自己本身已经写过代码
  3. 对Java架构、大数据、轻代码等进阶有兴趣

如果你是个初出茅庐的初学者,对Java技术内容都不甚了解,也不用特别担心,我的另外一个系列你肯定感兴趣——《Java8系列博文合集》(或者访问我的博客园也可以阅读)。

为什么用比喻方式写技术内容

大家会发现技术从来都不是枯燥的,枯燥的是工作:)。
鉴于读者可能有刚刚开始学习的同行,所以类比的方式讲解内容就非常有用。
在整个系列中,我们追随小也的步伐一步步成为熟悉,甚至精通Java的技术人员。

系列准备写哪些内容

在这里插入图片描述
你没看错,原本的想法甚至包括了我的笔记的所有内容:Java、AI、前端等等。但由于太过庞杂(我的笔记又太乱 T T),准备优先完成Java系列…的红色部分。
其余内容将在漫长时间里逐一补全——希望大家收藏转发关注,给予我坚持下去的信心。

为什么从架构开始做本系列第一章

我一直有两个疑惑:
为什么老师们教英语的时候不先教音标和构词法,而是直接开始学单词和短语?
为什么学校教技术的时候,都要先教HelloWord,而不是架构?

这两个有什么关系?
教了音标我们就可以开口说话,教了构词法我们就可以快速掌握单词。
教了架构,我们可以明白代码为什么要这么写,思考问题应该从哪开始琢磨,掌握解决一类问题而不是一个问题。

当然,有人会说初学者直接教架构是大了些,但我想反其道而行之——我认为,与其快速在屏幕显示出HelloWord而沾沾自喜,我更想知道如今司空见惯的、到处都是的APP网站们都是怎么跑起来的。

正文

叔叔的烦恼——单体服务

小也的叔叔是个厨师,他开了间饭馆,饭店里人来人往,特别是饭点,完全走不动道。小也的叔叔经常给小也说:“客人总是抱怨等得久,我自己也经常累得不行。”
小也很聪明,他首先将问题画出来,标记出问题的关键点。
在这里插入图片描述

小也的建议——集群

问题

叔叔一个人工作太累了,没法快速完成产品需求(出餐)。最要命的是,如果叔叔身体不舒服,那饭店就没人工作了。
(翻译:单体服务一旦崩溃,系统将彻底瘫痪。)

思考

如果店里面有更多的厨师和工作台,不就可以了?

解决

设置更多工作台,招聘更多厨师与叔叔一起工作,这样效率就提高了。
(翻译:将程序部署在多个设备上同时运行,再搭配负载均衡,就更能保证系统的稳定性)
在这里插入图片描述

小也的思考——分布式

有了更多厨师的帮助,叔叔总算不那么累了,出餐也更快,过了没多久,叔叔的店面扩张了,现在有更多的人来吃饭,而且叔叔还增加了菜品,种类更丰富。
但没过多久,新的问题又出现了。
由于增加了太多菜品,虽然增加了厨师但经常出现餐品来不及做的情况。
小也拿出笔重新开始分析。

问题

菜品太多,经常出现其中某几个菜抄的慢而影响到一桌子菜的进度。
(翻译:前后端、数据库端等对资源消耗不同,可能会相互影响。)

思考

根本原因是因为素菜和荤菜的资源消耗不同,往往一桌子菜有荤菜又有素菜,但素菜都吃完了荤菜还没上。
(翻译:同一个系统,不同环境消耗资源不同,可能由于某个环节过载而影响产品整体效果。)

解决

将荤菜和素菜分开,荤菜慢,素菜快,给荤菜更多资源(厨师和工作台),减轻压力,提高效率。
在这里插入图片描述

有没有一劳永逸的方法——微服务

自从荤素区分后,出餐快了,餐品相互也没有影响,如果其中某个厨师请假也不影响饭店运转。
但过了一段时间,叔叔又找到了小也:“我最近又加了西餐,还想把日式料理也加上去……厨子是越来越多了,我发现我自己做老板的都管不过来了,这可怎么办?”

小也拿出笔再次思考。

问题

之前的问题都是客人多厨师少导致的,但到了现在,厨师已经越来越多,发现问题反倒是在资源(厨师和工作台)使用上。
(翻译:分布式虽然解决了不同子系统之间的相互影响,但随着系统越来越庞杂,系统之间的交互和配合就会出现新的问题。)

思考

根本原因是对厨师的管理不足,叔叔作为老板,不能够有效利用每一个人,厨房现在乱作一团,需要赶快解决人员协作。
无论是中餐、西餐还是以后可能增加的新菜品,我们的目的都是为了出餐,我们需要抽象思考餐品的制作过程,安排人员紧密搭配。

解决

从餐品制作过程(功能流程)入手,分为洗菜、切菜和炒菜,不同集群的厨师只做好自己的本职工作。如果需要,以后还可以增加新的功能集群(煲汤集群、腌菜集群…)。每个集群相互独立,但又有关联,统一为一个目标——业务流程服务。
在这里插入图片描述

已经优化到了极限吗?

预制菜的出现——中台

新的时代,预制菜已经满大街都是。菜品不一定从厨房出,而是统一从一个指定的厂家出,再由不同饭店简单加工即可食用。这就是中台。
中台将主要服务打包,使用者不需要了解实现细节,只需调研API即可。

人工智能厨子——AI驱动架构

大模型技术正在深度融入微服务生命周期管理,形成「AI+微服务」的融合架构:

据说,字节跳动用大模型实现了Go到Rust的代码迁移,通过LLM分析项目依赖关系和接口调用,生成迁移脚本并保证兼容性。
AI可以基于历史数据的AI模型可识别微服务链路异常,自动执行熔断、降级或路由切换。

不断升级——无服务架构和云原生

维度Serverless云原生(Cloud Native)​中台
核心定义无需管理服务器的计算模型,按需执行代码并按量付费。基于云计算特性的应用开发方法论,强调容器化、微服务、自动化和弹性扩展。企业级能力复用平台,整合通用业务/数据/技术能力以支撑多业务线协作。
技术特征事件驱动(如HTTP触发器)、按需弹性伸缩、冷启动延迟。容器化(Docker)、编排系统(Kubernetes)、服务网格(Istio)、持续交付(CI/CD)。API网关、微服务架构、统一配置中心、业务能力抽象化。
核心目标消除服务器运维负担,降低资源闲置成本。最大化云资源弹性,提升应用的可扩展性和可靠性。避免重复建设,加速业务创新与协作。
运维复杂度零运维​(由云厂商管理资源)。高复杂度​(需管理容器集群、服务网格等)。中等复杂度​(需持续迭代中台能力)。
应用场景突发流量处理(如秒杀)、轻量任务(如文件转换)、异步事件处理(如消息队列)。高并发互联网服务(如电商平台)、分布式数据库、微服务架构的复杂系统。多业务线共享能力(如用户中心、支付中台)、企业数字化转型中的能力沉淀。
典型技术/产品AWS Lambda、阿里云函数计算、Azure Functions。Kubernetes、Istio、Prometheus、Helm。阿里业务中台、腾讯数据中台、微服务化的用户认证中心。
成本模型按执行时间和资源使用量付费(后付费)。按资源预留量付费(预付费+弹性扩缩容)。前期建设成本高,长期通过复用降低业务线开发成本。
核心挑战冷启动延迟、状态管理困难、调试复杂。多集群管理复杂性、服务网格性能开销、跨云兼容性。业务边界划分模糊、中台与业务线需求冲突、能力迭代速度匹配问题。
与微服务关系可作为微服务的轻量化部署形式(如FaaS化微服务)。微服务是云原生的核心架构模式之一。中台通常基于微服务架构实现能力复用。
企业适用阶段初创企业快速试错、中小型业务轻量化部署。中大型企业复杂系统改造、需要长期技术沉淀的场景。集团化企业或多业务线公司,需解决重复建设和资源浪费问题。

总结

以上内容是快速了解架构的关系和区别,并且了解了以后架构发展大趋势。至于什么是微服务,具体该怎么用代码实现,将在之后的章节详细讲解。


http://www.mrgr.cn/news/95277.html

相关文章:

  • 【sgFloatDialog】自定义组件:浮动弹窗,支持修改尺寸、拖拽位置、最大化、还原、最小化、复位
  • 正则表达式详解(regular expression)
  • Spring学习
  • C语言入门知识(上)
  • (一)飞行器的姿态欧拉角, 欧拉旋转, 完全数学推导(基于坐标基的变换矩阵).(偏航角,俯仰角,横滚角)
  • vue使用element-ui自定义样式思路分享【实操】
  • 【QT5 多线程示例】互斥锁
  • Web-Machine-N7靶机通关攻略
  • 工厂方法模式、简单工厂模式与抽象工厂模式的对比
  • Netty中的直接内存是怎么回事?
  • 强推 Maven多镜像源快速切换工具,GUI操作超便捷
  • 软件工程之软件验证计划Software Verification Plan
  • 模型空间、图纸空间、布局(Layout)之间联系——CAD c#二次开发
  • Java+Html实现前后端客服聊天
  • K8S学习之基础四十:K8S配置altermanager发送告警到钉钉群
  • [AI速读]如何构建高效的AMBA协议检查器(Checker IP)
  • 基于carla的模仿学习(附数据集CORL2017)更新中........
  • PWM控制电机转速的原理及相关寄存器值计算
  • 失败的面试经历(ʘ̥∧ʘ̥)
  • 英伟达黄仁勋2025GTC演讲深度解析:液冷GPU、AI工厂、机器人AI…...