首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
架构
程序员麻辣烫
创建于2021-05-16
订阅专栏
记录一下架构相关内容
等 7 人订阅
共59篇文章
创建于2021-05-16
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
浅谈OAuth2.0
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。OAuth不是一个认证协议,这点不要搞混。
Kafka流程梳理
最近打算梳理消息引擎系统,以Kafka和RocketMQ为主进行学习。关于Kafka打算写两篇文章,一篇是基础知识,一篇是实践,打算用Kafka收集日志,并实现报警功能。
分布式事务-SAGA与消息
分布式事务分两大类,一类是XA类型的,一类是基于消息通知的事务方案。前些日子写了分布式事务-2PC与TCC,这次聊一下Saga和基于消息的的事务方案。
Redis的事务,Go+lua用起来真香
Redis是应对高并发的常用工具,在常用缓存技巧中讲过相关技巧。但有些业务场景,使用Redis会遇到问题,如电商里的秒杀、扣减库存等。 Redis有没有像MySQL原子性一样的能力,来解决这个问题呢?
用Go实现一个状态机
工作中,很多同学会用到状态机,例如对一个工单进行创建、编辑、审核,在执行新动作前,要检查能否从当前状态流转到下一个状态。对这种需求,我们怎么实现呢?
我要实现一个推单功能了
天道好轮回,苍天饶过了谁,终于轮到我当发送方了。虽然这个项目难度不是很高,但这是自己第一个推送相关的项目,所以记录一下。
分布式事务-2PC与TCC
随着微服务的发展,需要实现分布式事务的场景越来越多。分布式事务在实现上分为基于补偿的方案和基于消息通知方案两种类型。
权限管理系统,可以这么设计
权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。对权限做管理的系统,就是权限管理系统。
关于队列的小知识
队列是常用的数据结构之一,是一种先入先出(First Input First Output)的结构。 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端
分页复选设计的坑
分页复选的坑比较隐秘,大家可以先自己思考一下哪里有问题,如果能够想到,那说明同学还是很细心、敏捷的。 之所以写这篇文章,也是因为做一个项目的时候遇到了这个坑
支付接入常规问题
以前写过一篇如何对接第三方支付的文章如何高效对接第三方支付,因为对接的大多数是海外支付公司,这些公司有很多神奇的问题,往往会埋坑,所以开发之前,整理出问题列表,以便尽早发现和解除问题,保证按时上线。 1. 支付 a. 同一个订单号,支付成功之前,是否可以使用该订单号重复发起支付…
限流实现2
剩下的几种本来打算能立即写完,没想到一下三个月过去了,很是尴尬。本次主要实现如下两种算法 令牌桶算法(Token Bucket):是网络流量整形(Traffic Shaping)和速率限制(Rate Limiting)中最常使用的一种算法。令牌桶算法示意图如下所示: a. 按特…
秒杀系统
秒杀能够以极小的经费撬动巨大的流量,虽然会带来一定的口碑损失,但因为极具性价比,所以经常被运营同学使用。本文介绍如何设计一款能够支撑60W QPS的秒杀系统,希望能够帮助到大家。 这套系统有着漫长的演变历史,从最初利用Nginx、PHP,到后来使用GO,团队慢慢的将系统做的更加…
分布式系统与一致性协议
可用性:可用性是分布式系统的核心需求,其用于衡量一个分布式系统持续对外提供服务的能力。 可扩展性:增加机器后不会改变或极少改变系统行为,并且能获得近似线性的性能提升。 容错性:系统发生错误时,具有对错误进行规避以及从错误中恢复的能力。 性能:对外服务的响应延时和吞吐率要能满足用…
微服务之服务框架和注册中心
微服务的水挺深的,准确的说,不仅深还特别广。微服务涉及的内容特别多,而且每一块都可以深入研究,成为这方面的专家。 在《微服务设计》这本书里,给微服务下的定义为:微服务就是一些协同工作的小而自治的服务。 这个定义不是特别好,总感觉是把微服务的范围缩小了。 另外阅历不同对这句话的理…
浅谈微服务
微服务兴起已经多年了,这几年已到大发展阶段。公司内部做了很多和微服务相关的事情,自己也看了一些微服务相关的内容。现在再来认识”微服务“三个字,终于有点懂了的感觉。 微服务为什么会出现?我觉得这是互联网发展的必然结果。 如同以前没有IOS七层模型的时候,当时的程序员做编程,他们需…
限流实现-专题一
在实际业务中,经常会碰到突发流量的情况。如果公司基础架构做的不好,服务无法自动扩容缩容,在突发高流量情况下,服务会因为压力过大而崩溃。更恐怖的是,服务崩溃如同多米诺骨牌,一个服务出问题,可能影响到整个公司所有组的业务。 为了减少损失,比较常用的方案是限流和熔断。本文会讲述常…
常用缓存技巧
在项目中,大家经常会遇到处理高并发的情况,缓存是应对高并发的有效手段之一。这篇文章简单介绍一下常用的缓存手段。当然,使用缓存有一个前提: CDN一般用来做静态资源的缓存,但是稍微进行修改,便可以用来缓存动态接口的返回。如下图所示: 正常情况下,回源的请求会比较少,但某些情况…
如何高效对接第三方支付
电商购物流程中核心的一环是用户支付。目前我们已经服务30个国家和地区,不同国家往往需要对接不同的第三方支付公司,所以最近两年,研发组对接了大量的第三方支付公司,积累了一定的经验。 本文主要分享如何对接第三方支付,以及在生产上实际遇到的一些问题,避免大家重复踩坑。 只需要对接完如…