文档详情

米聊服务器技术选型与架构.pptx

发布:2025-03-15约3.75千字共19页下载文档
文本预览下载声明

自我介绍

l瞿晋萍

l2010/7月份加入小米至今

○从2010年10月到现在一直开发米聊

○米聊服务器端架构师

○米聊消息系统技术带头人

l之前在Microsoft3年,开发Bing搜索引擎和windowsphone7云服务客户端

l之前在Lucent和Nortel开发电信软件

米聊服务器的技术选型与架构设计

人多,钱傻,速来

我们生活在一个怎样的

年代?

怎样办?

天下武功,唯快不败

快速推出新功能,

2014

试错,验证后快速迭代改进

快速扩张研发队伍,

2015

模式初步验证后,加大资源投入

架构快速水平扩张

2016

当业务方向对,推广运营到位,互联网海量业务规模

工程技术速度的考量

要保证可持续的快

3大纪律,8项

注意

如何保证可持续的快

技术选型的3大纪律

010203

大厂都在用自己搞得掂项目输得起

注意1:分治,SOA

•业务分而治之

•技术上:

–服务命名naming/自动发现registerdiscovery/治理(负

载均衡,柔性服务)

–各个服务封装功能和数据,把接口以ip+port暴露出来

•工程考虑:作为研发和部署的单位,加人方便、独

立研发演进、降低复杂度、

•米聊的技术实现:

–Zookeeper,命名树

–各个服务注册成命名节点

–客户端先去zookeeper查找,再调用

注意2:服务/数据访问通过接口

•服务接口要求

–紧致(compact)

–多版本支持(multi-version)

–同步与异步

•数据访问:

–DAL+DAO

•工程考虑:屏蔽变化和复杂性,便于共享,使用和升级

•我们的选择

–同步用thrift(服务使用HsHa)

–异步用rabbitmq

•rabbitmq不就是分布式的actor吗

•非阻塞,并发性好

•事件驱动,容错性好

•Trafficshaping,容峰值流量好

–数据库访问层DAL(datasource)

注意3:接口/数据要支持多版本化,可扩展

外部和内部所有接我们的实现

○httpapi:

n工程考量:灵

显示全部
相似文档