理想的开发

1 高并发系统定义
    |
    --1.1 服务器的连接数是有限制的
    |
    --1.2 数据或资源被同时访问或同时修改
    |
    --1.3 并发计算


2 高并发系统解决方案
    |
    --2.1 多线程解决,线程同步(不同线程访问同一数据,同一集合,修改和读取同一数据,使用Lock带来的性能问题)
    |
    --2.2 大数据解决并发
    |
    --2.3 Redis等削峰,(Server接受请求,给Client作出响应,然后在从队列或换成中把数据进行入库处理)


3 优化
    |
    --3.1 消息处理(日志处理)
    |    |
    |    |
    |--- |3.1.1 日志:kafka,RabbitMQ,ZeroMQ,:一个分布式消息系统(http://www.cnblogs.com/metoy/p/4452124.html)
    |--- |3.1.2 系统消息设计: 前台和后台业务消息,操作消息    
    |
    --3.2 数据库设计
    |    |
    |    |3.2.1 数据库架构(横向架构:分表,分区;纵向架构:分库,读库和写库分离完成读写分离实现读写分离技术手段:sqlserver事物复制)    
    |    |3.2.2 系统访问数据设计(应用程序池的换成,操作数据的正确释放和回收)
    |
    --3.3 缓存
    |    |3.3.1 前台缓存(jquery,cookie,flash的缓存)
    |    |3.2.2 后台缓存系统:Cache的使用,数据表缓存,文件依赖缓存,分布式缓存MemerCache的使用
    --3.4 负载均衡
    |    |3.4.1 硬件负载均衡F5
    |    |3.4.2 软件负载均衡(Nginx实现WEB代码),LVS实现TCP方式的负载)


4 设计模式的引入
    --4.1 单例(解决太多类的实例对内存的消耗)
    |--- |4.1.1 数据库访问类
    |--- |4.1.2 消息类    
    |
    --4.2 消费者模式
    |    |
    |    |4.2.1 消息和错误记录
    |    |4.2.2 系统访问数据设计(应用程序池的换成,操作数据的正确释放和回收)
    |
    --4.3 懒汉模式
    |    |4.3.1 前台缓存(jquery,cookie,flash的缓存)
    |    |4.2.2 后台缓存系统:Cache的使用,数据表缓存,文件依赖缓存,分布式缓存MemerCache的使用
    --4.4 外观模式(解决定制和公共版的区分)
    |    |4.4.1  
    |    |4.4.2  

5 系统架构
    --5.1 业务需求的满足(有服务收集需求-->需求分析人员-->给研发主管(经理)定时间分工记录到dot.project上-->开发人员根据projectos上的内容进行开发)
    |--- |5.1.1 适合系统扩容(横向的功能扩展,纵向功能实现)
    |--- |5.1.2 快速应对需要变更    
    |--- |5.1.3 易于分析问题
    |
    --5.2 开发需求满足
    |    |
    |    |5.2.1 降低开发人员对公共的修改
    |    |5.2.2 完成的API和前后台接口
    |
    --5.3
    |    |5.3.1
    |    |5.2.2
    --5.4
    |    |5.4.1  
    |    |5.4.2  

    

            
            
        

搏击长空
原文地址:https://www.cnblogs.com/yitong/p/4616488.html