- 论坛徽章:
- 0
|
我来随便说说:
1、需要多少台缓存服务器?为什么?
简单的[用户总数/每台]性价比是比较低的,除非傻有钱,并且硬性要求全量cache,一般来说应分析活跃用户有多少,按活跃用户数,再参考相关成本预算来考虑服务器数量.假设只有10%的用户是活跃用户,活跃用户的定义是最近2天内有访问的,最高并发时只有3%的用户,每用户访问持续平均时间为10小时,那么合理设计淘汰和装载算法的话,按5%用户数设计cache应该就可以满足实时访问性能要求。
2、缓存系统的结构是怎样的?
最简单的说法就是Hash表,加上用于淘汰算法(如LRU等)的额外消耗,细节上需要考虑动态分配(mem pool),有效承载,性能,互斥,分布式路由,容灾恢复,同步等等这些架构,和纯数据结构关系不大。
3、具体描述一下业务系统如何通过缓存系统的客户端,根据一个用户ID获取这个用户的对应信息?
客户端->分布式路由(定位相应cache服务器的地址)->访问Hash->返回用户信息。容错部分需要想的细一点,比如如何避免单点。
4、缓存系统的客户端和服务器端的通信应该如何处理?
估计问的是长连接还是短连接这些东东,一般来说,在socket句柄资源不紧张的情况下,client对每台server长连都可以,再加上心跳+自动断连设置。udp也可以,效率高,占用连接句柄少,内网丢包很少。
ps:至于对方认为这样的回答是否有价值,可能取决于具体的应用场景,问题领域,具体问题具体分析。
[ 本帖最后由 flyingbear 于 2008-11-8 18:30 编辑 ] |
|