分布式时代
● 水平扩展:服务器可以根据承载量的变化进行扩展。
● 负载均衡:多台服务器进行请求的负载,以保证忙时各服务器都忙,而不是一部分很忙,一部分很闲。
● 高可用:一个服务器节点挂掉,不会影响到其他节点,并能快速做故障的转移和恢复。比如10台服务器挂了2台,不会因此影响到20%的用户。
● 数据一致性:分布式环境下能保持数据存储的一致性。
亿级流量平台分层架构
访问层
解决流量接入问题(LVS、Nginx)
接口层
解决API网关处理(HTTP)
服务层
服务通信(同步调用的Dubbo,异步回传调用的MQ),
任务调度(单体应用的Quartz,分布式分配应用的ElasticJob),
业务服务(业务逻辑封装),
基础服务(隔离、缓存、队列管理),
服务管理(服务配置、服务治理),
监控(软件层面埋点统计的Cat、硬件资源维护管理的Zabbix)
存储接入层
数据逻辑拆分(管理分布式存储服务,并对上层提供像MyBatis、DAO的接口的MyCat),
搜索引擎(基于分布式无中心节点管理方式的ES Client),
缓存服务(类似MyCat做Redis集群支持的Redis Proxy)
存储层
数据存储( NoSql Database(MnogoDB、Solr_Elastic Search),缓存(Redis、Memcached),Sql Database(Oracle、MySql))