java后端开发需要学什么,java后端需要学习什么教程

首页 > 教育培训 > 作者:YD1662023-06-07 00:05:44

通读缓存

CDN

CDN称为内容分发网络。想象我们京东购物的时候,假设我们在成都,如果买的东西在成都仓库有就直接给我们寄送过来,可能半天就到了,用户体验也非常好,就不用从北京再寄过来。

同样的道理,用户就可以近距离获得自己需要的数据,既提高了响应速度,又节约了网络带宽和服务器资源。

应用程序需要自己从数据源读取数据,然后将这个数据写入到旁路缓存中。这样,下次应用程序需要数据的时候,就可以通过旁路缓存直接获得数据了。

java后端开发需要学什么,java后端需要学习什么教程(9)

旁路缓存

缓存的好处

缓存缺点

我们缓存的数据来自源数据,如果源数据被修改了,俺么缓存数据很肯能也是被修改过的,成为脏数据,所以怎么办?

在每次写入缓存数据的时候标记失效时间,读取数据的时候检查数据是否失效,如果失效了就重新从数据源获取数据。

应用程序在更新数据源的时候,通知清除缓存中的数据。

是不是数据使用缓存都有意义呢?

非也,通常放入缓存中的数据都是带有热点的数据,比如当日热卖商品,或者热门吃瓜新闻,这样将数据存放在缓存中,会被多次读取,从而缓存的命中率也会比较高。

java后端开发需要学什么,java后端需要学习什么教程(10)

异步架构

在前面中,通过缓存实际上很多时候是解决了读的问题,加快了读取数据的能力。因为缓存通常很难保证数据的持久性和一致性,所以我们通常不会将数据直接写入缓存中,而是写入 RDBMAS 等数据中,那如何提升系统的写操作性能呢?

此时假设两个系统分别为A,B,其中A系统依赖B系统,两者通信采用远程调用的方式,此时如果B系统出故障,很可能引起A系统出故障。

从而不得不单独进行升级,怎么办?

使用消息队列的异步架构,也成为事件驱动模型。

异步相对于同步而言,同步通常是当应用程序调用服务的时候,不得不阻塞等待服务期完成,此时CPU空闲比较浪费,直到返回服务结果后才会继续执行。

java后端开发需要学什么,java后端需要学习什么教程(11)

同步

举个例子,小蓝今天想在系统中加一个发邮件的功能,通过SMTP和远程服务器通信,但是远程服务器有很多邮件需要等待发送呢,当前邮件就可能等待比较长时间才能发送成功,发送成功后反馈与应用程序。

这个过程中,远程服务器发送邮件的时候,应用程序就阻塞,准确的说是执行应用程序的线程阻塞。

这样阻塞带来什么问题“?

但是在实际情况中,我们发送邮件,并不需要得到发送结果。比如用户注册,发送账号激活邮件,无论邮件是否发送成功都会收到"返回邮件已经发送,请查收邮件确认激活",怎样才能让应用程序不阻塞?

java后端开发需要学什么,java后端需要学习什么教程(12)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.