PerfMa童庭坚:全链路压测体系建设方案的思考与实践
日前杭州笨马CTO童庭坚接受了软件质量效能社区的邀请,与行业同仁分享了关于全链路压测体系建设方案的思考与实践。以下为本场直播的核心内容: 系统性能测试的几个痛点在金融、零售快消、物流、新能源等传统行业
记一次微服务耗时毛刺排查
前段时间的某天,注意到一个服务的平均耗时出现了如下图的毛刺现象。注意到毛刺出现极其规律,每30分钟出现一个毛刺。考虑到这种规律性,并结合服务的流量较小(20 QPS)推测,可能是某个定时请求的接口进行
这么流行的ZooKeeper,原来是这样设计的!
为什么会有ZooKeeper 我们知道要写一个分布式应用是非常困难的,主要原因就是局部故障。一个消息通过网络在两个节点之间传递时,网络如果发生故障,发送方并不知道接收方是否接收到了这个消息。有可能是收
Kafka的生产者优秀架构设计
前言 Kafka 是一个高吞吐量的分布式的发布订阅消息系统,在全世界都很流行,在大数据项目里面使用尤其频繁。笔者看过多个大数据开源产品的源码,感觉 Kafka 的源码是其中质量比较上乘的一个,这得益于
多机房灾备实践
2017年主导了公司新机房(100多台服务器规模)建设以及机房切换,前期工作主要是招标选供应商,服务器,网络设备等,定下来后就开始进行采购,2017年过年之前设备到位。年后开始规划实施。下面我就分享下
RedLock: 看完这篇文章后请不要有任何疑惑了
后台经常会有小伙伴咨询RedLock相关问题,笔者在此再来一篇文章剖析一下RedLock,希望此文能解决你对它所有的疑惑和误解。 为什么需要RedLock这一点很好理解,因为普通的分布式锁算法在加锁时
久等了,网传字节跳动总结的设计模式出版了!
作者:小傅哥博客:[https://bugstack.cn](https://bugstack.cn)沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言`来自延迟满足的幸福`可能你的生活里很多
微服务注册中心的选型和思考
概述 在微服务时代,注册中心越来越被重视。服务治理逐渐跟业务服务并驾齐驱。所以本文想对注册中心进行体系化探索。注册中心,起源于分布式时代。不管是水平拆分架构,或者垂直拆分架构,对于多服务、多实例的支持
微服务架构中分布式事务实现方案如何取舍
提起微服务架构,不可避免的两个话题就是服务治理和分布式事务。数据库和业务模块的垂直拆分为我们带来了系统性能、稳定性和开发效率的提升的同时也引入了一些更复杂的问题,例如在数据一致性问题上,我们不再能够依
如此火爆的ZooKeeper,到底如何选主?
前言 前面一篇文章我们已经给大家讲解了ZooKeeper的核心的原理,这一篇我们重点分析ZooKeeper的Leader选举算法。Leader的选举是ZooKeeper的最重要技术之一,也是保证分布式
微服务架构何去何从?
前言微服务架构模式经过5年多的发展,在各行各业如火如荼地应用和实践。如何在企业中优雅地设计微服务架构?是企业面对的一个重要问题。本文将讲述微服务架构1.0设计与实践以及面临问题和破局,最后讲述微服务架
世界最优秀的分布式文件系统架构演进之路
前言 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系
数学,离一个程序员有多近?
作者:小傅哥博客:[https://bugstack.cn](https://bugstack.cn) 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言`数学离程序员有多近?`ifelse也
浅谈JDK并发包下面的分治思想及分治思想在高并发场景的运用
提到分治思想,大家比较容易想起其在归并排序与快速排序中的运用。今天先给大家分享一下JDK并发包下面分治思想的运用,再和大家分享一下如何利用分治思想解决高并发场景下面的一些问题。本文说的分治思想是广义范
国内酒店:通过架构改进,我们计划优化掉300+台服务器
背景 线上问题回顾2019年8月某天,那时我刚入职还不到一个月,遇到一个特殊的线上问题:某报价应用个别机器连续FGC不停(准确的说是FGC几乎没任何效果),这些机器重启后不久继续开始不停的FGC。当时
PerfMa技术沙龙•上海2021︱全链路压测体系建设的探索与实践
背景介绍近几年全链路压测无疑成为了一个热门话题,在各大技术峰会上都可以看到它的身影。业务场景的越发复杂化、海量数据冲击下整个业务系统链的可用性、服务能力的瓶颈等都已成为目前亟待解决的技术难题~- 环境
记一次存储故障的排查过程
高可用真是一丝细节都不得马虎。平时跑的好好的系统,在相应硬件出现故障时就会引发出潜在的Bug。偏偏这些故障在应用层的表现稀奇古怪,很难让人联想到是硬件出了问题,特别是偶发性出现的问题更难排查。今天,笔
如何修改 Nginx 源码实现 worker 进程隔离
最近我们线上网关替换为了 APISIX,也遇到了一些问题,有一个比较难解决的问题是 APISIX 的进程隔离问题。
年纪轻轻,为什么要搞中间件开发?“路怎么走,让你们自己挑”
作者:小傅哥博客:[https://bugstack.cn](https://bugstack.cn)沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言`年纪轻轻,为什么要搞中间件开发?`五年
Netty + JavaFx 实战:仿桌面版微信聊天
作者:小傅哥博客:[https://bugstack.cn](https://bugstack.cn) 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言本项目是作者小傅哥使用```JavaF
笔记整理:技术架构涵盖内容和演变过程总结
前言架构,说的是开发用的框架吗?对于刚接触编程的新人来说,可能并不能很清楚的知道架构是怎么来的,都包括什么内容。如果非得说什么架构,那么可能就是目前在 IDEA 中打开的工程就是架构。抛开技术圈内的架
90%的程序员,都没用过多线程和锁,怎么成为架构师?
作者:小傅哥博客:[https://bugstack.cn](https://bugstack.cn)Github:[https://github.com/fuzhengwei/CodeGuide/w
记一次k8s pod频繁重启的优化之旅
记一次k8s pod频繁重启的优化之旅
微服务3:微服务拆分策略
前面我们学习了微服务的全景架构,了解到相对于传统单体架构,微服务的优势,以及系统服务化的发展趋势。  对于新启动的项目,我们在权衡之后可以大方的使用微服务架构。但其实大部分情况下,我们还要去维护一些以前研发的单体系统,这些系统可能因为访问流量的膨胀、功能的扩张而显得非常臃肿不堪,急需要向微服务架构
微服务1:微服务及其演进史
0 微服务系列微服务1:微服务及其演进史微服务2:微服务全景架构 1 传统单体系统介绍在很多项目的业务初期阶段,高速迭代上线是首要考虑的事情,对后期的容量预估、可扩展性和系统健壮性、高可用一般没有那么重视。但随着业务的发展,用户量、请求量的暴增,发现原来的单体系统已经远远不
微服务2:微服务全景架构
微服务架构中的 每个节点高度服务化,都是具有业务逻辑的, 符合高内聚、低耦合原则以及单一职责原则的单元,包括数据库和数据模型; 不同的服务通过“管道”的方式灵活组合,从而构建出庞大的系统。
架构与思维:一次缓存雪崩的灾难复盘
云办公系统用户实时信息查询功能优化发布之后,系统发生宕机事件(系统挂起,页面无法加载)。
架构与思维:高并发下幂等性解决方案
幂等函数(幂等方法),是指使用相同的参数结构重复执行,产生相同的结果的函数,重复执行幂等函数不会影响系统的状态或者造成改变。
一次线上事故,我顿悟了异步的精髓
在高并发的场景下,异步是一个极其重要的优化方向。前段时间,生产环境发生一次事故,笔者认为事故的场景非常具备典型性 。写这篇文章,笔者想和大家深入探讨该场景的架构优化方案。希望大家读完之后,可以对异步有更深刻的理解。1 业务场景老师登录教研平台,会看到课程列表,点击课程后,课程会以视频的形式展
架构与思维:高并发下解决主从延时的一些思路
1 回顾下MySQL主从复制主从复制,是指建立一个和主数据库完全一样的数据库环境(称为从数据库),并将主库的操作行为进行复制的过程:将主数据库的DDL和DML的操作日志同步到从数据库上,然后在从数据库上对这些日志进行重新执行,来保证从数据库和主数据库的数据的一致性。1.1 为什么要做主从复制
假如我是核酸系统架构师
成都核酸检测系统“崩溃”事件,将东软推至风口浪尖,同时也在技术圈内引发了广泛的讨论。
【全网首发】微服务10:系统服务熔断、限流
分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务。如下图,对于同步调用,当库存服务不可用时,商品服务请求线程被阻塞,当有大批量请求调用库存服务时,最终可能导致整个商品服务资源耗尽,无法继续对外提供服务。并且这种不可用可能沿请求调用链向上传递,这种现象被称为雪崩效应
看完这一篇,ShardingSphere-jdbc 实战再也不怕了
谈到分库分表中间件时,我们自然而然的会想到 ShardingSphere-JDBC 。 这篇文章,我们聊聊 ShardingSphere-JDBC 相关知识点,并实战演示一番。
分布式:分布式系统下的唯一序列
1 介绍在分布式系统中,由于涉及到多个不同业务module的交互,以及高并发的场景。我们需要系统能够生成一个跨业务module的全网唯一序列号,来保证我们业务操作的独立性和唯一性。 在常见的业务场景中,比如全局订单Id,唯一标识的支付编号等,都需要这个来保证。那生成ID都有哪些解决
微服务5:服务注册与发现(实践篇)
★微服务系列微服务1:微服务及其演进史微服务2:微服务全景架构 微服务3:微服务拆分策略微服务4:服务注册与发现微服务5:服务注册与发现(实践篇)1 服务注册中心前面我们对业内几种比较常见的注册中心做了介绍:Eureka、Zookeeper、Consul、Etcd。并且在
【全网首发】Spring DeferredResult 是个什么玩意?
大家好,我是yes。今天我们就来盘一下 Spring DeferredResult,这玩意使用起来是很简单的,回答的话可深可浅。浅一点就是直接回答它的作用,深一点的话就是原理了,而这个原理其实还需要涉及到 tomcat (默认 tomcat 为 web 容器)。我们先来看下 DeferredR
如何监控 Log4j2 异步日志遇到写入瓶颈
在之前的一篇文章中(一次鞭辟入里的 Log4j2 异步日志输出阻塞问题的定位),我们详细分析了一个经典的 Log4j2 异步日志阻塞问题的定位,主要原因还是日志文件写入慢了。并且比较深入的分析了 Log4j2 异步日志的原理,最后给出了一些解决方案。
【译】Java、Go 和 Python三种语言的多线程性能比较
通过经典矩阵乘法算法、快速排序算法和康威生命游戏的并行实现,分析和比较 Java、Go 和 Python 使用它们的并行工具解决几种算法的性能。
【全网首发】如果我们是那晚负责修复 B 站崩了的开发人员
大家好,我是 yes。早在十几天前,我就看到了 B 站发的那篇解释一年前网站崩溃的文章。当时的第一反应是时间过得真快,总觉得 B 站崩了仿佛在昨日,脑子里还能浮现当时热闹的微博和朋友圈的画面。那时候我还加班加点写了一篇文章:我是小R,昨晚我好像把B站搞崩了!根据当时的场景,我分析的原因是 C
读完 RocketMQ 源码,我学会了如何优雅的创建线程
RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时、高可靠的消息发布与订阅服务。这篇文章,笔者整理了 RocketMQ 源码中创建线程的几点技巧,希望大家读完之后,能够有所收获。1 创建单线程首先我们先温习下常用的创建单线程的两种方式:实现 Runnab
高并发存储优化篇:诸多策略,缓存为王
Part1、缓存是什么1.1存储宕机的致命代价2015年5月28号,携程网站和APP全面瘫痪持续12小时,数据库被物理删除的消息在朋友圈风传。按上季度财报估算,此次宕机直接影响携程营收大约1200w美元,携程股价也大跌11%。这还只是发生在互联网刚刚普及的2015年。如果发生在现在。。。据公司
实现定时任务的六种策略
这篇文章,我们聊聊实现定时任务的六种策略。1 自定义单线程上图中,我们启动一个线程,该线程无限循环执行,每隔20毫秒执行业务代码。这种方式非常简单易用,在很多中间件中得到广泛应用。2 JDK ScheduledExecutorServiceScheduledExecutorServic
Redis 高负载下的中断优化
本文转自美团技术团队博客,原文链接:https://tech.meituan.com/2018/03/16/redis-high-concurrency-optimization.html 背景201
微服务4:服务注册与发现
★ 微服务系列微服务1:微服务及其演进史微服务2:微服务全景架构 微服务3:微服务拆分策略微服务4:服务注册与发现1 微服务的注册与发现我们前面在全景架构中对服务注册与发现做了大致的说明,本章我们着重详细说明微服务下注册与发现的这个能力。微服务注册与发现类似于生活中的"电话
【全网首发】微服务11:熔断、降级的Hystrix实现(附源码)
微服务1:微服务及其演进史微服务2:微服务全景架构微服务3:微服务拆分策略微服务4:服务注册与发现微服务5:服务注册与发现(实践篇)微服务6:通信之网关微服务7:通信之RPC微服务8:通信之RPC实践篇(附源码)微服务9:服务治理来保证高可用微服务10:系统服务熔断、限流1 介绍
【全网首发】你管这玩意儿叫高并发?(一)
你好,我是坤哥准备写一个针对高并发的系列,今天我们先聊一下高并发下的网络 IO 模型设计高并发即我们所说的 C10K(一个server 服务 1w 个 client),C10M,写出高并发的程序相信是每个后端程序员的追求,高并发架构其实有一些很通用的架构设计,如无锁化,缓存等,今天我们主要研究下
【全网首发】浅谈长连接负载均衡
hello,大家好,我是小楼,终于忙完了一阵,今天来更新一篇长连接的负载均衡问题。 首先说明下,长连接我不是专业的,只是在工作上有一点点的接触,分享也是基于一点点的经验和一些思考,如有出入,欢迎私聊。
借助SpotBugs将程序错误扼杀在摇篮中
推荐一个静态扫描工具SpotBugs,让你提前发现bug,下班没烦恼
祖传代码如何优化性能?
hello大家好呀,我是小楼~今天又带来一次性能优化的分享,这是我刚进公司时接手的祖传(坏笑)项目,这个项目在我的文章中屡次被提及,我在它上面做了很多的性能优化,比如《记一次提升18倍的性能优化》这篇文章,比较偏向某个细节的优化,本文更偏向宏观上的性能优化,可以说是个老演员了。背景为了新
Java:基于AOP的动态数据源切换(附源码)
1 动态数据源的必要性我们知道,物理服务机的CPU、内存、存储空间、连接数等资源都是有限的,某个时段大量连接同时执行操作,会导致数据库在处理上遇到性能瓶颈。而在复杂的互联网业务场景下,系统流量日益膨胀。为了解决这个问题,行业先驱门充分发扬了分而治之的思想,对大库表进行分割,然后实施更好的控制和
【译】比较低延迟消息队列中的持久性方法
Chronicle Queue Enterprise 的一个重要特性是支持跨多个服务器的 TCP 复制,以确保应用程序基础架构的高可用性。
【全网首发】架构与思维:互联网高性能Web架构
1 什么是高性能Web架构在互联网业务中,我们经常会面临流量巨大的复杂的分布式场景。这就要求我们在设计系统的时候保证系统具有承载高并发(High Concurrency)的能力,同时能够保证系统的高可用性(High Availability)。所以,具备高性能Web架构通常是指,通过稳健的系统
深度剖析 Seata TCC 模式【图解 + 源码分析】
Seata 目前支持 AT 模式、XA 模式、TCC 模式和 SAGA 模式,之前文章更多谈及的是非侵入式的 AT 模式,今天带大家认识一下同样是二阶段提交的 TCC 模式。
一个奇葩的线上问题,导致我排查了一天!
昨天线上又出了个问题,花了一天的时间才找到原因,说起来原因其实特别的坑爹啊。事情是这样的,最近我们上线了一个刷新用户 token 的功能,也就是 APP 里经常有的,只要你经常操作,就能让你一直保持在线状态,不用一直重新登录,需求就是这么一个并不复杂的需求,也很快的上线了。但是上线之后发现了一个
线上排查性能问题,这些命令你一定用得到!
收藏过去排查性能问题的一些常用命令,这些场景,你遇到过么?
一文读懂直播卡顿优化那些事儿
整体看直播卡顿这件事,从问题起因到解决思路。
架构与思维:分布式锁方案分析
前面的文章我们介绍了分布式系统和它的CAP原理:一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)。参考这篇《分布式事务》 我们知道,一个分布式系统无法同时满足三个特性,所以在设计系统之初,就有一个特性要被妥协和牺牲,因为分区
【全网首发】盘点低延时网络架构中使用的那些黑科技!
大家好,我是飞哥!最近我简单研究了一下低延迟网络架构,今天和大家分享分享。谈到优秀的低延时网络架构,大家首先可能想到的是各家互联网大厂,比如腾讯阿里字节,总会觉得大厂做的肯定最好。但其实在在一般的互联网应用中,用户虽然也讨厌卡顿,但整体上来对延迟其实并不算太敏感,只要按钮点下后一秒之内能响应,用户
微服务9:服务治理来保证高可用
★微服务系列微服务1:微服务及其演进史微服务2:微服务全景架构 微服务3:微服务拆分策略微服务4:服务注册与发现微服务5:服务注册与发现(实践篇)微服务6:通信之网关微服务7:通信之RPC微服务8:通信之RPC实践篇(附源码)微服务9:服务治理来保证高可用1 微服务带来的挑战在第2篇《微服务
近期业务大量突增微服务性能优化总结-4.增加对于同步微服务的 HTTP 请求等待队列的监控
最近,业务增长的很迅猛,对于我们后台这块也是一个不小的挑战,这次遇到的核心业务接口的性能瓶颈,并不是单独的一个问题导致的,而是几个问题揉在一起:我们解决一个之后,发上线,之后发现还有另一个的性能瓶颈问
面试官问我:什么是高并发下的请求合并?
我重新给个我觉得合理的场景,告诉大家我理解的请求合并和高并发下的请求合并是什么玩意。
【译】设计分布式系统时,我们容易忽视的8个经典错误假设
你在做分布式系统吗?微服务、Web API、SOA、Web服务、服务器、数据库、缓存、负载均衡——是不是把这些组合到一起就行了呢?当然不是,分布式系统不仅仅要组合在一起,更重要的是它们之间如何高效的合作。20 多年前,Peter Deutsch 和 James Gosli
掌握四种强大且隐秘的缓存,内功更进一步
这篇文章,笔者想聊聊缓存,只不过并不是大家耳熟能详的 Redis ,而是那些隐藏在中间件或者框架中强大却又隐秘的缓存,笔者愿称他们为缓存世界的扫地僧
从全局角度,如何设计一个秒杀系统?
大家好,我是树哥。秒杀系统的设计是高级职位面试中非常高频的一道题目,它可以较好地考察候选人的知识体系情况。对于我们来说,学习秒杀系统的设计,能够让我们学以致用,设计系统的时候考虑得更加全面。今天就让树哥带你一起来看看怎么设计一个秒杀系统!活动一般出现在电商的促销活动中,一般是指定了很少数量的商
微服务7:通信之RPC
★微服务系列微服务1:微服务及其演进史微服务2:微服务全景架构 微服务3:微服务拆分策略微服务4:服务注册与发现微服务5:服务注册与发现(实践篇)微服务6:通信之网关微服务7:通信之RPC1 什么是RPC通信RPC:Remote Procedure Call Prot
【升职加薪秘籍】我在服务监控方面的实践(1)-监控蓝图
如何对线上服务进行监控,内容涉及到的指标设计,软件配置,监控方案等等你都可以拿来直接复刻到你的项目里,这是一套非常适合中小企业的监控体系
可恶,又是个线上问题!
这几天,在搞 ShardingSphere,这不又来了一个问题嘛,启动的时候报了一个NPE出来。好在,这个问题不影响使用,只是启动会报点错,接下来,又是辛苦的排查过程。直接定位到报错的地方,发现是ShardingSphere在启动时候去加载表一些元数据信息报错,看到这个地方就很明显的猜测是 m
学会这几招让 Go 程序监控自己的性能
谈到让Go程序监控自己进程的资源使用情况,那么就让我们先来谈一谈有哪些指标是需要监控的,一般谈论进程的指标最常见的就是进程的内存占用率、CPU占用率、创建的线程数。因为Go语言又在线程之上自己维护了Goroutine,所以针对Go进程的资源指标还需要加一个创建的Goroutine数量。又因为现在服
聊聊 RocketMQ 名字服务
NameServer 是专为 RocketMQ 设计的轻量级名字服务,它的源码非常精简,八个类 ,少于1000行代码。
微服务8:通信之RPC实践篇(附源码)
★微服务系列微服务1:微服务及其演进史微服务2:微服务全景架构 微服务3:微服务拆分策略微服务4:服务注册与发现微服务5:服务注册与发现(实践篇)微服务6:通信之网关微服务7:通信之RPC微服务8:通信之RPC实践篇(附源码)1 说明上一节我们我们详细学习了RPC的概念和原理,以及它能够提供
从RabbitMQ平滑迁移至Kafka架构设计方案
历史原因,公司存在多个 MQ 同时使用的问题,我们中间件团队在去年下半年开始支持对 Kafka 和 Rabbit 能力的进行封装,初步能够完全支撑业务团队使用。
来这公司一年碰到的问题比我过去10年都多
无意间发现我们 Kafka 管理平台的服务的 open files 和 CPU 监控异常,如下图,有一台机器 CPU 和 opfen files 指标持续在高位,尤其是 open files 达到了4w+。原因分析第一反应是这个服务请求很高?但是这个服务是一个管理服务不应该有很高的请求量才对
基于开源方案构建统一的文件在线预览与office协同编辑平台的架构与实现历程
在构建业务系统的时候,经常会涉及到对附件的支持,继而又会引申出对附件在线预览、在线编辑、多人协同编辑等种种能力的诉求。
微服务6:通信之网关 Ready
★微服务系列微服务1:微服务及其演进史微服务2:微服务全景架构 微服务3:微服务拆分策略微服务4:服务注册与发现微服务5:服务注册与发现(实践篇)微服务6:通信之网关1 概述回顾下前面几篇关于微服务的介绍,我们可以了解到从当单体系统到微服务,再到服务网格的演进过程。那单体
【译】Maven 实现高可用性 (HA) 的 7 个小技巧
每家公司都喜欢 HA,仅仅是因为它使他们的服务在任何给定时间都可用且更可靠。以下是实现 HA 的七个技巧。
面对千万级、亿级流量怎么处理?
怎么设计高并发系统这个问题本身他是不难的,无非是基于你知道的知识点,从物理硬件层面到软件的架构、代码层面的优化,使用什么中间件来不断提高系统的抗压能力。
【全网首发】架构与思维:熔断限流的一些应用场景
1 前言在《微服务系列》中,我们讲过很多限流,熔断相关的知识。老生长谈的一个话题,服务的能力终归是有限的,无论是内存、CPU、线程数都是,如果遇到突如其来的峰量请求,我们怎么友好的使用限流来进行落地,避免整个服务集群的雪崩。峰量请求主要有两种场景:1.1 突发高峰照成的服务雪崩如果你的服务
如何设计一个秒杀系统
文章导读前言说起秒杀,我想你肯定不陌生,从每年双 11、618 购物节,再到 12306 抢火车票,秒杀的场景处处可见。我们就要想了:为什么需要秒杀系统?秒杀系统最大的优势是什么?我们知道,电商平台的本质是在线上撮合买卖双方的购销需求,达成交易。虽然是线上交易,但也遵守朴素的
【译】关于高线程 I/O 密集型 Linux 容器和CPU时间的思考
在 Kubernetes 上运行的高线程 I/O 密集型 Linux 容器将拥有它们所需的所有 CPU 时间——这会成为现实吗?
可观测性:如何使用 OpenTelemetry进行端到端的追踪
追踪是可观察性的支柱之一,本文简单介绍了使用 OpenTelemetry进行全局追踪的逻辑。
【译】一篇简单介绍负载均衡器的原理,类型和选择逻辑
了解负载均衡器是如何开始使用的,以及不同类型的负载均衡器如何帮助应用程序处理大容量流量以获得最佳性能。
【全网首发】MQ系列13:消息大量堆积如何为解决
MQ系列1:消息中间件执行原理MQ系列2:消息中间件的技术选型MQ系列3:RocketMQ 架构分析MQ系列4:NameServer 原理解析MQ系列5:RocketMQ消息的发送模式MQ系列6:消息的消费MQ系列7:消息通信,追求极致性能 MQ系列8:数据存储,消息队列的高可用保障
高可用核心原理综述!
导读:天天评估系统可用性,每次说5个9 、6个9,那么,可用性到底该怎么评估,几个9又是怎么算出来的呢?而我们又可以做些什么,来保障系统的高可用呢?Part One 可用性概念一览永不停机总归是不现实的。那么,在可操作性的范围内,怎样把影响降到最小,而影响又该怎么衡量呢?概念一:MTBF
如何调用一个只支持batch_call的服务?
 我们先来说下标题是什么意思。 为了更好的理解我说的是啥,我们来举个例子。假设你现在在做一个类似B站的系统,里面放了各种视频。用户每天在里头上传各种视频。按理说每个视频都要去审查一下有没有搞颜色,但总不能人眼挨个看吧。毕竟唐老哥表示这玩意看多了,看太阳都是绿色
高并发服务优化篇:浅谈数据库连接池
被N多大号转载的一篇CSDN博客,引起了我的注意,说的是数据库连接池使用threadlocal的原因,文中结论如下图所示。来自CSDN的一篇文章,被很多号转载过姑且不谈threadlocal的作用和工作原理,单说数据库连接池这个知识点,猛地一看挺有理;仔细一看,怎么感觉不太对啊,同学,这是什么
【云原生 • Prometheus】图解Prometheus数据抓取原理
discovery模块利用各种服务发现协议发现目标采集点,并通过channel管道将最新发现的目标采集点信息实时同步给scrape模块,scrape模块负责使用http协议从目标采集点上抓取监控指标数据。
架构演变之路:为何要搞微服务架构?
为什么我们要搞微服务架构,一个项目把代码从头撸到尾不是很方便吗,开发更快速,部署也容易。而且一提起微服务,涉及的技术就一大堆,好像几辈子也学不完。
Map传参优雅检验,试试json schema validator
Map一撸到底的传参方式,如何优雅的检验参数,试试json schema validator
【全网首发】微服务14:微服务治理之重试
★微服务系列微服务1:微服务及其演进史微服务2:微服务全景架构 微服务3:微服务拆分策略微服务4:服务注册与发现微服务5:服务注册与发现(实践篇)微服务6:通信之网关微服务7:通信之RPC微服务8:通信之RPC实践篇(附源码)微服务9:服务治理来保证高可用微服务10:系统服务熔断
架构杂谈—互联网系统架构演进
随着业务的发展,对系统的处理能力、高可用性也就提出了越来越高的要求,在单节点的基础上,集群架构应运而生
Go 服务进行自动采样性能分析的方案设计与实现
线上服务的性能分析,一直以来都是比较难的点,主要是难在无法在性能出现异常的当时捕捉到现场信息。有人可能会说,这有什么难的,直接用 Go 工具集里的 pprof 访问一下,进行采样拿下来分析就行了。话虽不假,不过抛开现实场景谈解决方案一般都会非常打脸,真的不行。
【全网首发】微服务12:流量策略
★微服务系列微服务1:微服务及其演进史微服务2:微服务全景架构 微服务3:微服务拆分策略微服务4:服务注册与发现微服务5:服务注册与发现(实践篇)微服务6:通信之网关微服务7:通信之RPC微服务8:通信之RPC实践篇(附源码)微服务9:服务治理来保证高可用微服务10:系统服务熔断
【译】什么时候应该给程序上性能监控?为什么,怎么上?
分享在多年程序项目经验中对于“性能监控”的理解,了解性能监控的必要性,可能性已经需要注意的地方。
真理大讨论:Service层的接口是不是多此一举?
分歧出现的背景这是谁的问题?代码架构的问题?有什么问题?解决问题的思路是什么?总结背景这个问题要从业界鼎鼎大名的三层架构说起: 表示层、业务逻辑层、数据访问层。似乎从一开始接触写代码,好像就有一个不成文的规定,Service 层往往要写一个 
高并发系列:存储优化之也许可能是史上最详尽的分库分表文章
Part1、库表会在哪天到达瓶颈?1.1苏宁拼购百万级库表拆分之前苏宁拼购,苏宁易购旗下的电商App,18年7月累计用户突破3000万。面对千万级日活 + 千万级日新增SKU + 千万级日均订单,拼购的单库每天增长数据超1亿,峰值10万QPS并发,每个月要搞一次数据迁移。庞大的数据量,对数
【全网首发】抛砖系列之k8s HorizontalPodAutoscaler(HPA)
“高可用、高并发、大流量”这些曾经似乎只会出现在互联网业务中的高大上词汇,现在已然是随处可见,不管真实业务场景会不会出现,对外宣称时都会标榜这类特性,要支持这类特性有一个极其基础的能力是必须具备的,那就是扩容,而扩容一般又分为垂直扩容和水平扩容,最为广泛的属水平扩容。
高并发存储番外篇:Redis套路,一网打尽
Part1、Redis为什么这么快1.1数据结构SDS的妙用我们知道redis的底层是用c语言来编写的,但是,数据结构确没有直接套用C的结构,而是根据redis的定位自建了一套数据结构。C语言中的字符串结构:SDS定义下的字符串结构:可以看到,相比于C语言来说,也就多了几个字段,分别用
【全网首发】微服务13:云基础场景下流量策略实现原理
★微服务系列微服务1:微服务及其演进史微服务2:微服务全景架构 微服务3:微服务拆分策略微服务4:服务注册与发现微服务5:服务注册与发现(实践篇)微服务6:通信之网关微服务7:通信之RPC微服务8:通信之RPC实践篇(附源码)微服务9:服务治理来保证高可用微服务10:系统服务熔断
【全网首发】微服务15:微服务治理之超时
★微服务系列微服务1:微服务及其演进史微服务2:微服务全景架构 微服务3:微服务拆分策略微服务4:服务注册与发现微服务5:服务注册与发现(实践篇)微服务6:通信之网关微服务7:通信之RPC微服务8:通信之RPC实践篇(附源码)微服务9:服务治理来保证高可用微服务10:系统服务熔断
编写自定义SpringData Repository的最佳方式是什么?
在本文中,我将向你展示编写自定义 Spring Data Repository 的最佳方法。虽然默认JpaRepository方法以及查询方法在许多情况下都非常方便,但有时你可能需要可以利用任何 JPA 提供程序特定功能的自定义 Repository 方法。
一言不合就重构
hello,大家好呀,我是小楼。前段时间不是在忙么,忙
聊聊本地缓存和分布式缓存
**缓存**,消息队列,分库分表是高并发解决方案三剑客。 缓存之所以能够让系统“更快”,本质上做到了如下两点: - 减小 CPU 消耗 将原来需要实时计算的内容提前算好、把一些公用的数据进行复用,这可以减少 CPU 消耗,从而提升响应性能。 - 减小 I/O 消耗 将原来对网络、
高并发系列:垂直性能优化之细说负载均衡
高并发是业务发展到一定阶段必须面对的问题,那么面对高并发的问题,我们可以从哪些方面入手优化呢?垂直性能优化 [包含整体层面的负载均衡、中间件异步化、存储优化、代码层面调优、jvm容器调优等等]整体可用性优化 [包含服务治理、服务保护、可靠性保障、生产验证、故障演练等等]水平扩展提升 [包含分
用 Seata 搞定分布式事务的规范化建设-赋能产研|提质增效
一、背景随着微服务架构的演进,单体应用按照服务维度进行拆分,组织架构也随之演进以横向、纵向维度拆分;导致了原来调用一个服务的一个接口就完成的功能,现在需要协同调用多个服务的多个接口才能完成。原来在一个库中就完成的功能,现在可能要涉及多个库的多张表,通常还会有多种存储介质一起协作以支撑数
高并发系列:架构优化之从BAT实际案例看消息中间件的妙用
1、是什么?为什么?1、什么是消息队列说到Java中的队列应该都不会陌生。其具有通过先进先出,或者双端进出的方式进行数据管理;通过阻塞以达到自动平衡负载的功能。消息队列之所以以队列命名,起初也是因为其功能和操作,和java的本地队列有相似之处。所以,我们可以简单的认为消息队列就是为了满足分布式

有开始,就会有进​步!

在追求性能的道路上,记录每一刻的成长!源码解读,编程技巧,外文翻译,技术实践,线上案例等等,记录自己,启发他人!

专家作者推荐

巡山小汪

关注微信公众号《解Bug之路》,有问题请在公众号中咨询:) 无论多么艰苦的时刻,都不要忘记,辉煌的未来,在你的眼中闪耀!

飞哥开发内功

《深入理解Linux网络》作者,腾讯搜狗十年工程师,公众号「开发内功修炼」作者!

踩刀诗人

聊聊技术,唠唠段子,偶尔做菜写诗,欢迎关注我的公众号 踩刀诗人

Brand

搜索关注微信公众号【架构与思维】:撰稿者为bat、字节的几位高阶研发/架构,专注技术分享。

专题推荐

Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,作为一个ios、androd和web兼容的开发平台,Flutter赢得了很多大厂前端工程师的喜爱,而掌握熟练的Flutter开发和优化技术也是进入阿里系、美团、携程、京东、腾讯等公司必不可少的敲门砖,本周的专题给大家带来的就是Flutter的应用实战,希望大家在阅读的同时多多思考!
8篇文章11427阅读量
通过阅读 Redis 源码,可以学习和掌握到的计算机系统设计思想,redis 涉及的知识点有很多,本期专题我们由浅入深,简洁的给大家剖析Redis源码。
15篇文章31337阅读量