【区分】单机、集群、分布式、微服务关系及区别?
单机
一台电脑,针对小型业务把所有的代码都放在一个项目中,然后部署在一台服务器上。整个项目所有的服务都由这台服务器提供。
集群
多台电脑,做同一个业务,部署在多个服务器上
分布式
同一个业务划分不同子业务,分别部署在不同的服务器上
ZooKeeper
主要服务于分布式系统,可以用ZooKeeper来做:统一配置管理、统一命名服务、分布式锁、集群管理。
使用分布式系统就无法避免对节点管理的问题(需要实时感知节点的状态、对节点进行统一管理等等),而由于这些问题处理起来可能相对麻烦和提高了系统的复杂性,ZooKeeper作为一个能够通用解决这些问题的中间件就应运而生了。
微服务
属于分布式的一种,如下图:
分布式 | SOA:面向服务架构 | |
微服务技术框架 |
spring cloud:是一个分布式的整体解决方案。基于Http协议+Rest接口调用远程过程的通信 | |
阿里巴巴 | ||
RPC远程过程调用 |
dubbo:一个分布式、高性能、透明化的RPC服务框架,提供服务自动注册、自动发现等高效服务治理方案,可以和Spring框架无缝集成。 它的底层是使用Netty的NIO框架,是基于TCP协议传输的,配合以Hession序列化完成RPC通信 |
|
RPC定义 | 通俗说,两台服务器A,B,一个应用部署在A服务器上,要调用B服务器上提供的函数和方法,由于不在同一个内存,不能直接调用,需要用网络来表达调用的语义和传达调用的数据 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现