【初学】部署架构相关的一些知识

部署架构相关的一些知识

集群

集群,这里指服务器集群,是指多个服务器完成同样的功能,在客户端看来就只有一个服务器。起初系统比较简单的时侯,一个服务器足以完成所有的功能,自然不需要集群。但随着并发访问量的增大,一个服务器性能达到瓶颈,无法满足要求,就需要通过集群来减轻单个服务器的压力。

另一方面,将一个复杂的任务交给多个服务器并行计算,可以有效提高任务完成的速度,适合任务量大且响应速度要求比较高的场景。

还有一点,一台服务器发生故障的时候,其他服务器可以立马顶上去,提高了系统的可靠性。

Nginx

Nginx 可能不太了解,但只要运行过 java 程序,就一定知道 tomcat。tomcat 是一个 web 应用服务器,用于运行 java 和 jsp,适用于中小型,并发量较小的系统。

再来说 Nginx,是一个静态 http 服务器,反向代理服务器,电子邮件服务器等。它的主要用途在于反向代理,以及引申出来的另一个概念,负载均衡。

反向代理:当并发量增大,一台服务器无法满足要求的时候,通过 Nginx 来反向代理需要访问的服务,实现多台服务器的负载均衡。

负载均衡:将负载进行平衡,解决水平扩展的时候,多个服务器完成同样的任务,浏览器该访问哪个服务器的问题,通过 Nginx 配置来实现负载均衡。

负载均衡有三种方式:轮询,权重和 ip 哈希。

轮询是指按顺序挨个访问所有的服务器,当有请求的时候,先访问其中的某一台,再有请求的时候,访问下一台,这样继续,然后再回到第一个服务器按顺序接着访问。这种方式的优点是可靠,一台服务器挂掉后,会直接请求下一个。缺点是多个服务器间信息不通,当同一个用户发出第二次请求的时候,不同的服务器不知道这个用户登录过,就会要求他重新登录,显然不太合理。解决这个问题的办法是中间件。

第二种方式是权重,当多台服务器的性能不一样的时候,可以给性能好点的服务器设置较高的权重,这样请求就有更大的概率落到这台服务器上,保证整体的性能最优。

第三种是 ip 哈希,根据请求 ip 的哈希值,确定那一台服务器来接受请求,同一个用户的请求一定会落到同一台服务器上,这种方式的优点是解决了轮询时同一个用户请求到不同服务器的尴尬,但缺点是一台服务器挂了,一部分用户的请求就会受到影响。

分布式

分布式是指不要把所有的压力都放在一台服务器上,提高了系统的可靠性和可扩展性。实现方式有两种,水平扩展和垂直扩展,水平扩展是指多台服务器做相同的事情,为了解决高并发的问题;垂直扩展是指每台服务器专门负责某一部分功能,多台服务器集群,实现整个系统功能的正常运转。

热备

一台机器处于激活状态,用于系统的正常运行,另一台机器处于备用状态,完全与第一天同步,是在第一台机器出现故障时启用的,这样不会影响系统的正常运行。

中间件

中间件是用于服务器间通信的独立的软件或程序,可以忽略操作系统的差异性,实现两个应用服务器的消息传递。这里主要说两种,消息队列和 redis。消息队列是消息存放的队列,通过发送方和接收方商定好的协议,将消息放在队列中,应用场景有很多,解决了传统模式的一些瓶颈,比如异步通知,任何一个阶段出现问题不会影响其他阶段的正常运行。再比如,实现两个服务器之间的消息共享。消息队列有两种模式,一种是点对点(一对一),一个生产者和一个消费者,另一个发布订阅(一对多),一个生产者和多个消费者。

redis 是一种存放键值对的非关系型数据库,它的应用之一就在存储,比其他数据库快很多,也可以灵活的进行持久化操作。另一个在于缓存,每次都要对数据库进行读操作的时候,耗费的内存资源太大,所以需要通过缓存存放临时数据,当第一次查询的时候,从数据库中查出结果,放在缓存中,下次直接读取缓存即可。当有更改的时候,清空缓存,重新读取,是这样的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值