Introduction
由于学习的需要, 需要学一下RPC和ZK怎么使用, 这里笔记一下石磊老师课程。
理论基础
- 什么时候要用分布式?
-
- 首先我们将一整套应用拆分成多种网络分布式服务, 方便部署和运维(公司的代码一般是很大的, 单机服务任意的修改都会重新部署和编译), 分布式可以解耦代码。
-
- 功能分为CPU密集和io密集,分布式可以让CPU密集型的模块部署到CPU较好的硬件上, 有效的利用资源。
-
- 一些访问量不高的服务根本不需要高并发, 使用普通集群会重复部署多次, 非常浪费。
-
- 分布式代码起码也得过万行才会考虑吧,不然设计的工作时间都超过了你写代码的时间。 因为分布式的解耦工作是很麻烦的(生活中很多东西都是难以分类和解耦的)。 一个小的项目没有那么多访问量而且代码也很好理解, 直接普通集群就行了。盲目上rpc服务就是夜空皓龙。
-
- 分布式的一些问题: 模块难以划分,各个模块可能有很多共同需要的代码, 难以拆分代码到一个服务中。 因此会产生冗余。 还是难以解耦的问题。
- 什么是分布式?