大用户量下的系统架构 * 问题 一个高并发的系统 一个稳定的系统 一个高扩展性的架构 一个简洁的方案 我们需要的是 * 解析 系统架构中的底层元素 稳定性和扩展性 后台数据处理 前台用户请求 实时数据和非实时数据 要做到这一点必须要考虑.... * 简洁 简洁是最重要的设计依据 将复杂的系统拆分成简洁的模块 减少系统维护的代价 限制使用复杂的功能 * 简洁的Sql 必须对Sql的使用做限制 绝对不允许出现跨表的查询 DB的设计更大程度上取决于缓存的设计 防止穿透缓存直接到达DB的访问 将业务逻辑放到代码中实现,不要忘了DB的主要作用毕竟是存储 * 简洁的缓存 必须限制使用缓存的方法 本地缓存/集群缓存 维护缓存的数据 拒绝维护多个缓存之间的同步 * 简洁的服务 什么才是服务 没有业务逻辑的基础服务 包含业务逻辑的复杂服务 独立折分和部署 数据读写部分只交给服务处理 尽量减少服务之间的相互依赖 Controll负责服务之间的调度 * 简洁的扩展 因为简洁,所以容易 Mysql的读写分离和分库 分布式的Memcache 多个Service的布署 多个Controller的布署 * 强大 工欲善其事,必先利其器 尽可能多的做设计 尽可能少的写实现 尽可能多的测试 尽可能多的分析 * 强大的DAL DAL应该做到的事情 控制Sql的使用 一个黑盒子 详细的日志记录 * 强大的Scallop Scallop又该做什么 零代码,非侵入 和SCA的完美融合 如何控制Service的加入和移除 保留多种负载均衡模式的扩展性 * 强大的SCA 你做什么都可以告诉SCA 轻代码 非侵入性 RMI/WebService/JMS 简单的服务和复杂的服务 * 强大的代码生成工具 什么才是工程师必须做的 你来做数据库/Service/复杂业务逻辑 我来做底层代码/Service/配置文件的实现 不把时间花费在重复执行的环节上 * 核心 系统设计中考虑的核心 拆解模块 模块之间如何交互 计算的部分 存储的部分 交互的部分 变化的部分 * 将系统拆解成Service 为什么选择Service 复用 高内聚 调试 部署 * RMI是系统调用的核心 最常使用的调用方式 高效 很低的学习曲线 * JMS是系统解耦的核心 什么时候使用JMS 解决长尾逻辑 更轻松的方式 稳定的消息系统 * ETL是计算部分的核心 如何使用ETL ETL用来做数据转换 ETL不应该直接读写自己的DB ETL一般情况下只允许部署一台 ETL的日志监控和统计邮件 ETL的部署 * 缓存架构是系统性能的核心 缓存,还是缓存 缓存是用来解决并发问题的 缓存不是内存数据库 缓存是分级别的 * 存储系统的扩展性 虽然我们拥有缓存,但是 Mysql依然做好了大数据量的准备 读写分离是需要的 虽然单表的性能支持千万级别的记录,还是需要使用分库的功能 分库对Sql的使用要求更严格 * Comet是用户交互的核心 已经相当成熟的技术框架 Erlang对大规模用户量的支持 Comet技术对用户交互的体难 * Drools和Groovy是动态计算的核心 总有些非实时的计算 那些变动比较大的业务逻辑 工程师和业务人员的协作 * 核心回顾 系统设计中考虑的核心 拆解模块 (Service) 模块之间如何交互 (RMI/JMS) 计算的部分(ETL) 存储的部分(Mysql/读写分离/分库) 交互的部分(Comet) 变化的部分(Drools/Groovy) * 系统架构图 Service Service Service Service Service Service Cache Cache Cache Cache Cache DB DB Service Service Web Web Web Web * 技术架构表 序号 名称 技术 1 DB Mysql 2 Cache Ehcache 3 Cache Memcache 4 服务 Tuscany 5 调度 Scallop 6 框架 Spring 7 Web服务器 Tomcat 8 JMS QPID 9 Comet Erlang 10 代码生成 Velocity 11 定时任务 Quartz 12 单元测试 JUnit 13 动态脚本 Groovy 14 规则引擎 Drools 15 项目管理 Maven
您可能关注的文档
- 唯品会-Redis架构演进-GOPS2016.pptx
- CAMS带来存储基础架构的全新变革.pptx
- 定目标 搭架构 用方法 快晋升专题讲座.pptx
- 后湖重点竞品配套情况专题研究报告.ppt
- GMTC从 SDK 到编解码视频直播架构解析.pptx
- 高考英语专题二 介词 介词短语和动词短语幻灯片.pptx
- 欧美音乐专题模板.ppt
- Domino Cluster最佳实践及建议讨论.ppt
- 专题二孕期补铁利于宝宝健康教学课件.pptx
- 331组织架构队伍建设与三大平台.pptx
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
最近下载
- 2026《隧道贯通误差预计计算案例》4000字.docx
- 2022-2023学年北京市丰台区高二(下)期末数学试卷(附答案详解).docx VIP
- 5m盐酸溶液的配制 -回复.pdf VIP
- 小学低段音乐课堂管理方法的研究课题资料(包含申请表、开题报告、实施方案、结题报告等).pdf VIP
- 2026年新疆工程学院辅导员招聘备考题库最新.docx VIP
- 2026年新疆财经大学辅导员招聘备考题库必考题.docx VIP
- 2026年新疆农业大学辅导员招聘备考题库附答案.docx VIP
- 现代金属凝固技术课件(9056KB).ppt VIP
- 现代材料凝固技术.ppt VIP
- TG5焚烧炉OG200C说明书翻译20120222.pdf
原创力文档

文档评论(0)