服务化的意义
一个页面的输出=how,what ,when
how :如何输出
what:输出什么内容
when:什么时候更新(大部分是实时更新)
为什么采用java来实施
1. 代码复用问题
2. django ORM的问题
left jion和拆分成N条SQL(通过pk查询)
优点 | 1. 代码简单 2. 理论上响应时间更短 |
1.对数据库压力小。 2.由于是组合关系,非常利于优化,比如message的photo可以走cache。 3.支持后续数据库分表。 4.通过并行加载可以缩短响应时间。 |
缺点 | 1. 对数据库压力更大 2. 数据耦合在一起,不利于优化 3. 不支持后续数据库分表 |
代码比较复杂 |
一些亮点
- 网络请求减少20倍。由于之前实现没有采用批量请求,导致一次瀑布流加载需要访问200次memcached,此次通过 BlogQueryService提供的批量查询一次性返回24条blog只需要一次网络请求,现在全站每秒的memcached请求量从之前的 18000降低到6000左右。
- python和java统一Blog模型。 未来需求开发上不用再纠结buyable,favorite_count和原发之间的关系,让工程师专注于商业本身,提高需求的开发效率。
- 高性能。基于dboss通过socket长连接方式性能优于通过http的调用。对比comment的实现,comment在mandala本 身的实现是非常快的,但通过http的方式会导致在python经常出现超过100ms的情况。dboss实现了连接池和自动重试,保证了 connnection的稳定。
- 高度优化的BlogQueryService。由于BlogQueryService业务职责单一,所以我可以对其进行高度优化,包括只返回最 小字段,采用小sql代替join等复杂sql,批量查询,并行加载,保证了接口的性能,经测试单条blog查询耗时在5ms左右(需8条SQL),批量 24条查询耗时在30ms左右,同时当mysql压力过大时候能无缝替换成mongoDB实现。
- 瀑布流和detail的数据保持一致性。虽然这点不是我们的目的,但如果可以低成本的做到瀑布流和detail的数据保持一致,对于用户体验还是有提升的。
相关推荐
全网最全-谷粒商城项目-面试总结-简历优化_Java-You的博客-CSDN博客 .html
谷粒学苑-在线教育实战项目-面试总结-简历优化_Java-You的博客-CSDN博客 .html
《微信读书iOS性能优化总结》 微信读书作为一款专注于阅读体验的应用,对于性能优化的重要性不言而喻。本文主要从发现问题、解决问题和预防问题三个方面,总结了微信读书在iOS平台上的性能优化策略。 首先,发现...
标题中的“某项目的一些总结”表明这是一个关于某个具体IT项目的回顾和提炼,可能涉及该项目的技术选型、开发过程、遇到的问题以及解决方案等。而“源码”和“工具”两个标签则暗示了讨论内容可能围绕代码管理和实用...
该项目报告详细介绍了构建一个个人博客系统的全过程,涵盖了需求分析、功能模块设计、数据库设计以及项目测试,旨在提供一个全面的后台管理系统,支持用户在前端进行文章浏览、留言互动,同时在后端进行文章管理和...
- **项目总结**:SEO网站优化项目的成功不仅取决于技术实力,还需要深入了解市场需求、有效管理团队和资金,以及灵活应对市场变化。通过持续的学习和积累经验,不断提高服务质量,才能在激烈的竞争中脱颖而出。 ###...
标题中的“我的年终项目总结(2篇)”表明这是一份关于作者在过去一年中在IT领域项目经验的总结,可能涵盖了技术应用、项目管理、团队协作等多个方面。结合描述中的博文链接,我们可以推测作者可能在博客中分享了他...
论文部分将详细阐述项目的设计思路、技术选型、实现过程、遇到的问题及解决方案,是对整个开发过程的全面总结和理论分析。 总的来说,这个基于J2EE的个人博客系统项目涵盖了企业级开发的多个重要方面,对于学习和...
内容简介《Oracle优化日记:一个金牌DBA的故事》是一本介绍Oracle数据库优化方法的书,以一个实际的大型优化项目为原型,用日记的形式记录了一个优化小组的DBA 如何从纷繁的头绪中找到突破口,进而完成了一个看似不...
【AI_05_刘又源_房价预测项目总结报告1】 该项目主要涉及房价预测,通过对数据进行收集、处理和模型构建,以期预测房价。报告涵盖了从项目背景、目标到理论基础、实施过程和经验教训等多个方面。 1. 背景与目标: ...
曦风校园博客系统测试总结报告是对该项目在大三上学期开发过程中进行的系统测试进行全面的回顾和分析。这篇文档不仅提供了测试过程的关键信息,还能够为其他类似项目的文档编写提供参考,例如需求分析文档和概要设计...
在接手任何网站优化项目时,首先要对网站进行全面分析。这包括查看首页标题、关键词设置以及网站名称,评估其是否符合搜索引擎的友好标准。利用关键词分析工具(如追词工具)来研究关键词的竞争程度和相关性。标题应...
这个“PHP 网站博客系统”项目就是一个典型的示例,它展示了如何利用这两项技术创建一个功能完善的在线博客平台。以下是关于这个项目的一些关键知识点和实现细节。 1. **PHP基础**:PHP是一种服务器端脚本语言,常...
1. “基于ASP的个人博客网页系统项目报告.doc”:这份文档应该详细描述了项目的背景、目标、设计原则、技术选型、系统架构、功能模块实现、测试结果以及项目总结等内容,对于理解项目全貌非常关键。 2. “程序源代码...
在开发基于Spring Boot的个人博客项目中,配置的正确性和合理性是确保应用稳定运行的关键因素。本文将聚焦于Spring Boot的常见配置,包括基础设置、数据库连接、Mybatis集成、Redis缓存以及日志管理。以下是对这些...
【标题】:“ios与mac开源项目和学习资料总结iOS开发技巧共33页”这个标题表明,这是一份专门针对iOS和Mac平台的开源项目及学习资料的综合指南,涵盖了33页的内容,旨在帮助开发者提升iOS应用开发的技能。...
产学研网站旨在提供IT项目相关的信息和服务,因此,关键词"产学研"的优化至关重要。 首先,内容优化是基础。网站内容必须与设定的关键词紧密相关,确保“产学研”这一关键词在文章中得到合理的分布和使用。内容更新...
3. **关注点**:面试官通常会关注你在项目中解决问题的能力、如何优化项目、如何快速学习新技术等方面。因此,在准备时要重点突出这些方面。 - **能力**:包括你对项目的了解程度、深入程度以及横向比较的能力。 - ...
总结,"java就业项目-博客系统V3.0带数据库"不仅展示了Java Web开发的基本流程,还涵盖了数据库设计、框架应用、安全性等多个重要领域,对于学习和提升Java开发技能,尤其是对即将步入职场的开发者来说,具有很高的...
总结来说,"开源项目单人博客系统"利用了Java的强大能力,结合EasyJF和Spring框架,为个人博主提供了一套高效、易用且功能丰富的在线写作平台。通过解压并部署`blogwar`文件,用户可以运行并体验这个博客系统的所有...