终于有人讲明白了:单机、集群、分布式与微服务的区别
haoteby 2025-03-17 18:16 49 浏览
当今时代人人都在聊微服务开发,与人交谈如果说不知道微服务是什么东西倒显得落后了。但仔细想想,和微服务相近概念还有单机、集群、分布式,这几个概念总容易让人混淆,那么如何正确的区分他们的概念和区别呢?
一、 案例导入
你作为产品经理最近公司要上线一个商城系统,你目前手头上有127.16.23.118和127.16.23.120和127.16.23.122三个服务器可以部署。这个线上商城系统目前有商品模块、订单模块、用户模块。
作为产品经理的你,会如何部署?
二、 概念区分,了解内涵
选择一:
商城系统里面商品模块、订单模块、用户模块三个模块不拆分,你选则部署在127.16.23.118或者127.16.23.120或者127.16.23.122的其中任一服务器上。(即一个服务器部署了整个商城系统)
以上单机部署。
单机部署的含义:所有的业务全部写在一个项目中,部署服务到一台服务器上。
单机部署的优点;方便开发、学习的成本较低、方便部署。
单机部署的缺点:当一个模块出现问题整个系统需要全部停止更新。
选择二:
你觉得三台服务器不够,再加127.16.23.124、127.16.23.126、127.16.23.128三台服务器, 127.16.23.124放商品模块,127.16.23.126放订单模块,127.16.23.128放用户模块(1个模块由2台服务器部署),集群把模块的崩溃风险降到服务器可用级别(一个服务器不可用了,还有另外一台服务器可用)。
以上就是集群。
集群的含义:集群就是单机的“复制”,同一个业务,部署在多个服务器上(不同的服务器运行同样的代码,干同一件事。如果一台死机,另一台可以起作用,不影响整个程序的运行)。
每台服务器并不是缺一不可,存在的作用主要是缓解并发压力和单点故障转移问题。
集群的优点:系统扩展容易、易部署:无需改动任何的项目代码,只需要新增服务器部署相同的应用并配置好负载均衡,就可以很好的减轻随着业务增量带来的系统压力。
集群的缺点:第一、每个节点负载相同每个具体业务的访问量可能差异很大,比如美团美食外卖的访问量一定大于鲜花外卖的访问量,这就造成了资源浪费。第二、业务发展到一定程度,无论再怎么增加节点,整个集群性能提升效果不明显。
选择三:
商城系统里面三个模块拆分部署,三个模块分别部署在不同的服务器上,比如127.16.23.118放商品模块,127.16.23.120放订单模块,127.16.23.122放用户模块。(商城系统被细分为3个小模块,每个服务器部署商城系统的其中一个模块,3个服务器合起来部署了整个商城系统)
以上就是分布式部署。
分布式部署的含义:把一个业务,拆分成多个业务,然后部署到不同的服务器上,这就是分布式
分布式部署的优点:第一、可以独立开发、独立部署、独立测试,系统与系统之间的边界非常明确,排错也变得相当容易,开发效率大大提升。第二、系统更易于扩展,可以针对性地扩展某些服务。
第三、服务的复用性更高。
分布式部署的缺点:架构设计复杂;系统的吞吐量会变大,但是响应时间会变长;运维复杂度会因为服务变多而变得很复杂;架构复杂导致学习曲线变大;测试和查错的复杂度增大……
选择四:
是一种设计理念,把整个系统的各个模块当做独立的可启动系统对待,把这些独立的可启动的系统或放一台服务器运行(就和单体差不多,区别在于每个模块只含自己的代码)或放多台服务器运行(分布式做法)。
以上是微服务。
微服务的含义:一种非常细粒度的垂直拆分,小到不可分割的分布式模块,小到一个服务只对应一个单一的功能。每个微服务都是由独立的小团队开发,测试,部署,上线,负责它的整个生命周期。
三、 善用工具,事半功倍
随着Docker技术的普及和Kubernetes在互联网公司的大量部署与使用,微服务架构正在围绕应用如何易于开发交付、减少资源消耗、无侵入治理等方面进行变革和演进。在软件开发领域有这样一款产品:飞算科技的SoFlu软件机器人。
SoFlu软件机器人通过实现软件开发的流程全自动,为企业软件开发带来“一人一项目,十人抵百人”的效能提升,助力企业实现软件自主研发。作为全球首款面向微服务架构设计和最佳实践的软件机器人,SoFlu软件机器人改变了原来手工编码的作业模式,通过可视化拖拽方式以及参数配置就能实现等同于编写复杂代码的业务逻辑,在设计业务逻辑时就完成了微服务应用开发,做到“业务即图,图即代码”,实现“软件开发,十倍提效”。
同时,针对近年来多发的企业科技创新技术封锁的问题,SoFlu软件机器人已完成完全的国产化,目前获得了上百项专利和著作权认证。
企业数字化工具,现免费试用开启中,咨询产品,请关注公众号“飞算科技”。
相关推荐
- Chrome OS 41 用 Freon 取代 X11_chrome os atom
-
在刚发布的ChromeOS41里,除了常规的Wi-Fi稳定性提升(几乎所有系统的changelog里都会包含这一项)、访客模式壁纸等之外,还存在底层改变。这一更新中Google移除...
- 苹果iPad Pro再曝光 有望今年六月发布
-
自进入2015年以后,有关大屏iPad的消息便一直不绝于耳,之前就有不少媒体猜想这款全新的平板电脑将会在三月发布,不过可惜的是我么只在那次发布会上看到了MacBookPro。近日@Ubuntu团队便...
- 雷卯针对香橙派Orange Pi 5 Max开发板防雷防静电方案
-
一、应用场景高端平板、边缘计算、人工智能、云计算、AR/VR、智能安防、智能家居、Linux桌面计算机、Linux网络服务器、Android平板、Android游戏机...
- Ubuntu Server无法更新问题解决_ubuntu server not found
-
上周老家的一台运行UbuntuServer的盒子无法连接上了,中秋这两天回来打开,顺手更新一下发现更新报错。提示`E:Releasefileforhttps://mirrors.aliyun...
- 虚幻引擎5正式版发布:古墓丽影&巫师新作采用、新一代实时渲染
-
机器之心报道编辑:杜伟、陈萍虚幻引擎5的目标是「助力各种规模的团队在视觉领域和互动领域挑战极限,施展无限潜能」。...
- AMD Milan-X双路霄龙7773X平台基准测试曝光 CPU缓存总量超1.5GB
-
OpenBenchmarking基准测试数据库刚刚曝光了AMDMilan-X双路霄龙7773X平台的跑分成绩,虽然很快就被撤下,但我们还是知晓了高达1.6GB的总CPU缓存。早些时...
- 全网最新的Dify(1.7.2)私有化离线部署教程(ARM架构)
-
Hello,大家好!近期工作中有涉及到Dify私有化离线部署,特别是针对于一些国产设备。因此特别整理了该教程,实测有效!有需要的小伙伴可以参考下!本文主要针对Dify1.7.2最新版本+国产操作系...
- 在ubuntu下新建asp.net core项目_创建ubuntu
-
本文一步步讲述在ubuntu下用visualstudiocode创建asp.netcore项目的过程。step1:环境操作系统:virtualbox下安装的lubuntu。请不要开启“硬件...
-
- 在晶晨A311D2处理器上进行Linux硬件视频编码
-
在KhadasVIM4AmogicA311D2SBC上,我更多的时间是在使用Ubuntu22.04。它的总体性能还不错,只不过缺少3D图形加速和硬件视...
-
2025-08-26 17:22 haoteby
- Nacos3.0重磅来袭!全面拥抱AI,单机及集群模式安装详细教程!
-
之前和大家分享过JDK17的多版本管理及详细安装过程,然后在项目升级完jdk17后又发现之前的注册和配置中心nacos又用不了,原因是之前的nacos1.3版本的,版本太老了,已经无法适配当前新的JD...
- 电影质量级渲染来了!虚幻引擎5.3正式发布:已开放下载
-
快科技9月8日消息,日前,Unrealengine正式发布了虚幻引擎5.3,带来了大量全方位的改进。...
- 2025如何选购办公电脑?极摩客mini主机英特尔系列选购指南
-
当下,迷你主机的性能越来越强,品类也越来越多。但是CPU是不变的,基本都是AMD和英特尔的。有一个小伙伴在评论区提问,我应该如何在众多机器中选购一台符合自己的迷你主机呢?那今天我们优先把我们的系列,分...
- ubuntu 20.04+RTX4060 Ti+CUDA 11.7+cudnn
-
ububtu添加国内源sudocp/etc/apt/sources.list/etc/apt/sources.list.backupsudovim/etc/apt/sources.lis...
- Linux Mint 18将重新基于Ubuntu 16.04 带来更好硬件支持
-
项目负责人ClementLefebvre在本月6日披露了关于LinuxMint18“Sarah”操作系统的大量信息,包括带来全新扁平化体验的Mint-Y主题。而现在,这款将于年底之前上线的操作...