在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍:
* 分布式,系统中的多个模块在不同服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或两个相同功能的Tomcat分别部署在不同服务器上。
* 高可用,系统中部分节点失效时,其他节点能够接替它继续提供服务,则可认为系统具有高可用性。
* 集群,一个特定领域的软件部署在多台服务器上并作为一个整体提供一类服务,这个整体称为集群。如Zookeeper中的Master和Slave分别部署在多台服务器上,共同组成一个整体提供集中配置服务。在常见的集群中,客户端往往能够连接任意一个节点获得服务,并且当集群中一个节点掉线时,其他节点往往能够自动的接替它继续提供服务,这时候说明集群具有高可用性。
* 负载均衡,请求发送到系统时,通过某些方式把请求均匀分发到多个节点上,使系统中每个节点能够均匀的处理请求负载,则可认为系统是负载均衡的。
* 正向代理和反向代理,系统内部要访问外部网络时,统一通过一个代理服务器把请求转发出去,在外部网络看来就是代理服务器发起的访问,此时代理服务器实现的是正向代理;当外部请求进入系统时,代理服务器把该请求转发到系统中的某台服务器上,对外部请求来说,与之交互的只有代理服务器,此时代理服务器实现的是反向代理。简单来说,正向代理是代理服务器代替系统内部来访问外部网络的过程,反向代理是外部请求访问系统时通过代理服务器转发到内部服务器的过程。
架构演进
- 前言
- php
- 设计模式
- 代码安全
- 性能测试
- 自动化测试
- 项目质量
- 自动化部署
- 掌握框架
- laravel5.8
- laravel声明周期
- mysql
- 物理文件组成
- 存储引擎和优化
- 权限和安全
- 备份和恢复
- 查询优化
- 索引优化
- 主从架构
- 监测工具
- redis
- redis简介
- redis存储
- windows下 php7.3+redis3 安装
- 参数配置说明
- redis 数据类型
- 缓存穿透和缓存雪崩问题
- redis并发竞争key问题
- thinkphp5+redis+mysql抢票示例
- apache
- nginx
- Nginx服务器的安装部署
- Nginx服务器架构
- Nginx服务器的高级配置
- Nginx服务器的Rewrite功能
- Nginx服务器的代理服务
- Nginx服务器的缓存机制
- Nginx源码结构
- Nginx基本数据结构
- 微服务
- 分布式
- 前后端分离解决方案
- 服务端实现
- thinkphp5
- laravel5
- 客户端实现H5
- vue.js
- element-ui
- vue-cli
- 客户端APP
- 客户端小程序
- 代码自动生成
- 商城项目实战
- 系统架构