分布式系统架构基础概念与框架类型
随着互联网的不断发展,程序员能够接触和掌握的系统架构方式也在不断的增加,而今天我们就通过案例分析来了解一下,分布式系统架构基础概念与框架类型。
一、基础概念
1、单服务
所有业务服务和应用组件部署在一台服务上,节省成本,这是单服务结构,适用于并发低,业务单一的场景。
2、集群模式
业务量逐渐增大,并发高,把一台服务进行水平扩展,做一个服务群,请求压力分散到不同的服务上处理,每台服务称为集群的一个节点,到这就是集群服务。
3、分布式架构
分布式结构就是按照业务功能,拆分成独立的子服务,独立的库表,可以独立运行,且服务之间通信和交互,带来的好处降低业务间的耦合度,方便开发维护,水平扩展,复用性高等等。
4、技术体系
服务基础架构:Dubbo框架,SpringCloud框架;
容器化运维:Docker、Kubernetes;
数据存储:关系型MySQL,NoSQL数据库,OLAP引擎;
常用组件:Zookeeper协调,MQ异步,Redis缓存;
二、分布式框架
1、Dubbo框架
垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。Dubbo框架的核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
2、SpringCloud框架
分布式架构下成熟的框架,SpringCloud是一系列框架的有序集合。它利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用SpringBoot的开发风格做到一键启动和部署。
3、业务型组件
消息中间件:RocktMQ、Kafka、RabbitMQ等;
缓存中间件:Redis、Eache等;
分布式事务:Seata、Hmily、TCC-transaction等;