1、现在很多书都在谈实现大规模分布式服务,那么这个概念的主要关键点是什么?
解答:我理解是一个服务可能由多个进程组成,首先为了避免单点故障,这些进程最好不要部署在相同服务器上,组成集群以便水平扩展。
第二、这些进程之间的通信使用什么架构?
第三、这些进程与中间件(数据库、web 框架、消息队列)之间是怎么通信的?
第四、如何保证进程的高可靠性?服务器故障了怎么办?
第五、为了提高并发性,这些服务器的前端都是部署LB服务(Nginx,或者haproxy反向代理),于是出现了另外三个子问题。
<1> Nginx或者haproxy本身的架构如何搭建?
<2>Nginx或者haproxy本身故障了,怎么保证可靠性?
<3>Nginx或者haproxy的会话同步,是什么含义?怎么实现?
<4>Nginx或者haproxy的会话保持,是什么含义?怎么实现?