分布式文件系统07-小文件系统的请求异步化高并发性能优化
小文件系统的请求异步化高并发性能优化
222_分布式图片存储系统中的高性能指的到底是什么?
重构系统架构,来实现一个高性能。然后就要做非常完善的一个测试,最后对这个系统做一个总结,说说后续我们还要做一些什么东西。另外,我还要给大家留一些作业,相当于是让大家课后自己去做的,就不是完全拷贝我的代码
高并发
前面已经通过Reactor模式实现了
高性能主要是两块
第一块:客户端现在是短连接,每次发送请求,都需要建立连接,然后断开连接。站在客户端的角度而言,发现每执行一次文件上传和下载的操作,速度都很慢
第二块:文件上传,需要多副本上传。一般来说,针对kafka,多副本的时候默认情况下只要写成功一个副本,就返回了。另外其他的副本的写都是异步慢慢来执行的,kafka采取的是副本pull数据的机制,只要在一个数据节点上写成功数据,别的数据节点会主从从这个写成功的数据节点上pull数据
Kafka,强调高性能,生产消息的行为都是尽快的可以完成
HDFS,不强调高性能,它主要针对的是几个GB的大文件上传到服务器上去,只要慢慢上传就可以了,速度慢点无所谓,只要能上传成功。所以,HDFS采用的是多个副本一定要依次上传成功,才可以说是本次文件上传成功了。所以,HDFS的上传速度肯定是很慢的,因为它们根本不强调文件上传过程的高性能。所以Kafka和HDFS的应用场景本身就不相同
高性能架构的重构
- 短连接 -> 长连接;
- 同步上传多副本 -> 写一个副本,其他副本在后台慢慢的异步复制和拉取
这样,文件上传和文件下载,性能至少会提升好几倍