一、分布式要解决的两个问题
1、高并发问题
在一段时间内持续的大量的请求,到达服务器,这就是高并发的一种情况。
2、海量数据问题
如果没有高并发也没有海量数据的话就没有必要用分布式了的。
在金融行业,证券行业,电信行业都会涉及到分布式。hbase,hive(数据仓库):都可以存储海量数据的。
二、什么是分布式
1、任务分解
一个业务分解成多台机器去进行操作,比如我现在有一个订单的任务,比如它分解 为很多部分的组成,所有的部分必须部署好才能够正常提供服务,但是对应的db就是一个。减轻服务的压了而已。但是这时db就有瓶颈了,这也是分布式要解决的地方。分解成多个任务,各个 也部署到了不同的服务器上,各个也需要通信的。
2、节点通信
在微服务中使用的是restFul的协议,上层 的应用层协议。而底层就是用的是rpc协议,相当于用的是udp,和tcp(传输控制层协议)。
三、分布式和集群的关系以及不同
1、分布式
一个业务拆分成多个子系统,部署在不同的服务器上。部署在一台机器上的话就不涉及到节点之间的通信了。
2、集群
同一个业务,部署在多个服务器上。相同的子系统部署到多台的服务器的话就是集群。
四、分布式与微服务的不同
1、微服务
是独立运行和部署的一个组件,微服务是不分解的,就是一个完整的一个组件。每一个服务就是完整的一个项目。每一个服务对应一个db。
2、分布式
每个任务不能独立部署的,和不能独立完成特定的功能 的。需要共同的完成某一个任务。
欢迎各位小伙伴来评价,想要工程代码的加群:797853299