一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 873|回复: 3
收起左侧

[系统设计/OOD] 真题討論 design google calendar .

[复制链接] |试试Instant~ |关注本帖
dimi 发表于 2016-5-10 14:32:20 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
design google calendar . 要求分析如何存 data, 如何 invoke user events, 如何 handle
100000events per second, 然后要写了一部分 thread safe 的 code 实现如何 invoke event.

这个大家来说说吧
 楼主| dimi 发表于 2016-5-10 14:36:55 | 显示全部楼层
首先说数据结构。
数据结构 和数据库表可以相关的结构。
class event {
DateTime startDateTime;
DateTime endDateTime;
EventType eventType;
NotificationType notifycationType;
User creater;
List<User> viewers;
List<User> participants;

//use design pattern observer pattern
//notify all participants (subscriber)
public void notify(){

}

}
回复 支持 反对

使用道具 举报

 楼主| dimi 发表于 2016-5-10 14:45:28 | 显示全部楼层
大规模处理肯定要分布式机器
可以根據event id作hash来distribute evnets to different hosts.
可以聊聊consitent hashing.
回复 支持 反对

使用道具 举报

 楼主| dimi 发表于 2016-5-10 14:54:06 | 显示全部楼层
invoke event.的话 基本思想还是一个大while loop.然後用很细的time slice循环,evnets時間点达到后,create new thread, trigger event.然後作该作的工作,比如发邮件,push message等。
多线程方面要注意 pop event和加event的时候要保証线程安全性
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-5 08:54

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表