范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

08数据库优化方案(一)查询请求增加时,如何做主从分离?

  上节课,我们用池化技术解决了数据库连接复用的问题,这时,你的电商系统虽然整体架构上没有变化,但是和数据库的交互过程有了变化,在你的工程和数据库之间增加了连接池,减少了创建成本,现在的架构如下图:
  此时你的数据库还是单机部署,根据一些云厂商提供数据,在4c8G的机器上运行MySQL5.7时,大概可以支撑500的tp和1000qps。这是公司打算参与双十一活动,这无疑回个查询带来巨大的流量,显然现有的架构是不能满足的。那么数据库层面怎么来做主从分离呢?  主从读写分离
  其实大多数系统的访问模型是读多写少,读写请求量的差距可以达到几个数量级。
  这很好理解,朋友圈的阅读量肯定比朋友圈的发表要多,淘宝上一个商品的浏览器也肯定要大于它的下单量,因此数据库优先考虑如何抵抗住更大的查询请求,那么首先要把读写分离开,这样可以针对单独的读请求进行扩容,这就是我们说的主从读写分离。  主从读写的两个技术关键点
  一般来说主从读写分离机制中,我们将一个数据库的数据拷贝或者备份到其他数据库服务器中,原始的数据库我们称为主库,主要负责数据的写入,拷贝的数据库成为从库 负责数据的查询支持。可以看出 主从数据库技术上有两个关键点:
  一个是数据的拷贝,我们成为主从复制。二是 主从分离如何屏蔽使用上的 差异。  主从复制我先以 MySQL 为例介绍一下主从复制。
  MySQL的主从复制依赖binglog,就是记录MySQL所有数据变化的二进制文件,保存在磁盘上的。主从的复制就是把Biglog从主库同步到从库,这个过程一般是异步的。即主库不会等待同步的完成。
  主从复制的过程大概这样:首先从库在链接到主库时候会创建一个IO线程,用以请求主库更新的Biglog,并且把接受的binglog信息写入一个叫做relay log 的日志文件中,而主库也会创建一个log dump 线程来发送日志给从库;同时从库还会创建一个sql线程读取relay Log中的内容,并且在从库中做回放,最终实现主从的一致性。这是常见的主从复制模式。
  在这个方案中,主库的 Log dump 线程是异步的,可以避免对主库的整体流程产生影响;从库的binlog日志首先写入relay log 中,因为数据的实际存储比较耗时的过程,所以采取异步读取再写入,避免带来更大的延迟。
  这里存在的问题就是,主库的日志是异步先落入本地磁盘的,如果这个过程出现问题,就会导致变更日志的丢失,从而导致主从数据的不一致。但是这个概率是很小的,互联网项目中可以接受。
  做了主从复制之后,这样主库负责写入数据,从库负责读取数据,即使写操作出现锁表也不影响从库的读取操作。这样在流量比较大时,可以部署多个从库来提高系统的查询能力,这就是所为的一主多从。另外从库也可以当做备份使用,避免主库的宕机。
  那么问题来了,我是不是可以无限制的增加从库呢?从而增加系统的并发查询能力呢?  不是的,因为增加一个从库,主库需要增加一个Log dump 线程,对于主库的资源消耗比较高,同时受制于主库的网络带宽,实际使用中一般一个主库挂 3~5个从库为最佳。
  当然主从同步,也会有一些缺陷,最大的问题就是主从同步的延迟。也是我们排查问题时候容易忽略的地方。一般我们会把主从数据的延迟做一些监控告警。正常的延迟应该在毫秒级别,超过这个数量级就应该告警了。  如何访问数据
  数据已经通过主从复制到了多个节点,也实现了读写的分离,这时对数据库的使用方式就发生了变化。以前只需要使用一个数据库地址就好了,现在还需要使用一个主库,多个从库。并且需要区分写入操作和查询操作。为了降低业务的复杂度业界提供了很多数据库中间件来解决数据库的访问问题,这些中间件可以大致分为两类:
  第一类以淘宝的 TDDL( Taobao Distributed Data Layer)为代表,以代码形式内嵌运行在应用程序内部。你可以把它看成是一种数据源的代理,它的配置管理着多个数据源,每个数据源对应一个数据库,可能是主库,可能是从库。当有一个数据库请求时,中间件将 SQL 语句发给某一个指定的数据源来处理,然后将处理结果返回。
  这一类中间件的优点是简单易用,没有多余的部署成本,因为它是植入到应用程序内部,与应用程序一同运行的,所以比较适合运维能力较弱的小团队使用;缺点是缺乏多语言的支持,目前业界这一类的主流方案除了 TDDL,还有早期的网易 DDB,它们都是 Java 语言开发的,无法支持其他的语言。另外,版本升级也依赖使用方更新,比较困难。
  另一类是单独部署的代理层方案,这一类方案代表比较多,如早期阿里巴巴开源的 Cobar,基于 Cobar 开发出来的 Mycat,360 开源的 Atlas,美团开源的基于 Atlas 开发的 DBProxy 等等。
  这一类中间件部署在独立的服务器上,业务代码如同在使用单一数据库一样使用它,实际上它内部管理着很多的数据源,当有数据库请求时,它会对 SQL 语句做必要的改写,然后发往指定的数据源。
  它一般使用标准的 MySQL 通信协议,所以可以很好地支持多语言。由于它是独立部署的,所以也比较方便进行维护升级,比较适合有一定运维能力的大中型团队使用。它的缺陷是所有的 SQL 语句都需要跨两次网络:从应用到代理层和从代理层到数据源,所以在性能上会有一些损耗。
  其实,我们可以把主从复制引申为存储节点之间互相复制存储数据的技术,它可以实现数据的冗余,以达到备份和提升横向扩展能力的作用。在使用主从复制这个技术点时,你一般会考虑两个问题:
  主从的一致性和写入性能的权衡,如果你要保证所有从节点都写入成功,那么写入性能一定会受影响;如果你只写入主节点就返回成功,那么从节点就有可能出现数据同步失败的情况,  从而造成主从不一致,而在互联网的项目中,我们一般会优先考虑性能而不是数据的强一致性。
  我们采用的很多组件都会使用到这个技术,比如,Redis 也是通过主从复制实现读写分离;Elasticsearch 中存储的索引分片也可以被复制到多个节点中;写入到 HDFS 中文件也会被复制到多个 DataNode 中。只是不同的组件对于复制的一致性、延迟要求不同,采用的方案也不同。  但是这种设计的思想是通用的,是你需要了解的,这样你在学习其他存储组件的时候就能够触类旁通了。

京医通停运风波,背后是亿级纠纷4月18日晚间,一份关于京医通停运的通知在坊间流传。落款为北京怡合春天科技有限公司,其诉称作为京医通线上系统的建设者和运营方,不堪重负弹尽粮绝,原因是出资方北京银行未履行出资义务。华为Mate50Pro曝光徕卡四摄圆形副屏,提前预定安卓机皇宝座不得不承认,华为手机在国内的市场号召力是真的强,每次新机的发布都能引起整个手机市场的震动,最近华为Mate50Pro又有了最新消息。各方面配置都有爆料,相信不久的将来,就能和大家见鸿蒙OS3。0发布日期敲定,华为Mate50或首发,花粉终于等到了近日,有外媒表示华为的鸿蒙OS系统开始进入第二阶段。可能不少花粉会疑惑,为什么会有第二阶段的说法?其实,鸿蒙系统第一阶段是指开源的鸿蒙系统直接拿来使用,而第二阶段则是让有更高要求的欧界丨华为无缘前五!第一季度手机销量榜出炉欧界报道根据世界知名数据调研机构Canalys公布的第一季度全球手机出货量报告,三星以24的市场份额占据榜首,苹果18名列第二,小米获得第三,绿蓝厂分获四五名。本次数据的公布,反映如何改善睡眠质量,ZDEER左点睡眠仪开箱体验失眠的滋味,实在太煎熬。晚上翻来覆去睡不着,白天精神疲惫不堪,人变得越来越憔悴,脾气暴躁易怒,感觉再这么下去,下一个出现在新闻上的就是我了。之前也吃过褪黑软糖,效果不怎么样,后来看无叶风扇好用吗?无叶风扇是智商税吗?随着夏季一天天的临近,风扇也受到越来越多人的关注。虽然说空调的体验更好,但是风扇却更加灵活,方便,在一些不适合安装空调的场所,风扇也是必不可少的生活用品。近年来风扇家族出现一个新的电脑显示器选购指南及推荐(配置参数尺寸分辨率)除了主机里的硬件,显示器也是台式电脑的重要组成部分之一,一台的好的显示器不仅可以带给我们我们更好的视觉冲击,更重要的是还能提高工作的效率。目前市面上的电脑显示器的品牌和型号繁多,那盘点岳云鹏同款打印机那些技能,轻松打印作业上王者!这太卷了今天,刷微博时看到偶像小岳岳在晒一款学习打印机,粉丝们都纷纷在回复求上车,咦这货我算是比较熟悉,也比较有话语权吧,因为这款喵喵机F1我已经用了数个月了,十分奈斯,可以解决许多家长们指纹门锁对老人小孩不友好?TCL智能锁的指静脉黑科技了解下近两年,智能门锁进入了快速增长期,老Q的新房交付时开发商还给标配了智能门锁,不过就是有点渣,经常会出现各种问题,老人的指纹可以录进去,但就是开锁的时候只有50的成功几率,小孩子的指机器人降重能降多少论文查重中我们需要不断地对纸张进行减重,所以最近有学生通过学术家平台向小系列发出了自己的疑问机器人的纸张减重量能有多少?于是小编就贴心地去搜集了与论文研究机器人降重能降低了多少的相物联网革新催生新型智能感知煤矿煤矿开拓设计地测采掘运通洗选安全保障生产管理等主要生产系统要具备自感知自学习自决策与自执行的基本能力。这是煤矿智能化建设的基本要求,实现这一基本要求,依托的则是物联网云计算大数据人
中关村科学城预计今年高新技术企业总收入3。4万亿元北京商报讯(记者杨月涵王晨婷)12月30日,海淀区召开新闻发布会。据介绍,中关村科学城建设近年来跑出加速度,为海淀区乃至首都高质量发展提供硬核支撑。预计2021年,高新技术企业总收特斯拉手机,好像是奔着国产手机来的感觉老美要放弃掉安卓,或者是拿出特斯拉降维打击毁掉安卓。安卓开源使中国有系统可用或者有系统可仿,像鸿蒙可以直接使用apk而不是可以使用苹果的ipa。不要说苹果什么专利什么的,当年苹从4198跌至2998元,120W快充OIS防抖,骁龙888加速退场网友们期待的小米12系列已经发布了,不知道3699元起的小米12,4699元起的小米12Pro大家觉得香不香呢?如果觉得不怎么样的话,在下个月初还是有骁龙8新旗舰发布,如果你是游戏出差时远程开电脑办公,全靠向日葵智能插线板P2场景一出差途中,公司有个工作需要临时处理一下,找再带代劳不是特别方便,一是可能涉及隐私,二就是,同事还不一定会操作,哪怕是用电话指导着,也不一定能搞定。场景二匆匆忙忙去上班,到了公几乎0差评的3款手机,价格覆盖中高低三档,可以闭眼入手手机市场五花八门,总有一些产品滥竽充数,有着高价低配的嫌疑,其实这往往都是硬件有硬伤,软件优化不当,机身品质过差造成的,买到体验会很差。所以今天来给大家推荐几款好口碑的手机,下面这华为真的造车了?官方声明来了2021年新能源智能汽车的概念有多火?如果你不造新能源智能汽车,都不好意思说自己是世界500强企业。这不!华为也加入了造车的大军!近日,华为对外宣布了2021年的五大发展战略,其中加密货币交易气体限制术语GasLimit是指加密货币用户在以太坊区块链中发送交易或执行智能合约功能时愿意支付的最高价格。这些费用以gas为单位计算,gaslimit定义了交易或功能可以从用户收取或获取36氪独家OPPO将推出首款自研芯片,或为6纳米NPU文苏建勋编辑杨轩36氪独家获悉,OPPO此前内部宣布的造芯举动已获重要进展,其首款自研芯片将定位于独立NPU(神经网络处理器),发布时间或将在下周。6月就完成流片(流水线上试生产)充电5分钟续航200公里,XPILOT4。0无框门,小鹏又一新作说到造车新势力,相信在车主心中会浮现出几个汽车品牌,在新能源电动汽车领域,造车品牌如雨后春笋般冒出,而这些品牌推出的电动汽车定价都不低,貌似都想占据电动汽车的高端领域。在电动汽车推微信小程序从入门到学会第七天小程序的自定义组件一前言当我们多次使用同一个组件的时候,我们可以将其进行封装然后进行使用,这个时候,自定义组件就起到了很好的作用,前面虽然我们讲到了自定义组件,不过那都是皮毛,仅仅只是讲到了自定义组从1599跌至1189,中端5G手机跌至二手价,骁龙778G5000毫安12月29日消息,真我Q3s在京东自营平台开启秒杀价6128GB版到手价低至1189元。该机搭载骁龙778G处理器,拥有144Hz可变帧高刷屏和5000毫安时大电池。应该是目前性价