Category: Distributed Archi

[转]高并发下的接口幂等性如何实现 0

[转]高并发下的接口幂等性如何实现

一、背景 我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。 例如1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果;2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱;3. 发送消息,也应该只发一次,同样的短信发给用户,用户会哭的;4. 创建业务订单,一次业务请求只能创建一个,创建多个就会出大问题等等很多重要的情况都需要幂等的特性来支持。

[转]当我们在谈论高并发的时候究竟在谈什么? 0

[转]当我们在谈论高并发的时候究竟在谈什么?

什么是高并发?

那么我们在谈论高并发的时候,究竟在谈些什么东西呢?

[转]分布式架构知识体系 0

[转]分布式架构知识体系

1.问题 1、何为分布式何为微服务? 2、为什么需要分布式? 3、分布式核心理论基础,节点、网络、时间、顺序,一致性? 4、分布式是系统有哪些设计模式? 5、分布式有哪些类型? 6、如何实现分布式?

[转]百万并发中间件系统的内核设计看Java并发性能优化 0

[转]百万并发中间件系统的内核设计看Java并发性能优化

(1)大部分人对Java并发仍停留在理论阶段 (2)中间件系统的内核机制:双缓冲机制 (3)百万并发的技术挑战 (4)内存数据写入的锁机制以及串行化问题 (5)内存缓冲分片机制 + 分段加锁机制 (6)缓冲区写满时的双缓冲交换 (7)且慢!刷写磁盘不是会导致锁持有时间过长吗? (8)内存 + 磁盘并行写机制 (9)为什么必须要用双缓冲机制? (10)总结 “ 这篇文章,给大家聊聊一个百万级并发的中间件系统的内核代码里的锁性能优化。很多同学都对Java并发编程很感兴趣,学习了很多相关的技术和知识。比如volatile、Atomic、synchronized底层、读写锁、AQS、并发包下的集合类、线程池,等等。

[转]亿级流量架构系列专栏总结[3] 数据一致性重构指南 0

[转]亿级流量架构系列专栏总结[3] 数据一致性重构指南

亿级流量系统架构之如何保证百亿流量下的数据一致性(上) 亿级流量系统架构之如何保证百亿流量下的数据一致性(中) 亿级流量系统架构之如何保证百亿流量下的数据一致性(下)   如何保证消息中间件全链路数据100%不丢失(1) 如何保证消息中间件全链路数据100%不丢失(2) 消息中间件如何实现消费吞吐量的百倍优化 如何保证生产者投递到消息中间件的消息不丢失  

[转]亿级流量架构系列专栏总结[2]架构可扩展性 0

[转]亿级流量架构系列专栏总结[2]架构可扩展性

在《亿级流量系统架构》系列第一阶段中,我们从零开始,讲述了一个大型数据平台的几个方面的构建,包括: 如何承载百亿级数据的存储挑战 如何承载设计高容错的分布式架构 如何设计高性能架构,使之能承载百亿级流量 如何设计高并发架构,能够支撑住每秒数十万的并发查询 如何设计全链路99.99%的高可用架构 好!架构演进到这个时候,系统是否无懈可击了呢?

[转]蚂蚁金服亿级并发下的移动端到端网络接入架构解析 0

[转]蚂蚁金服亿级并发下的移动端到端网络接入架构解析

前言 支付宝移动端架构已完成了工具型 App、平台型 App,以及超级 App 三个阶段的迭代与逐步完善。 本次分享将聚焦支付宝在移动网络接入架构的具体演进,以及应对新春红包等项目在亿级并发场景下的具体应对之道。此外,我们将延展探讨蚂蚁金服移动网络技术如何对外商业化应用和输出。 一. 蚂蚁金服移动网络接入架构演进 支付宝移动网络第一代架构 支付宝无线团队于 2008 年成立,那时支付宝 app 整体架构可以简单称之为单应用架构。单应用包括两部分,客户端 APP 和服务器,通过 https 进行通信。 由于无线业务的逐步发展,许多业务需要从 PC 迁到无线,越来越多的开发要投入到无线上,但是目前的架构无法支撑多业务多团队的并行研发。每个业务功能要拉一个分支,N 个业务同时要拉 N 个分支,合并代码也是很痛苦的,整个架构成为很大的瓶颈。 支付宝移动网络第二代架构 2013 年我们针对 App 架构进行升级,引入了 API 网关架构:把后端服务抽象为一个个接口对外提供服务,可以拆成各种各样的服务,每一个系统的研发与发布跟其他的系统没有关系,并且支持多端应用接入,比如口碑 APP、支付宝主 APP。...

[转]分布式系统的本质其实就是这两个问题 0

[转]分布式系统的本质其实就是这两个问题

分布式系统的价值 谈到分布式系统的价值,可能就得从 1953 年说起了。在这一年,埃布·格罗希(Herb Grosch)提出了一个他观察得出的规律——Grosch 定律。维基百科中是这样描述的: 计算机性能随着成本的平方而增加。如果计算机 A 的成本是计算机 B 的两倍,那么计算机 A 的速度应该是计算机 B 的四倍。