前几天,接到研发同事反馈,内网通过 Nginx 代理下载 OSS 的大文件时,老是会断,而在服务器上下载时却很正常,非常奇怪。原本以为可能和 VPN 有关,经确认排除嫌疑。彷徨了许久,最后发现是 Nginx Buffer 的锅。下面就来聊聊这个问题是怎么发生的。
某天收到频繁的告警邮件,定时任务调度失败,查看 xxl-job 的执行器列表是空的,但是服务又显示健康,查看历史任务执行记录发现执行器是依次递减,由于是线上服务,只能先重启,然后线程日志也没有,同时尝试访问服务的健康检查接口,发现健康检查接口访问不通,应该是服务已经挂了,但是因为服务配置的是 TCP 健康检查,握手其实没问题,所以没有检测出来服务异常(血淋淋的教训)。
想象一下,你被送到一片原始热带雨林,进行野生动物普查。每当看到一只动物,拍一张照片。
项目中E端有一个订单导出的功能能(导出销售订单或者销售退单,导出列颇多,且必须满足实时数据)。我们使用POI导出数据,并且后端加了熔断措施,导出限流,大促期间导出开关控制。相对来说有了这些机制线上应用不会因为导出操作流量过大内存爆掉,也保证了应用安全稳定的运行,但是最近监控发现导出操作性能急剧下降(数据量已经超过3百万),先看看监控。
2012~2014年,我们的业务开始使用一种新的互联网销售模式——秒杀抢购,一时间,各个产品线开始纷纷加入进来,今天秒杀门票,明天秒杀酒店,等等。各种活动是轮番登场,用户在不亦乐乎地玩着秒杀活动的同时,也对后端技术的支撑提出了一波又一波的挑战。
PS:调优还是报表工具,主要是一些细节,并不会记下来,这么多工具,思路很重要,知道有这个工具可以干这个事情,大概可以分析什么东西,内存的问题,大部分情况都是可以预防,问题定位比较直接,工具也比较多。问题出现不好回复。内存慢慢堆积升高,是可以通过监控工具发现的。宕机之前解决。开发时,
岳毅,携程高级研发经理,负责酒店数据智能平台研发,大数据技术创新工作。喜欢探索研究大数据的开源技术框架。
从今年7月到现在转眼间转岗到淘宝部门已经有小半年了,最近刚刚经历人生中第一次双11实战,体验了一把系统经受高并发高流量的冲击的感觉,一个字爽,作为小白,在这小半年里面收获颇多,一个感悟是实战是提高一个人能力的唯一真理,只有真的动手去做了,才会知道会遇到什么问题。日常做项目时候不怕遇到问题如何解决,最怕有些情景考虑不到,而后者是需要经验累积起来的,一方面是试错的累积,一方面是通过书本或者思考源码得来的。来淘宝这半年来为了能够学到更多,从来不敢浪费时间,一边欣赏这人家如何用代码解决高并发高流量问题,一边学着人家如何用工具快速高效的查询系统瓶颈与查找线上问题。
Find the way by yourself! And Trust You! 《光城》
最近遇到一个问题,可能很多人也遇到过:由于业务量的增长,缓存节点个数不够用了。现在的Redis-Cluster直接就加个节点就解决了,但是之前Redis-Cluster不稳定时,我们并不敢用这个,而是通过自己实现分布式缓存Redis实现,在遇到这个问题时,碰到不少麻烦。
群友遇到问题:为了上 CDN,添加 CNAME 时提示和 A 记录冲突,不知道怎么办了过来问。这问题稍微有点经验的人都知道如何解决,可偏偏就是一个新手遇到了,很耐心的告诉他要先删除掉 A 记录,然后再添加 CNAME 记录就没问题了。
大型互联网需要面对高并发的访问用户,比如在天猫“双11”的时候,一分钟之内,有超过一千万的独立用户访问整个天猫系统,大规模的并发用户访问会对系统的处理能力造成巨大的冲击,系统必须要有足够强的处理能力才能够满足。同时有这么多用户来访问,产生了巨大的访问流量,对系统的抗压能力形成了考验。
众所周知,证书是一种能够在服务器和浏览器之间的信息交换过程中实现通信安全的有效工具,在企业网站、邮件和文档等安全保护中扮演着重要角色。 而一个重要数据现实是,我国99.99%网站系统都是在使用国外CA签发的RSA SSL证书。但国际形势急剧变化、贸易战不断升级,此前微软还把“贸易制裁” 列为微软全球信任根认证计划的评估条件之一,中国有可能成为继“古巴、朝鲜、叙利亚和伊朗”之后不允许全球CA签发RSA SSL证书的国家之一。 因此,我国必须建立自主可控的HTTPS加密“备胎”方案,如果RSA证书等产品对我国
哈喽~,大家好,我是千羽。下面分享我认识的一位大佬华中科技大学985硕,字节秋招一面, 这一面整体上问了计算机基础+基本算法+项目场景题。
如:当系统数据量上了10亿、100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题:
redis 提供 6种数据淘汰策略: 大体上:是可以从设置过期时间数组集里挑选最少使用的或者将要过期的或者任意数据淘汰,也可以禁止淘汰 具体的:
这种情况下,浏览器下载时展示在状态栏上的名字,浏览器就自由发挥了,目前浏览器的命名规则是将url上的非法字符去掉,然后拼一下。
我在上一篇文章中,我谈到了微服务中涉及到的设计模式。现在,我想深更深入介绍微服务架构中最重要的设计模式:微服务之间的数据通讯。当我们用于开发独立应用程序时通讯是一个艰巨的任务。我们必须仔细设计数据库表之间的关系和对象模型映射。在微服务的世界,应用系统被拆分成单独的服务,需要创建一个网格网络来进行相互通信。让我们来谈谈迄今为止为解决这个问题而发展起来的所有通讯方式和模式。
http://www.searchdoc.cn/rdbms/mysql/dev.mysql.com/doc/refman/5.7/en/index.com.coder114.cn.html
作者介绍: 姓名:李航 github:https://github.com/lidaohang
本次我们来实现一个支持百万并发连接数的采集服务器,并且找到异步+ NIO 的编程方式和实时流模型的那些千丝万缕的联系。
本栏目Java开发岗高频面试题主要出自以下各技术栈:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ消息队列、Linux操作技巧等。
题记 Elasticsearch研究有一段时间了,现特将Elasticsearch相关核心知识、原理从初学者认知、学习的角度,从以下9个方面进行详细梳理。欢迎讨论…… 0. 带着问题上路—ES是如何产生的? ---- (1)思考:大规模数据如何检索? 如:当系统数据量上了10亿、100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题: 1)用什么数据库好?(MySQL、sybase、Oracle、达梦、神通、MongoDB、Hbase…) 2)如何解决单点故障;(lvs、F5、A10、Zoo
大家好,我是蓝蓝,今天和出版社沟通,给大家送三本书,再次感谢出版社,大家在文末参加抽奖即可,一共三本。
鉴于昨天的文章<<使用Interlocked在多线程下进行原子操作,无锁无阻塞的实现线程运行状态判断>>里面有一个封装好的无锁的类库可以判断并发下的结束状况,我们可以完成并发时,以及并发的同时做一些事,因此,今天我做了个小demo:
G1收集器是一款面向服务器的垃圾收集器,也是HotSpot在JVM上力推的垃圾收集器,并赋予取代CMS的使命。为什么对G1收集器给予如此高的期望呢?既然对G1收集器寄予了如此高的期望,那么他一定是有其特别之处。他和其他的垃圾收集器有何不同呢?下面我们将从以下几个方面研究G1收集器。
Redis 作为缓存服务器是众多企业中的选择之一,虽然该技术很成熟但也是存在一定的问题。就是缓存带来的缓存穿透,缓存击穿,缓存失效问题,继而引用分布式锁。
在高并发的情况下,我们可以把消息放入队列,在从队列消费,达到限流的目的。但这里说的限流指的是当我们请求其他服务器接口,防止高并发下把对面服务器压垮,于是对我们要求每秒限制在100QPS。
在Apache, PHP, mysql的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分。对于Discuz!论坛程序也是如此,MySQL的设置是否合理优化,直接 影响到论坛的速度和承载量!同时,MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识,同时还需要长时间的观察统计并且根据经验 进行判断,然后设置合理的参数。
一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过-XX:PermSize -XX:MaxPermSize 等参数调整其大小。 年轻代(New):年轻代用来存放JVM刚分配的Java对象 年老代(Tenured):年轻代中经过垃圾回收没有回收掉的对象将被Cop
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
昨晚我发文上线了自己的网站:小林的网站上线啦!,结果发文上线不到 10 分钟, 服务器就炸了,读者疯狂跟我说网站 500 错误了。
大佬总结的面试题纲: https://github.com/farmerjohngit/myblog/issues/21
InnoDB 存储引擎是以页为单位来管理存储空间的, 我们的增删改查操作本质上都是在访问页面, 如读取一条数据, 会把这个数据所在的页加载到内存中, 而不仅仅是这条数据本身, 这个页的默认大小是 16KB.
如:当系统数据量上了 10 亿、100 亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题: 1)用什么数据库好?(mysql、oracle、mongodb、hbase…) 2)如何解决单点故障;(lvs、F5、A10、Zookeep、MQ) 3)如何保证数据安全性;(热备、冷备、异地多活) 4)如何解决检索难题;(数据库代理中间件:mysql-proxy、Cobar、MaxScale 等;) 5)如何解决统计分析问题;(离线、近实时)
在一次正常的活动促销之后,客服开始陆续反馈有用户反应在抢标的时候打不开网页或者APP,在打开的时候标的就已经被抢光了,刚开始没有特别的上心,觉得抢标不就是这样吗,抢小米手机的时候也不就这样吗?随着活动继续推进,有更多的用户强烈抗议,用户领了加息卷或者抵现卷之后抢不上标的,认为是平台作假故意不让使用以达到节省资源。 分析过程 其实以前也会有陆续的用户反馈不减少,给客户以小米抢手机为例子忽悠了过去,这次用户反馈太过强烈,才让我们重视了起来。我们前端一共三款产品,app、官网、H5,其中app使用量最大,官网其次
在后端接口性能指标中一类重要的指标就是接口耗时。具体包括平均响应时间 TP90、TP99 耗时值等。这些值越低越好,一般来说是几毫秒,或者是几十毫秒。如果响应时间一旦过长,比如超过了 1 秒,在用户侧就能感觉到非常明显的卡顿。如果长此以往,用户可能就直接用脚投票,卸载我们的 App 了。
windows 64位可用,windows 10 64位测试通过,服务器、本地自己电脑都可以。
对于线上系统调优,它本身是个技术活,不仅需要很强的技术实战能力,很强的问题定位,问题识别,问题排查能力,还需要很丰富的调优能力。
Boost application performance using asynchronous I/O把同步阻塞、同步非阻塞、异步阻塞、异步非阻塞的模型讲得很清楚。
大家好,我是飞哥!前几天看到一个有意思的问题,我前几天在朋友圈分享了,今天再在公众号里给大家发一下。
腾讯云 AMD 云服务器成都云主机是腾讯云 AMD CPU的新主机类型,放置在成都节点。国内这些大商家很少有在大西南布置如此庞大规模的公有云,连阿里云也是只有私有云而不对外公开发售。趁着手里有台成都云服务器,老魏对它进行评测及提供如何选择的参考因素。
其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过-XX:PermSize -XX:MaxPermSize 等参数调整其大小。
我就不是这些闪耀的新星,我只是一名平庸的开发者。如果你也不是天才玩家,那么本文将指导你如何在这个行业中生存下去。
线上某集群峰值TPS超过100万/秒左右(主要为写流量,读流量很低),峰值tps几乎已经到达集群上限,同时平均时延也超过100ms,随着读写流量的进一步增加,时延抖动严重影响业务可用性。该集群采用mongodb天然的分片模式架构,数据均衡的分布于各个分片中,添加片键启用分片功能后实现完美的负载均衡。集群每个节点流量监控如下图所示:
flush溢写流程: hbase 2.0版本后的流程 随着客户端不断写入数据到达memStore中, memStore内存就会被写满(128M), 当memStore内存达到一定的阈值后, 此时就会触发flush刷新线程, 将数据最终写入HDFS上, 形成一个StoreFile文件 1) 当memStore的内存写满后, 首先将这个内存空间关闭, 然后开启一个新的memStore, 将这个写满内存空间的数据存储到一个pipeline的管道(队列)中 (只能读, 不能改) 2) 在Hbase的2.0版本后, 这个管道中数据, 会尽可能晚刷新到磁盘中, 一直存储在内存中, 随着memStore不断的溢写, 管道中数据也会不断的变多 3) 当管道中数据, 达到一定的阈值后, hbase就会启动一个flush的刷新线程, 对pipeline管道中数据一次性全部刷新到磁盘上,而且在刷新的过程中, 对管道中数据进行排序合并压缩操作, 在HDFS上形成一个合并后的storeFile文件
我个人认识一些非常有才华的开发人员,他们可以一帆风顺地创建极好的软件。正是这些天赋人士,使得外行人对我们这个行业充满了很高的期望。但我要说的一个可悲的事实是:并非每个人都是忍者/大师/明星开发者。
撇开题目不谈,我个人认识一些非常有才华的开发人员,他们可以一帆风顺地创建极好的软件。正是这些天赋人士,使得外行人对我们这个行业充满了很高的期望。但我要说的一个可悲的事实是:并非每个人都是忍者/大师/明星开发者。
领取专属 10元无门槛券
手把手带您无忧上云