服务器总结一:分布式服务器结构

客户端 ——> 任务服务器 ——> 应用服务器

任务服务器,需有两台或两台以上的任务服务器,心跳机制校验。

应用服务器的负载均衡:

1.任务服务器暴露一个HTTP接口给应用服务器,当应用服务器空闲的时候就到任务服务器里取任务。

2.应用服务器可以暴露一个HTTP协议的接口给任务服务器,任务服务器使用该接口获取应用服务器的CPU,内存,IO等负载相关量是否高,从而决定把任务分配给当前负载低的应用服务器

应用服务器可以根据业务等进行分割

应用服务器 ——> DAL层,数据库服务器 ——> 数据库

                         \downarrow

应用服务器 ——> Cache层,多个redis

缓存层:

1.为了减轻数据库压力,一些热点数据可以存在缓存数据库中,减少数据库的访问量

2.当修改数据的时候,应用服务器通过DAL层直接修改数据库,然后DAL层会把数据同步到缓存数据库,应用服务器只从缓存数据库中取数据,而不会直接修改它

数据库:

1.当读写操作很多的时候,数据库分为主从数据库,由于业务中很多时候都是读操作比写操作多,因此写功能的数据库比读功能的数据库要少

2.当主数据库被改写之后,需要对从数据进行同步,这时候可以主流数据库的replication机制进行同步。这个机制通过日志文件来工作的

3.当数据库大到一定程度的时候,为了改善数据库并发,需要对数据库进行分区

垂直分库:按照一定的逻辑,把表分散到不同的库中,如用户表一个库,业务表一个库等等

水平分库:把一个库分成N个,每个库都有其他中所有的表,数据平分

服务器性能四大杀手:

1.数据拷贝,可用缓存避免

2.环境切换,主要是线程之间的切换

3.内存分配,可用内存池改进

4.锁竞争,尽量避免

猜你喜欢

转载自www.cnblogs.com/venjin/p/9164279.html