1. 整分部集:整个项目是个分布式,其组成应用(所在节点)可能是集群(大分小集)
分布式的每个节点(每个服务器),都可以做集群;而集群不一定是分布式的。
分布式:一个业务一个机器(节点)
集群:一个业务多台机器!+ 负载均衡服务器
分布式是指通过网络连接的多个组件,通过交换信息协作而形成的系统。而集群,是指同一种组件的多个实例,形成的逻辑上的整体。
关键在于是否通过交换信息的方式进行协作。
集群每一台服务器实现的功能没有什么差别。分布式每一台实现的功能是有差异的
2. 远程调用 http+json
3. 负载均衡(轮询 / 最小连接/ 散列)
4. 服务中心 注册/发现
5. 配置中心 几百个机器手动太麻烦了
6. 熔断降级 一个应用故障连累一条线服务,阻塞,请求积压 -> 资源耗尽--雪崩。
熔断:某被调用服务失败频率高,开启短路保护机制,不再请求调用。返回默认数据
降级(运维期间?): 高峰期,资源紧张,让非核心业务降级运行。不处理,或简单处理(抛异常,返回NULL....)
7. API网关:过滤 控制