关键技术介绍
一方面系统要求快速、灵活、可扩展的特性。随着一期微语项目完成,并应用到生产环境中,我们可以感觉到微语给用户带来的全新感受和体验的同时,不断增长用户量和不断添加新的功能对服务器性能提出更加苛刻的要求。这就需要服务器系统提供给用户的服务更稳定、更高效!
另一方面由于采用Spring +MemCache+ Mybatis+Mysql的软件架构,在二期的升级中我们需要用最小改动带来最大性能提升与更佳的稳定性。
所以我们准备加入与应用相关的缓存来提高用户感受度。由于原来做的项目也有一些可以参照的经验,所以一并把一些考虑到的地方写进来以供参考。
首先谈下加入缓存:
通用缓存特性:
1. 是一个有界队列,队列中对象个数在配置文件中可配置。
2. 队列满后处理机制,比如队列满后通过:FIFO或LRU或LFU踢出对象如何处理.(存入数据库、抛弃并记录日志等)。user做个缓存,启动时加载数据库中10万数据,队列大小为20万,对于无命中情况对数据库进行操作并把操作后当前记录添加到缓存中,队列满时踢出一个用户对象,通过一段时间此缓存命中率会逐渐提高(经常在缓存中可一定为活跃用户数,对于捕获用户行为极有帮助---数据挖掘一部分)。可对队列做一些监控和分析。(晚上记录当天活跃用户数)其实Hibernate已经实现对象缓存和查询缓存。但个人认为不够灵活。对于不同应用建立对应缓存。
特殊缓存--分页缓存:
1. 建立三级缓存。如果只用一级缓存,当缓存中数据有更新时,需要全部清掉(Hibernater)。而且遍历的开销大的惊人。(原来1颗4核HP580机器只能遍历200次左右)。
2. select id from blogissue where mimier=10447 order by create_time desc limit 0,5 获取用户对应的博文。
3. 三级缓存如下:
一级缓存是:
Key键(long型)
|
Value值(类型B)
|
3
|
id=3的blogissue对象
|
4
|
id =4的blogissue对象
|
8
|
id =8的blogissue对象
|
……
|
二缓存是:
Key键(String型)
|
Value值(ArrayList型) size=1000
|
from blogissue order by create_time desc limit 0,50
|
ArrayList,对应取出来的所有id
|
from blogissue order by create_time desc limit 50,50
|
ArrayList,对应取出来的所有id
|
from blogissue order by create_time desc limit 100,50
|
ArrayList,对应取出来的所有id
|
……
|
三级缓存:
Key键(String型)
|
Value值(HashMap)
|
mimier =10447
|
Key键(String型)
|
Value值(ArrayList)size=100
|
userId=10447#0,5
|
id组成的List
|
userId=10447#5,5
|
id组成的List
|
userId=10447#15,5
|
id组成的List
|
……
|
|
mimier =10256
|
Key键(String型)
|
Value值(ArrayList)
|
userId=10256#0,5
|
id组成的List
|
userId=10256#5,5
|
id组成的List
|
userId=10256#15,5
|
id组成的List
|
……
|
|
mimier =10013
|
Key键(String型)
|
Value值(ArrayList)
|
userId=2048#topicId=2008#0,5
|
id组成的List
|
userId=2048#5,5
|
id组成的List
|
userId=2048#15,5
|
id组成的List
|
……
|
|
……
|
这种分页缓存好处就是命中率高,可支持每天百万请求量(非常吃内存),并且如果一个mimier对应数据添加或更新只需:
A. 清除三级对应记录重新添加
B. 清楚二级缓存重新添加,对于没有二级缓存需求直接去掉也可以。
C. 更新和添加对应记录即可。
这样效率很高,以往我们做了一级和三级缓存情况查询,添加和更新数据都很快。需要使用懒汉加载。
关联查询想法
对于一对多的关系,我在原来项目中实现把多条记录(有限记录)以一个字段来存储,加快数据访问速度。
日志系统:
记录日志格式,我们是这样用的:
[日期:时间] [线程号] [类名] [手机号码] [参数]
例如:
[2010-07-01 14:38:10][Thread-2][BindingDaoImpl][13693601659][ip=127.0.0.1,imsi=15046002045,type=1,content=内容,list=,cmd=,dest=,result=0]
这样日志格式有利于锁定问题手机查询错误(可以是呼呼号)。且这种格式我们可以快速做容灾处理。
故障容灾模块
当数据库当机,数据库硬件问题情况下使用,在负载均衡器上做重要信息持久化到文件。
SNMP监控告警服务
对于突发时间及时通知到对应人员,可以帮助最快速解决问题。
动态策略定制服务
运用JMX实现重要参数动态更新和加载,在突发事件情况下不需要重启中间件情况改变策略,这个功能与监控和告警模块联合起来使用效果更佳。
支持插件加载服务
通过使用OSGI实现动态加载和卸载服务的能力,尤其对于分布式系统策略多元性极有帮助,可根据不同地域、时间指定差异化服务策略。
硬件组网图
分享到:
相关推荐
XX工业园弱电系统工XX工业园弱电系统工程设计方案建议书(技术方案) .raXX工业园弱电系统工程设计方案建议书(技术方案) .rarr程设计方案建议书(技术方案) .rar
java系统软件技术架构设计方案(案例).docxjava系统软件技术架构设计方案(案例).docxjava系统软件技术架构设计方案(案例).docxjava系统软件技术架构设计方案(案例).docxjava系统软件技术架构设计方案(案例).docxjava...
java系统软件技术架构设计方案全文共3页,当前为第1... 客户机 操作系统:Microsoft Windows 98/NT/2000/XP 浏览器: Microsoft IE 5.0 以上 分辨率:800 X 600以上分辨率,建议1024X 768 java系统软件技术架构设计方案
技术标书技术设计方案.docx技术标书技术设计方案.docx技术标书技术设计方案.docx技术标书技术设计方案.docx技术标书技术设计方案.docx技术标书技术设计方案.docx技术标书技术设计方案.docx技术标书技术设计方案.docx
ICT软件开发服务技术方案(纯方案,48页).pdfICT软件开发服务技术方案(纯方案,48页).pdfICT软件开发服务技术方案(纯方案,48页).pdfICT软件开发服务技术方案(纯方案,48页).pdfICT软件开发服务技术方案(纯方案,48页)....
针对一个具体的多媒体发布系统进行设计,提供技术方案。文档包含了给出技术方案时需要的要素
XX MPP数据库技术方案建议书模板(大数据).docxXX MPP数据库技术方案建议书模板(大数据).docxXX MPP数据库技术方案建议书模板(大数据).docxXX MPP数据库技术方案建议书模板(大数据).docxXX MPP数据库技术方案建议书...
web前端技术方案web前端技术方案
用于项目竞标,多公司参加文档竞标,根据合适竞标要求提供技术筛选方案,客户根据项目建议书选择合作厂商进行软件对标,对标完成后进行驻场开发,前期工作,以及项目接入事宜和项目开发,QA质量管理,pm sm开发团队...
微信服务平台技术设计方案建议书.doc
技术支持部门规划设计方案建议书.doc
方案的构思及方法 对于我组所确定的项目――桥模,我组针对提高桥梁的稳固性进行了讨论,共提出了 通用技术设计作品设计方案――桥模型 三种建议方案:通用技术设计作品设计方案全文共4页,当前为第2页。通用技术...
1:500地形图测绘技术设计方案.pdf
工程方案范本,工业园弱电系统工程设计方案建议书
计算机网络设计方案石家庄学院实验室方案建议书计算机网络设计方案石家庄学院实验室方案建议书
技术标书技术设计方案.pdf技术标书技术设计方案.pdf技术标书技术设计方案.pdf技术标书技术设计方案.pdf技术标书技术设计方案.pdf技术标书技术设计方案.pdf技术标书技术设计方案.pdf技术标书技术设计方案.pdf
办公自动化系统设计方案建议书.docx办公自动化系统设计方案建议书.docx办公自动化系统设计方案建议书.docx办公自动化系统设计方案建议书.docx办公自动化系统设计方案建议书.docx办公自动化系统设计方案建议书.docx
ICT软件开发服务技术方案(纯方案,48页).docxICT软件开发服务技术方案(纯方案,48页).docxICT软件开发服务技术方案(纯方案,48页).docxICT软件开发服务技术方案(纯方案,48页).docxICT软件开发服务技术方案(纯方案,48页)...
倾角传感器(设计方案+电路设计).zip电子设计资料模块设计技术资料下载倾角传感器(设计方案+电路设计).zip电子设计资料模块设计技术资料下载倾角传感器(设计方案+电路设计).zip电子设计资料模块设计技术资料...
加油站业务实时监控与数据分析系统设计方案建议书.pdf加油站业务实时监控与数据分析系统设计方案建议书.pdf加油站业务实时监控与数据分析系统设计方案建议书.pdf加油站业务实时监控与数据分析系统设计方案建议书.pdf...