56人人账号拆分项目总结 lite

52
56- 人人人人人人 人人人 kim

description

56人人账号拆分项目总结,简洁版

Transcript of 56人人账号拆分项目总结 lite

Page 1: 56人人账号拆分项目总结 lite

56- 人人账号拆分

技术部 kim

Page 2: 56人人账号拆分项目总结 lite

Why 账号合并?

Page 3: 56人人账号拆分项目总结 lite

• 公司并购的惯用手段

Page 4: 56人人账号拆分项目总结 lite

Why 账号拆分?

Page 5: 56人人账号拆分项目总结 lite

• 账号重合度不高

• 56 不适合实名制

• 增加了人人同事的工作量

• 人人对账号安全的要求较高

Page 6: 56人人账号拆分项目总结 lite

账号拆分难点?

Page 7: 56人人账号拆分项目总结 lite

• 合并时特别复杂

• 程序 bug 和问题账号

• 入口多、 QA 覆盖难

• 持续时间长、人员流动

• 保证切换期间平滑过渡

Page 8: 56人人账号拆分项目总结 lite

拆分旧方案

Page 9: 56人人账号拆分项目总结 lite

• DB 、 Server 整套复制

• 程序搬到 user.56.com/2013/ 目录

• 人人回导数据和增量

• 线上应用灰度切换至新 Server

Page 10: 56人人账号拆分项目总结 lite

优点• 切换平滑,步骤清晰

• 影响较小、可控

• 新旧 2 套互为备份,又互不影响

Page 11: 56人人账号拆分项目总结 lite

缺点• 战线拖太长• 两套代码维护困难• 过于区分数据,会导致很多问题账号• 修改太多,沟通成本高(人人方面)• 两个数据库,问题账号处理困难• 移动端实际上无法灰度

Page 12: 56人人账号拆分项目总结 lite

拆分新方案

Page 13: 56人人账号拆分项目总结 lite

• DB 、 Server 沿用当前

• 沿用当前代码,在程序中做兼容

• 人人数据回导时,不区分,拆表存储

• 整体切换上线

Page 14: 56人人账号拆分项目总结 lite

优点• 战线短• 占用资源少• 有问题会立刻浮现• 数据全、兼容性极高• 不需要增量同步,大大降低沟通成本• 解决大表问题• 解决频繁更新登录状态的问题

Page 15: 56人人账号拆分项目总结 lite

缺点

Page 17: 56人人账号拆分项目总结 lite

六个关键性问题

Page 18: 56人人账号拆分项目总结 lite

• 1 、新 56 注册到新 56 登录

Page 19: 56人人账号拆分项目总结 lite

• 2 、新 56 注册到旧 56 登录

Page 20: 56人人账号拆分项目总结 lite

• 3 、旧 56 注册到新 56 登录

Page 21: 56人人账号拆分项目总结 lite

• 4 、旧 56 注册到旧 56 登录

• 同 #3

Page 22: 56人人账号拆分项目总结 lite

• 5 、老用户到新 56 登录

• 拆分前后,将人人的数据导入 56 的现有用户库,保证导数据完整就可以解决

Page 23: 56人人账号拆分项目总结 lite

• 6 、老用户到旧 56 登录

• 人人登录注册接口必须保持在线,只到 56所有登录注册接口都切回 56 自己

Page 24: 56人人账号拆分项目总结 lite

拆分前的准备

Page 25: 56人人账号拆分项目总结 lite

一、安全中心

Page 26: 56人人账号拆分项目总结 lite

二、人人登录状态

• 去掉全站对人人登录状态的检查,即不会再跳出类似“检测到您已经登录人人了”的弹层

Page 27: 56人人账号拆分项目总结 lite

三、后台密码管理

Page 28: 56人人账号拆分项目总结 lite

四、人人 connect 登录

Page 29: 56人人账号拆分项目总结 lite

五、登出接口

• 登出接口纳入 user• http://user.56.com/logout

Page 30: 56人人账号拆分项目总结 lite

拆分开始

Page 31: 56人人账号拆分项目总结 lite

• 1 、人人导出数据,比如 rr_account.dat ,进行初始化的简单过滤

Page 32: 56人人账号拆分项目总结 lite

• 2 、把 rr_account.dat 原封不动导入分表中

Page 33: 56人人账号拆分项目总结 lite

• 3 、根据 用户 id 创建用户登录状态记录分表

Page 34: 56人人账号拆分项目总结 lite

• 4 、前端页面和 Javascript 做好兼容后先上线

Page 35: 56人人账号拆分项目总结 lite

• 5 、人人 connect 登录上线

Page 36: 56人人账号拆分项目总结 lite

• 6 、所有经过人人的登录注册回调,都经过新表

Page 37: 56人人账号拆分项目总结 lite

• 7 、最重要的兼容程序上线, bug 修复。

Page 38: 56人人账号拆分项目总结 lite

• 8 、人人再次导数据,修复从第一次初始化到兼容上线之间,所缺失或者错误的数据

• PS:真的需要增量吗?

Page 39: 56人人账号拆分项目总结 lite

• 9 、新版登录注册页面上线,安全中心上线

Page 40: 56人人账号拆分项目总结 lite

• 10 、疑难账号处理,随机应变

Page 41: 56人人账号拆分项目总结 lite

• 11 、人人最后一次导全量数据

Page 42: 56人人账号拆分项目总结 lite

遇到的坑

Page 43: 56人人账号拆分项目总结 lite

• 1 、账号小写的问题

Page 44: 56人人账号拆分项目总结 lite

• 2 、依赖 56 账号的站外应用,需要独立的安全中心(比如我秀)

Page 45: 56人人账号拆分项目总结 lite

• 3 、有账号重复的情况,通过密码不同来区分。

Page 46: 56人人账号拆分项目总结 lite

• 4 、 邮箱绑定 56字符串账号的问题

Page 47: 56人人账号拆分项目总结 lite

• 5 、用邮箱注册的时候,账号其实是应该作为默认安全邮箱使用的

Page 48: 56人人账号拆分项目总结 lite

总结

Page 49: 56人人账号拆分项目总结 lite

• 抓重点矛盾

• 以旁观者的身份看问题

• 充分了解业务是补锅的前提

Page 50: 56人人账号拆分项目总结 lite

后续• 修改我秀、群歌、游戏登录注册• 修改 app客户端 登录注册• 修改 ican2 、 ican3 登录注册• 修改 m.56.com 登陆注册• 完善登录注册统计

Page 51: 56人人账号拆分项目总结 lite

FAQ

Page 52: 56人人账号拆分项目总结 lite

谢谢!