企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
1、**创业初级、架构的特点如下:** * 单机系统(ALL in one) * 程序耦合 (ALL in one) * 逻辑核心(CURD) ![](https://img.kancloud.cn/fa/e3/fae33c9121cab6147bb71c781ef0e284_322x700.png) 创业初级,系统流量比较底,系统是一个ALL in ONE 的架构,是一个单机系统,程序耦合。随着业务不断发展,架构演进为伪分布式,提升性能,三大分离: * 读写分离 * 动静分离 * 前后端分离 ![](https://img.kancloud.cn/f8/a7/f8a7bcd37df71c74b3be2bf560cea9f2_1753x1078.png) 为了解耦,系统进行的垂直拆分 * 业务垂直拆分 * 代码垂直拆分(子系统解耦) * 数据库垂直拆分(数据量降低,延时缓解) * 研发团队垂直拆分(专业化、效率提升) ![](https://img.kancloud.cn/0b/bb/0bbb81df74d21b04b8632bb1ffb77729_950x397.png) 我们会发现,垂直拆分后,我们虽然解除了子系统之间的耦合,但是对于同一个垂直站点子系统,仍然是一个单体架构,每个子系统仍然不能做到高可用,此时反向代理就出现咯 2、**什么是 代理、什么是反向代理** 对比原来用户和服务器之间加了一层proxy,用户通过proxy请求被访问真实的服务器,因此整个访问的过程为: 用户---》proxy----》Real Server 什么是代理: proxy代表的是用户的时候,这个时候为代理 什么是反向代理: 当proxy代表的是被访问服务器的时候,这个时候为反向代理 (屏蔽内网真实服务器的IP) 3、**一般、用什么作为反向代理** 软件层面: nginx、haproxy、ingress、traefik、envoy 操作系统层面(四层): LVS 硬件层面: F5 4、**反向代理、解决什么问题呢?** * 子web系统的性能,不在受到单台机器资源限制,可用扩展 * 子web系统,实现了高可用 ![](https://img.kancloud.cn/59/cd/59cd86f16c0352ced580c17fd62d577b_575x340.png) 反向代理带来新的问题如下: * 多个web节点,负载如何分配(负载均衡) * 反向代理层,如何保证高可用(反向代理的高可用性问题) 负载均衡算法: 随机、轮询、静态权重轮询、动态权重轮询、一致性哈希 四层(转发/交换),七层(转发/交换) 反向代理高可用问题? 通过keepalived+VIP实现高可用代理服务,如图: ![](https://img.kancloud.cn/ef/d1/efd1516ace045ad31349a44b46edeb7f_1164x508.png) 当nginx服务挂了,keepalived会探测到,会把VIP迁移到另外一台服务器,对于外部用户来说,无感知 缺点: 2个代理服务器,利用率为50%