单机→分布式控制器1.硬件负载均衡(随机,轮询,权重)。2.软件LVS 。3.名称服务直连4.规则服务器5.Master+Worker 运算器1.DNS轮询2.返回负载均衡服务器地址3.Master 存储器 1.代理服务器2.名称3.规则4.Master
分布式Session:1.Session Sticky一次一个服务器 ,宕机,7引用层开销,内存2.Session Replication 服务器间同步,网络带宽,内存占用 3.Session 数据集中处理 依赖 4.Cookie Based 安全,带宽,性能,Cookie长度限制。
优化:数据库:1.读写分离 2.数据垂直/水平拆分 拆分应用:1.根据业务特性2.走服务化的路
服务框架:应用的容器。服务化方案:接收方-反序列化-反射。发送方-序列化-规则服务器(SpringBean-interfaceName-version-group)。通信:BIO单单大,NIO分发,先通知,AIO,完成后通知。异步调用方式:1.Oneway不管结果。2.CallBack。3.Future。4可靠异步(消息中间件)
数据访问层:模型(应用程序-事物管理器-资源管理器)水平分库1.Id生成器(性能,依赖,存储)或逻辑控制ID 2.跨库join,操作封层,数据荣誉,外部引擎3.排序4.函数max,min,sum,count,平均4.(排序)分页访问层方式:1.专业api 2.jdbc接口(灵活,省对象内存) 3.ORM方式(hibernate)(框架限制,修改困难)规则处理1.哈希取模(虚拟节点保证平均) 2.自定义.热点
读写分离(Master+Slave)数据层访问数据库,消息系统通知更新((非)镜像、平滑迁移=记录增量日志,小范围暂停)
消息中间件:异步特性,解耦。1系统订阅消息(轮询负担,该字段不安全,字段扩展麻烦)。JMS模型1.Queue单一任意应用处理 2.Topic所有订阅消息模式:非/持久订阅 消息内容 1.head头(消息id,时间,优先级,键值对)2.Body=内容 3.对象-目标集群对象ClusterId消息可靠性 1.文件(可靠性,文件空洞)2.数据库(调整麻烦)3.双机内存(故障落盘)