一句话看懂集群、微服务和分布式的区别
发表于|更新于|码不能停
一个完整的服务拆分成多个微小的服务,就是微服务。
每个服务不止一个就是集群。
微服务部署在多台服务器上,服务器之间可以相互通信就是分布式。
微服务与分布式的细微差别是微服务可以部署在一台服务器,也可以部署在多台服务器。
文章作者: m-finder
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 M-finder!
相关推荐

2024-03-01
Laravel Octane 和 Swoole 协程的使用分析二
又仔细研究了下 Octane 源码和 Swoole 的文档,关于前几天 Laravel Octane 和 Swoole 协程的使用分析中的猜想,得到进一步验证: Swoole 的 HTTP Server 启动后会创建一个 master 进程和一个 manager 进程;master 进程又会创建多个 reactor 线程,负责将请求转发到 work,并从 work 接收结果发送给客户端,相当于 nginx;manager 会创建多个 work 和 task 子进程,work 进程相当于 php-fpm,task 专门处理一些耗时任务,最后将结果交给 work; 而 LaravelOctane 的 concurrently 方法,其实是以 task 为基础,也就解释了为什么脱离 HTTP server 会无法使用。 Swoole

2025-09-12
Mac 菜单栏多合一工具 FancyTool 更新啦!
本次更新聚焦「轻量体验」深度优化:不仅重构了 CPU 占用逻辑与系统唤醒机制,让后台运行更高效;更让动画交互全程保持丝滑流畅,资源消耗却低到近乎无感 —— 哪怕它常驻菜单栏,你也几乎察觉不到它的存在,既不拖慢系统,又能随时响应需求~ 下载地址: [ github ] [ gitee ] 目前软件主要包含以下功能: 🚀 智能CPU动态图标 让性能可视化 将任何GIF图片设置为你的菜单栏图标,它的播放速度会实时响应你的CPU使用率 空闲时悠然自得,高负荷时急速狂飙,用最酷的方式监控系统状态 支持完全自定义上传,打造你的专属动画 🌈 渐变彩色心情签名 用美丽的渐变色彩表达每日心情状态 完全可自定义的颜色和文字,展现独特个性 为您的菜单栏增添一抹艺术气息 📋 高效剪切板管理 记录多次复制历史,随时找回需要的内容 智能分类整理,快速定位所需片段 支持文本、图片等多种格式,提高工作效率 🖥️ 屏幕圆角美化 为Mac屏幕添加优雅圆角,提升视觉美感 智能适配多显示器设置,每块屏幕完美呈现 无性能影响的背景运行,细腻改善视觉体验 📎 菜单...

2023-11-20
为你的 Laravel 应用添加一个基于 Swoole 的 WebSocket 服务
做了一个基于 Swoole 的 WebSocket 扩展包,可以用来做实时状态推送,或者自定义消息处理实现 im,有需要的可以看看: [giorgio-socket] 使用方法安装安装扩展包 1composer require wu/giorgio-socket 发布配置文件 1php artisan vendor:publish --provider="GiorgioSocket\Providers\SocketServiceProvider" 运行 Socket 服务 1php artisan socket:start 注意事项 可以通过实现 GiorgioSocket\Services\Handlers\Interfaces 下的接口类来自定义自己的业务逻辑。 如果要从服务端发送消息,这里有两种方式: 第一种,借助 Laravel HTTP 客户端 123456Route::get('/socket', function () { \Illuminate\Support\Facades\Http::asF...

2025-01-24
系统异常崩溃实录
前言众所周不知,我在 24 年底入职了某连锁品牌的美甲公司,负责相关小程序和后台的开发与维护。 入职前了解到该项目最初由外包团队开发,并使用外包三件套:宝塔、TP、Mysql 进行部署和搭建,当时我心里就对它有了一个大概的印象,但是等我真正接手这个项目时,还是忍不住地两眼一黑,心头有一万头草泥马奔腾而过。 项目结构之混乱,方法定义之奇葩,没有一项不在挑战我认知的下限,我只能说,用屎山来形容这套代码都是在夸它,项目能平稳运行简直就是个奇迹。 哦,也不能算奇迹,因为这勾八玩意儿就没有一天是平稳的。 在告别了手动替换服务器代码并用 git 管理之后,我又先后经历了 CDN 欠费,小程序图片无法正常显示;SSL 证书过期,所有服务全部宕机;以及子项目域名过期却拿不到平台账号,最后只能换绑域名这样的种种混乱…… 在此之后,系统总算平稳运行了几天。 屎山的崩塌正当我撸起袖子,准备奋力重构这坨屎山时,年底到了,我又迎来了新一波的挑战。 1 月 16 号早上 10 点,我把手里刚开发完的小程序推送到正式版,之所以选在这个时间更新,是因为有些门店会营业到凌晨5点,10 前的使用量相对还少一些。 本...

2024-09-19
Mac 用 Brew 安装旧版本 PHP
最近又用到 php7.4,奈何本地早就已经升到了 8,想搞回来,发现一个简单好用爽歪歪的三方库,需要的可以试一下,5.6 - 8.4 都有。[ homebrew-php ] 添加地址库1brew tap shivammathur/php 安装指定版本1brew install shivammathur/php/php@7.4 切换版本12345brew services stop php@7.4brew unlink php@xxbrew link php@7.4brew services start php@7.4 搞定收工。

2024-03-03
职业生涯知识回顾-关于抽象类和接口的思考
抽象类和接口是两个很容易产生疑惑的概念,分不清它们的使用场景,其实只要记住两点就比较好理解: 接口是对行为的抽象 抽象类是对子类有哪些属性和行为的抽象 当你需要对一个类有哪些行为进行约束时,使用接口;需要为其他类提供一个模板以及一些通用的属性和行为,使用抽象类。 在理解什么是抽象类和接口的前提下,延伸出一些思考:在一定程度上,接口似乎是比抽象类更底层的存在,是否可以理解为先有行为,对行为进行组合才能有类? 那么下面代码中,抽象类对接口的实现有没有实际意义? 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061<?phpinterface IAnimal{ public function move(): void; public function sleep(): void; public function eat(): void;}interface Wag...
评论