高可用
文章平均质量分 70
带鱼兄
爱在新空气,快乐每一天
展开
-
go-diskqueue数据结构
一、本文目的是介绍go-diskqueuego-diskqueue,应用于nsq:https://github.com/nsqio/nsq,作用是存储内存装不下的消息,并支持读取。go-diskqueue:https://github.com/yudongdai/go-diskqueue/blob/master/diskqueue.go(注释版)二、文件的组织2.1文件的组成2.1.1元数据,文件名格式如下:{TopicName}.diskqueue.meta.dat,每个Top..原创 2020-08-27 00:43:43 · 727 阅读 · 0 评论 -
什么是可靠、可扩展、可维护的系统?
一,可靠性的挑战1,人为故障是线上系统故障的首要原因,应该怎么避免1.1简化设计,易于测试1.2充分测试,覆盖场景1.3快速回滚,降低损失1.4完善监控1.5规范流程,这点最重要2,软件故障2.1简单架构,降低复杂度带来的不可控2.2选择稳定的软件,包括开源2.3要有自动恢复机制,比如限流,进程自动拉起3,硬件故障3.1多机服务,但...原创 2020-02-23 00:33:13 · 3271 阅读 · 0 评论 -
关于分布式事务、两阶段提交协议、三阶提交协议
结论:无论是二阶段提交还是三阶段提交都无法彻底解决分布式的一致性问题------------------- 分割线随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在分布式一致性一文中主要介绍了分布式系统中存在...转载 2019-04-28 17:24:09 · 305 阅读 · 0 评论 -
kafka和rabbitmq选型
前言:选择适用的消息队列,至少要关注多个维度,基于kafka和rabbitmq,文章假定读者对消息队列已有一定的了解,探讨以下内容(1)顺序性(2)幂等性(3)持久化(4)性能(5)容灾(6)安全机制(7)可靠性一、模型(1)rabbitmq消费模型(只能路由到master处理)(2)rabbitmq生产模型(只能路由到master处理)(3...原创 2019-04-25 19:25:43 · 925 阅读 · 0 评论 -
商品唯一订单系列号生成简易算法
算法目标:支持中小型支付系统,单机房生成订单QPS序列号生成算法:{2字节,机房序列号}{14字节,年月日时分秒}{3字节,毫秒}{3字节,微妙}{4字节,自增序列号}机房A:"{01}{20171028195147}{655}{851}{0001}""{01}{20171028195147}{655}{851}{0002}"机房B:"{原创 2017-10-28 19:34:15 · 7112 阅读 · 0 评论 -
分布式系统的Raft算法
过去, Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现,Google的分布式锁系统Chubby作为Paxos实现曾经遭遇到很多坑。 来自Stanford的新的分布式协议研究称为Raft,它是一个为真实世界应用建立的协议,主要注重协议的落地性和可理解性。 在了解Raft之前,我们先了解Consensus一致性这个概念,它是指多个服务器在状态达成一致,但是在一转载 2017-04-12 22:54:44 · 657 阅读 · 0 评论 -
分布式锁的基本原理
基本概念:分布式锁,是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。举个例子:1.假设有一个进程A,每小时准点给用户发送一条短信"Hello world",为了高可用,就必须在原创 2016-11-25 18:55:06 · 17078 阅读 · 0 评论 -
京东618实践:一元抢宝系统的数据库架构优化
一元抢宝系统是京东虚拟新兴的一个业务系统,上线以来订单量一直持续增长。在距离618前两个月时,京东商城商品虚拟研发部对系统做了整体预估,订单量快速增长及618大促的到来都将带来单量剧增,届时势必会对数据库容量和负载造成压力。分析结果表明数据库很可能成为影响性能的瓶颈,并决定对数据库底层做分库分表改造,确保数据水平动态扩展能力,满足数据容量持续增长的需求,并提高下单效率。一、业务介绍转载 2016-07-19 21:32:54 · 1472 阅读 · 0 评论 -
基于Redis实现分布式锁
分布式锁的基本功能:1.同一时刻只能存在一个锁2.需要解决意外死锁问题,也就是锁能超时自动释放3.支持主动释放锁分布式锁解决什么问题:多进程并发执行任务时,需要保证任务的有序性或者唯一性准备:redis版本>=2.6redis是主从+sentinel模式原理:redis2.6之后,SET命令支持超时和key存在检查,这是一个原子操作获取锁原创 2016-06-26 00:09:18 · 7276 阅读 · 6 评论 -
滴滴passport设计之道:帐号体系高可用的7条经验
洪泽国,2007年硕士毕业于中科大,先后在Oracle、腾讯等公司就职,主要关注在线服务的高可用、高性能和易扩展业务场景先简单介绍一下业务场景,我来自滴滴平台部门,平台是一个业务支撑部门,支付、账号、消息等功能都会在我们平台里。今天主要给大家介绍账号子系统,我们设计Passport,有很多优化的规则,比如大系统做小,做服务拆分,力度拆得非常小,目的是为了高可用。Pa转载 2016-07-04 00:04:42 · 5609 阅读 · 0 评论 -
万亿级调用系统:微信序列号生成器架构设计及演变
“每天万亿级调用的重量级系统,每次申请序列号平时调用耗时1ms,99.9%的调用耗时小于3ms,服务部署于数百台4核CPU服务器上!”老司机介绍:曾钦松,微信高级工程师,目前负责微信后台基础服务、朋友圈后台等开发优化,致力于高可用高性能后台系统的设计与研发。2011年毕业于西安电子科技大学,早先曾在腾讯搜搜从事检索架构、分布式数据库方面的工作。微信在立项之初,就已确立了利用数据转载 2016-06-16 21:15:34 · 1723 阅读 · 0 评论 -
超大规模系统架构设计的一般原则(最佳实践)
内容来自2015云栖大会·广东峰会·企业级互联网架构分会现场,阿里巴巴中间件架构师团队钟华老师分享的干货,内容比较充实,匆忙间只记录了部分内容,需要手机拍下来的PPT请留邮箱。一、尽可能拆分·更好的独立扩展与伸缩·更灵活的部署·隔离错误问题:数据库能力达到上限,太多的应用机器,有限的连接池,连接数捉襟见肘二、去中心化化,线性扩展·服务能力线性原创 2015-12-23 21:47:24 · 2403 阅读 · 0 评论 -
Pinterest 架构:两年内月 PV 从零到百亿
Pinterest正经历了指数级曲线般的增长,每隔一个半月就翻番。在这两年里,Pinterest,从 每月PV量0增长到100亿,从两名c创始人和一个工程师成长为四十个工程师,从一台MySQL 服务器增长到180台Web 服务器(Web Engine),240台接口服务器(API Engine), 88台MySQL 数据库 (cc2.8xlarge) ,并且每台DB有一个备份服务器,110台Red转载 2016-01-28 23:12:02 · 1133 阅读 · 0 评论 -
来自 Google 的高可用架构理念与实践
编者按:高可用架构分享及传播在架构领域具有典型意义的文章,本文由前 Google SRE 孙宇聪分享。转载请注明来自高可用架构公众号 ArchNotes。孙宇聪,CTO @ coding.net 。2007 - 2015 年初在 Google 的 Moutain View 担任 SRE 职位。 参与了 Google 的两个项目:第一个是 Youtube,工作内容涵盖 Video转载 2016-01-11 10:11:53 · 895 阅读 · 0 评论 -
云存储平台之运营
BS2(Blob Storage Service)是我们平台的简写,云存储平台主要是为任意格式文件提供临时或者永久的存储服务,用户可以通过调用API,在任何应用、任何时间、任何地点上传和下载数据。这篇文章不涉及技术细节,主要是一些运营体系的理念。原创 2016-01-25 11:59:47 · 3414 阅读 · 0 评论 -
浅谈系统的高可用性
“高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。对于高可用这个概念,个人认为至少满足下列几点:1.程序异常处理,这个是基本功,仅能在正常情况下运行的程序不叫程序2.机房容灾,即当个别机器损坏,或者个别机房网络割接时,仍可正常运作3.系统容易扩展,即当遇到性能瓶颈时,可横向扩展解决,比如多部署几个程序即可原创 2015-12-03 21:54:15 · 5990 阅读 · 1 评论 -
支付宝的高可用与容灾架构演进
持续可用和快速容灾切换的能力,是技术人员追求的极致目标。在架构设计中,容灾设计强调的是系统对外界环境影响具备快速响应能力,节点级别的快速恢复能力,保障系统的持续可用。去年12月18日,全球架构师峰会上,阿里巴巴高级系统工程师曾欢(善衡)结合互联网金融业务及系统特性,分享了在支付宝系统架构演进中,每个阶段的高可用和容灾能力建设的解决思路。转载 2016-01-20 19:21:04 · 5355 阅读 · 0 评论 -
从0到1:微信后台系统的演进之路
2个月的开发时间,微信后台系统经历了从0到1的过程。从小步慢跑到快速成长,经历了平台化到走出国门,微信交出的这份优异答卷,解题思路是怎样的?本文由张文瑞,微信后台团队出品。从无到有2011.1.21 微信正式发布。这一天距离微信项目启动日约为2个月。就在这2个月里,微信从无到有,大家可能会好奇这期间微信后台做的最重要的事情是什么?我想应该是以下三件事:1确定了转载 2016-01-16 18:52:11 · 1283 阅读 · 0 评论 -
高可用可伸缩架构实用经验谈
原文地址:七牛李道兵:高可用可伸缩架构实用经验谈移动互联网、云计算和大数据的成熟和发展,让更多的好想法得以在很短的时间内实现为产品。此时,如果用户需求抓得准,用户数量将很可能获得爆发式增长,而不需要像以往一样需要精心运营几年的时间。然而用户数量的快速增长(尤其是短时间内的爆发式增长),通常会让应用开发者有些吃不消,不得不面临一些严峻的技术挑战转载 2015-12-09 22:48:48 · 937 阅读 · 0 评论