05 2017 档案
摘要:大文件拆分问题涉及到io处理、并发编程、生产者/消费者模式的理解,是一个很好的综合应用场景,为此,花点时间做一些实践,对相关的知识做一次梳理和集成,总结一些共性的处理方案和思路,以供后续工作中借鉴。
本文将尝试由浅入深的方式表述大文件拆分的问题及不同解决方案,给出的方案不一定是最优解,也并非线上环境论证过的靠谱方式,目的只是在于通过该问题融会贯通io、多线程等基础知识理论。生产环境请慎用。
本文不会逐行讲解代码实现,而注重在方案设计及思路探讨上,会在文末附上源码demo git地址。
阅读全文
摘要:java中常用的文件写入方式有:FileChannel,BufferedOutputStream,FileOutputStream,BufferedWriter,FileWriter;本文通过简单的实验讨论不同文件大小写入场景下,何种写入方式的效率最高,以及可能遇到的一些问题。
阅读全文
摘要:如何确保高并发下网站的高可用性?基本思路:解耦、集群、负载均衡、按需扩展、缓存、动静分离、读写分离、分库分表。
阅读全文
摘要:线上故障通常是指大规模的影响线上服务可用性的问题或者事件,通俗点讲就是:掉‘坑’里了,这个‘坑’就是线上故障!线上故障的处理过程可以形象地表达为:‘踩坑’、‘跳坑’、‘填坑’、‘避坑’。
线上故障的处理不仅是一项技术活,更是对技术人员/技术团队反应能力、决策能力、判定能力、组织能力的考验。面对突发的生产故障,需要快速定位问题,找到解决方案,快速实施解决方案并不是一件容易的事情。本文主要包括如下内容:线上故障处理的目标、思路、步骤、基础设施。
阅读全文
摘要:系统背景介绍 用户系统负责用户生命周期管理,包括注册、登陆、用户信息获取等,其作为基础服务只提供内网服务,简称为service;application组件包装service的服务对app渠道提供服务;service前面使用F5作为负载均衡器。 架构简图如下: 线上故障事件描述 上午9点50分,监控系
阅读全文