发布网友 发布时间:2022-04-20 20:51
共3个回答
懂视网 时间:2022-05-02 12:37
本文介绍最近几年美团点评MySQL数据库高可用架构的演进过程,以及我们在开源技术基础上做的一些创新。同时,也和业界其它方案进行综合对比,了解业界在高可用方面的进展,和未来我们的一些规划和展望。
在2015年之前,美团点评(点评侧)长期使用MMM(Master-Master replication manager for MySQL)做数据库高可用,积累了比较多的经验,也踩了不少坑,可以说MMM在公司数据库高速发展过程中起到了很大的作用。
MMM的架构如下。
如上所示,整个MySQL集群提供1个写VIP(Virtual IP)和N(N>=1)个读VIP提供对外服务。每个MySQL节点均部署有一个Agent(mmm-agent),mmm-agent和mmm-manager保持通信状态,定期向mmm-manager上报当前MySQL节点的存活情况(这里称之为心跳)。当mmm-manager连续多次无法收到mmm-agent的心跳消息时,会进行切换操作。
mmm-manager分两种情况处理出现的异常。
出现异常的是从节点
出现异常的是主节点
主库发生故障后,整个集群状态变化如下:
mmm-manager检测到master1发生了故障,对数据进行补齐之后,将写VIP漂移到了master2上,应用写操作在新的节点上继续进行。
然而,MMM架构存在如下问题:
同时,MMM是Google技术团队开发的一款比较老的高可用产品,在业内使用的并不多,社区也不活跃,Google很早就不再维护MMM的代码分支。我们在使用过程中发现大量Bug,部分Bug我们做了修改,并提交到开源社区,有兴趣的同学可以参考这里。
针对于此,从2015年开始,美团点评对MySQL高可用架构进行了改进,全部更新为MHA,很大程度上解决了之前MMM遇到的各种问题。
MHA(MySQL Master High Availability)是由工程师Yoshinori Matsunobu开发的一款MySQL高可用软件。从名字就可以看出,MHA只负责MySQL主库的高可用。主库发生故障时,MHA会选择一个数据最接近原主库的候选主节点(这里只有一个从节点,所以该从节点即为候选主节点)作为新的主节点,并补齐和之前Dead Master 差异的Binlog。数据补齐之后,即将写VIP漂移到新主库上。
整个MHA的架构如下(为简单起见,只描述一主一从):
这里我们对MHA做了一些优化,避免一些脑裂问题。
比如DB服务器的上联交换机出现了抖动,导致主库无法访问,被管理节点判定为故障,触发MHA切换,VIP被漂到了新主库上。随后交换机恢复,主库可被访问,但由于VIP并没有从主库上摘除,因此2台机器同时拥有VIP,会产生脑裂。我们对MHA Manager加入了向同机架上其他物理机的探测,通过对比更多的信息来判断是网络故障还是单机故障。
Zebra(斑马)是美团点评基础架构团队开发的一个Java数据库访问中间件,是在c3p0基础上包装的美团点评内部使用的动态数据源,包括读写分离、分库分表、SQL流控等非常强的功能。它和MHA配合,成为了MySQL数据库高可用的重要一环。如下是MHA+Zebra配合的整体架构:
还是以主库发生故障为例,处理逻辑有如下两种方式:
一旦节点变更完成,客户端监听到节点发生了变更,会立即使用新的配置重建连接,而老的连接会逐步关闭。整个集群故障切换的过程如下(仅描述Zebra monitor主动探测的情况,第一种MHA通知请自行脑补^_^)。
由于该切换过程还是借助于VIP漂移,导致只能在同网段或者说同个二层交换机下进行,无法做到跨网段或者跨机房的高可用。为解决这个问题,我们对MHA进行了二次开发,将MHA添加VIP的操作去掉,切换完之后通知Zebra monitor去重新调整节点的读写信息(将Write调整为new master的实IP,将Dead Master的读流量摘除),整个切换就完全去VIP化,做到跨网段、甚至跨机房切换,彻底解决之前高可用仅局限于同网段的问题。上述切换过程就变成了如下图。
然而,这种方式中的MHA管理节点是单点,在网络故障或者机器宕机情况下依然存在风险。同时,由于Master-Slave之间是基于Binlog的异步复制,也就导致了主库机器宕机或者主库无法访问时,MHA切换过程中可能导致数据丢失。
另外,当Master-Slave延迟太大时,也会给数据补齐这一操作带来额外的时间开销。
除了Zebra中间件,美团点评还有一套基于Proxy的中间件,和MHA一起配合使用。当MHA切换后,主动通知Proxy来进行读写流量调整,Proxy相比Zebra更加灵活,同时也能覆盖非Java应用场景。缺点就是访问链路多了一层,对应的Response Time和故障率也有一定增加。有兴趣的同学们可以自行前往GitHub查询详细文档。
上文提到的MHA架构依然存在如下两个问题:
针对于此,我们在部分核心业务上使用Semi-Sync,可以保证95%以上场景下数据不丢失(依然存在一些极端情况下无法保障数据的强一致性)。另外,高可用使用分布式的Agent,在某个节点发生故障后,通过一定的选举协议来选择新的Master,从而解决了MHA Manager的单点问题。
针对上述问题,我们研究了业界的一些领先的做法,简单描述如下。
针对主从同步的数据丢失,一种做法是创建一个Binlog Server,该Server模拟Slave接受Binlog日志,主库每次的数据写入都需要接收到Binlog Server的ACK应答,才认为写入成功。Binlog Server可以部署在就近的物理节点上,从而保证每次数据写入都能快速落地到Binlog Server。在发生故障时,只需要从Binlog Server拉取数据即可保证数据不丢失。
针对MHA管理节点单点问题,一种做法是让MySQL数据库集群中每个节点部署Agent,发生故障时每个Agent均参与选举投票,选举出合适的Slave作为新的主库,防止只通过Manager来切换,去除MHA单点。整个架构如下图所示。
上述方式某种程度上解决了之前的问题,但是Agent和Binlog Server却是新引入的风险,同时Binlog Server的存在,也带来了响应时间上的额外开销。有没有一种方式,能够去除Binlog Server和Agent,又能保证数据不丢失呢 ?答案当然是有的。
最近几年,MySQL社区关于分布式协议Raft和Paxos非常火,社区也推出了基于Paxos的MGR版本的MySQL,通过Paxos将一致性和切换过程下推到数据库内部,向上层屏蔽了切换细节。架构如下(以MGR的single-primary为例)。
当数据库发生故障时,MySQL内部自己进行切换。切换完成后将topo结构推送给Zebra monitor,Zebra monitor进行相应的读写流量变更。不过,该架构存在与Binlog Server同样的需要回复确认问题,就是每次主库数据写入,都需要大多数节点回复ACK,该次写入才算成功,存在一定的响应时间开销。同时,每个MGR集群必须需要奇数个数(大于1)的节点,导致原先只需要一主一从两台机器,现在需要至少三台,带来一定的资源浪费。但不管怎么说,MGR的出现是无疑是MySQL数据库又一次伟大的创新。
本文介绍了美团点评MySQL数据库高可用架构从MMM到MHA+Zebra以及MHA+Proxy的演进历程,同时也介绍了业界一些高可用的做法。数据库最近几年发展突飞猛进,数据库的高可用设计上没有完美的方案,只有不断的突破和创新,我们也一直在这条路上探索更加优秀的设计与更加完美的方案。
金龙,14年加入新美大,主要从事相关的数据库运维,高可用和相关的运维平台建设。对运维高可用与架构相关感兴趣的同学可以关注我的个人微信公众号 “自己的设计师”,定期推送运维相关原创内容。
美团点评DBA团队招聘各类DBA人才,base北京上海均可。我们致力于为公司提供稳定、可靠、高效的在线存储服务,打造业界领先的数据库团队。这里有基于Redis Cluster构建的大规模分布式缓存系统Squirrel,也有基于Tair进行大刀阔斧改进的分布式KV存储系统Cellar,还有数千各类架构的MySQL实例,每天提供万亿级的OLTP访问请求。真正的海量、分布式、高并发环境。欢迎各位朋友推荐或自荐至jinlong.cai#dianping.com。
美团点评数据库高可用架构的演进与设想
标签:宕机 招聘 man 微信公众号 数据丢失 通知 解决 介绍 接受
热心网友 时间:2022-05-02 09:45
一、2010年
2010年3月4日,王兴推出美团网。
2010年3月,获得天使投资人王江的种子投资;
2010年5月4日,美团网上海站上线。
2010年5月6日,美团网武汉站上线。
2010年7月26日,美团网西安站上线。
2010年8月2日,美团网广州站上线。
2010年8月,获得了红杉资本1200万美元A轮投资;
2010年10月19日,美团网无锡站上线。
2010年10月22日,美团网南京站上线。
2010年12月22日,美团网石家庄站上线。
二、2011年
2011年7月,美团获得阿里巴巴和红杉资本5000万美元的B轮融资;
2011年12月28日 中国网- 美团网荣获“年度最佳团购网站” 称号。
2011年12月23日中国经济网- 美团网11月销售额超2.5亿,稳居团购业第一
2011年12月22日 美团网入选“十大网络购物品牌”
2011年07月13日,阿里巴巴领投美团网5000万美金。
2011年04月06日,计世网消息, 美团网荣获“团购之星”称号。
三、2014年
2014年5月消息称美团获得3亿美元C轮融资,领投机构为泛大西洋资本,红杉资本及阿里巴巴跟投,美团C轮融资的估值在30亿美元左右。
四、2015年
2015年1月,美团网完成D轮总额7亿美元的融资,估值达到70亿美元。
2015年7月,美团网向媒体证实已经确定全资收购酷讯,该项收购价格为数千万美元。收购酷讯之后,美团网布局酒店旅游、完善产业链的脚步将不断加快。
2015年9月15日,针对出现的“美团融资失败”的言论,给美团网造成了恶劣的社会影响。同时美团表示已经查清造谣者身份信息,同时掌握了涉案相关证据,将立即启动民事诉讼,并向*机关报案追究造谣者的刑事责任。
2015年10月8日,美团网与大众点评宣布合并。大众点评网与美团网联合发布声明,宣布达成战略合作并成立新公司。新公司将成为中国O2O领域的领先平台。
新公司将实施Co-CEO制度,美团CEO王兴和大众点评CEO张涛将同时担任联席CEO和联席董事长,重大决策将在联席CEO和董事会层面完成,新公司估值超150亿美元,此次交易得到阿里巴巴、腾讯、红杉等双方股东的大力支持,华兴资本担任本次交易双方的独家财务顾问。
2015年11月,阿里确认退出美团。
五、2016年
2016年1月,美团点评完成首次融资,融资额超33亿美元,融资后新公司估值超过180亿美元。
2016年7月18日,生活服务电商平台美团-大众点评(简称“新美大”)宣布,获得华润旗下华润创业联和基金战略投资,双方将建立全面战略合作。
2016年9月26日,美团宣布收购钱袋宝,正式获得第三方支付牌照。
六、2017年
2017年1月18日,美团点评双平台同时推出海外酒店。
2017年2月14日,美团在南京推出“美团打车”服务。
2017年4月12日,美团点评推榛果民宿 主打整租业务。
2017年4月20日,美团点评加码酒旅业务 发布旅行品牌美团旅行。
2017年6月16日,美团点评上线掌鱼生鲜还要开线下店。
2017年7月24日下午,美团点评等四家主要网络订餐平台在北京市食药监局的指导下分别设立食品安全专项基金(以下简称“基金”),用于对食品安全风险进行监测,首批资金共70万元。对于存在突出风险隐患的餐品,联盟平台都将禁售。
2017年9月9日,美团旅行app上线,签约Angelababy代言品牌。
七、2018年
2018年1月16日下午,由区环保局党组*、大调研领导小组组长贾跃能和区环保局*、大调研领导小组副组长沈群慧带队,走访调研美团点评上海总部,听取企业意见建议,交流环保工作。
2018年4月,美团旅行与银联国际近日达成深度合作,将在技术、大数据与购物体验方面加深探索,让旅行购物更加优惠、便捷。双方共同打造的银联国际品牌馆于2018年4月3日正式登陆美团旅行。
2018年4月,美团以35%美团股权、65%的现金收购摩拜单车,其中3.2亿美元作为未来流动性补充,A、B轮投资人及创始团队以7.5亿美金现金出局。对此,摩拜创始人胡玮炜今日在朋友圈回应表示,“并不存在所谓的出局,在我看来一切是新的开始”。
2018年5月16日美团已全资收购屏芯科技。收购完成之后,屏芯科技仍将保持运营,团队未来的分工继续保持不变。
2018年6月22日,美团点评正式向港交所递交IPO申请。6月25日,招股书在港交所官网披露。美团此次赴港上市的联席保荐人为高盛、摩根士丹利、美银美林,清一色的国际外资大行。
2018年7月26日,美团无人配送开放平台宣布上线,2019年实现片区规模化运营。
2018年9月20日,美团点评登陆港交所。
2018年11月,美团已经关停了已经运营近一年的分时租赁业务。知情人士称,美团之所以关掉这个业务,主要是因为,“商业模式无法跑通,也很难实现盈利”。
扩展资料:
美团的重要事件:
2014年美团全年交易额突破460亿元,较去年增长180%以上,市场份额占比超过60%,比2013年的53%增长了7个百分点。
2015年1月18日,美团网CEO王兴表示,美团已经完成7亿美元融资,美团估值达到70亿美元。
10月8日,大众点评与美团网宣布合并,美团CEO王兴和大众点评CEO张涛将会同时担任联席CEO和联席董事长。
11月,阿里确认退出美团。
11月10日,美团CEO王兴发内部邮件表示,将不再担任联席董事长。
2016年8月,北京市食药监局利用高科技手段对互联网违法行为进行搜索监测,为监管部门提供了一批违法线索,查处了一大批违法案件。
8月10日,北京市食药监局对美团进行立案调查。
2018年6月22日,美团点评正式向港交所递交IPO申请。
9月20日,美团点评登陆港交所。
2019年8月14日,检查组来到美团打车上海分公司进行上户检查。
通过监管平台数据比对,发现“美团打车”存在违规派单行为,交通执法部门现场开具了3万元的处罚决定书。
参考资料来源:百度百科-美团网
热心网友 时间:2022-05-02 11:03
2010年3月4日,王兴推出美团网。
2010年3月,获得天使投资人王江的种子投资;
2010年5月4日,美团网上海站上线。
2010年5月6日,美团网武汉站上线。
2010年7月26日,美团网西安站上线。
2010年8月2日,美团网广州站上线。
2010年8月,获得了红杉资本1200万美元A轮投资;
2010年10月19日,美团网无锡站上线。
2010年10月22日,美团网南京站上线。
2010年12月22日,美团网石家庄站上线。
2011 年7月,拿到阿里巴巴和红杉资本5000万美元的B轮融资;
2011年12月28日 中国网- 美团网荣获“年度最佳团购网站” 称号。
2011年12月23日中国经济网- 美团网11月销售额超2.5亿,稳居团购业第一
2011年12月22日 美团网入选“十大网络购物品牌”
2011年07月13日,阿里巴巴领投美团网5000万美金。
2011年04月06日,计世网消息, 美团网荣获“团购之星”称号。
2014年5月,美团宣布获得3亿美元C轮融资,领投机构为泛大西洋资本,红杉资本和阿里巴巴跟投,估值达40亿美元;
2015年1月,美团网完成D轮总额7亿美元的融资,估值达到70亿美元。
2015年7月,美团网向媒体证实已经确定全资收购酷讯,该项收购价格为数千万美元。收购酷讯之后,美团网布局酒店旅游、完善产业链的脚步将不断加快。
2015年9月15日,针对近期出现的“美团融资失败”的言论,美团在微博发表声明称造谣者以网络社区匿名帖为基础,编造“美团融资失败”等谣言,给美团网造成了恶劣的社会影响。同时美团表示已经查清造谣者身份信息,同时掌握了涉案相关证据,将立即启动民事诉讼,并向*机关报案追究造谣者的刑事责任。
2015年10月8日,大众点评网与美团网联合发布声明,宣布达成战略合作并成立新公司。新公司将成为中国O2O领域的领先平台。合并后双方人员架构保持不变,保留各自的品牌和业务运营。新公司将实施Co-CEO制度,美团CEO王兴和大众点评CEO张涛将同时担任联席CEO和联席董事长,重大决策将在联席CEO和董事会层面完成,新公司估值超150亿美元,此次交易得到阿里巴巴、腾讯、红杉等双方股东的大力支持,华兴资本担任本次交易双方的独家财务顾问。
2015年11月,阿里确认退出美团,阿里腾讯O2O正式开战。
2016年1月,美团点评完成首次融资,融资额超33亿美元,融资后新公司估值超过180亿美元。