集群、分布式理解
很久之前的软件还是桌面软件,就是单机,游戏也大多是单机游戏。后来技术发展,有了网络,上网的人也越来越多,于是乎一台电脑就很难完成那么多请求的服务了。于是按照面向对象的思维,从现实生活中提炼除了解决方案,就是集群,或者说分布式部署。
集群:生活中的场景就是包工头带领一群农民的形式,你所发起的每一个请求都需要给包工头,包工头会把任务分给下面的农名工。这种让每个农名工都有事情,这就是负载均衡(包工头做的事就是负载均衡)。常见的就是nginx结合tomcat,nginx做负载均衡将请求转给下面的很多tomcat中的其中一个,其中某个服务器宕机了并不影响整个系统运行,但会加大其他服务器的负载。
分布式:就是把一个完整的系统拆分成几个子系统去协同处理,子系统都能执行特定的功能,其中一个子系统宕机了,那么它所负责的特定业务就完成不了了。
但是不论什么软件都会访问数据库,数据库访问涉及到磁盘IO的读写,效率自然比较低,有些数据基本是99次读,1次写。如果每次都访问数据库,那么数据库表示压力很大,于是就有了缓存,就是将数据存到内存中,内存的速度是硬盘的很多倍,从而提高效率,常见的就是memcached和redis。如果数据比较少,java的hashmap都可以当内存缓存一些数据

浙公网安备 33010602011771号