Openresty 架构介绍|学习笔记

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 快速学习 Openresty 架构介绍

开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop 框架搭建)第一阶段Openresty 架构介绍】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/669/detail/11595


OpenResty 架构介绍

 

内容介绍:

一、负载均衡

二、单机闭环(测试环境)

三、分布式闭

四、接入网关

五、注意

 

目标:了解 Openresty 的常用架构

 

一、负载均衡

1.组成部分:

LVS+HAPraxy

LVSLinux Virtual Servar)的简写,意即 Linux 虚拟服务

2.负载均衡实现原理:

LVS+HAPraxy 将海量转发给核心 NgInx 1 和核心 NgInx 2 ,即现了流量的负载均衡。

3.实例及优势

以某宝为例,将业务进行划分,假设有一个首页面 Nginx,一个电脑类的单品页 Nginx1 服务器,一个洗发水类的单品页 Nginx2 服务器,还有一个结算 Nginx 服务器。他们都有一个独立的 Nginx 服务器,他们上面要部署一个 LVS+HAPraxy ,建立两个核心的 Nginx 

当用户请求发送到核心 Nginx 1 或者核心 Nginx 2 中,如果只有一个核心 Nginx ,则所有用户请求都发送到一个核心 Nginx 中,会造成核心 Nginx 非常忙碌。

所以在虚拟服务器中加入 HAPraxy ,可以把数据分给核心 Nginx 1 或者核心Nginx 2,这样的方案就不仅可以发挥 HAPraxy 本身的作用,还可以减轻一个核心 Nginx 的压力,减轻了一个核心 Nginx 的负载,并且两个核心的 Nginx 进行服务,效率更高。

同时如果其中一个核心 Nginx 当机,那么另外一个可以接管所有的任务。

图片1.png

二、单机闭环(测试环境)

1.概念

在一个 nginx 中将数据和业务进行了隔离,不和别的 nginx 和数据库进行交互。所有想要的数据都能从本服务器直接获取,在大多数时候无法通过网络去其他服务器获取。

下图三个服务器都部署了 Nginx 应用和安装了 Lua 程序,采集应用数据后都储存在本地,且三个节点完全物理隔离。

所以服务器192.168.1.2部署的 Nginx 应用和 Lua 程序,存储的数据足够本服务器计算分析,但是如果要用到其他服务器的数据是不被允许的。

2.单机闭环会遇到如下两个主要问题:

(1)数据不一致问题(比如没有采用主从架构,导致不同服务器数据不一致)﹔

(2)遇到存储瓶颈(磁盘或者内存遇到了天)。

3.解决方法

解决数据不一致的比较好的办法是采用主从或者分布式集中储存;而遇到存储瓶颈要进行照业务进行分片,将数据分散到多台服务器。图片2.png

三、分布式闭环

1.作用

分布式闭环解决了单机闭环的两个瓶颈问题,将数据库进行集群或者主从操作,将 nginx 做成集群。

如下图,将三个节点不存储在本地,而是存储在同一个分布式集群中,所以这三个服务器的数据可以交互的,这样解决了单机闭环的第一个问题。

因为底层使用一个分布式稳定系统,分布式稳定系统可以添加节点,扩展磁盘,这样就解决了单机闭环的第二个问题。

图片3.png

四、接入网关

将 nginx 作为流量入口,后面接入 tomcat 集群。

1.优点

上层利用负载均衡的思路,加入两个核心 Nginx 服务器,在每一个业务层配置独立的业务 Nginx

底层的数据存储利用分析都利用集群, Redis 集群、 Tomcat 集群和分布式存储集群。

即解决了负载均衡的问题,又解决了高可用的问题,并且解决了数据不一致和存储瓶颈的问题。

图片4.png

五、注意

在反爬虫项目中,用单机闭环,因为主要目的是采集数据然后在内部实现计算而不是深入的研究架构。但是在企业中的实际环境不是单机闭环。

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
6月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
158 0
|
6月前
|
Java Docker 容器
美团大牛精心整理SpringBoot学习笔记,从Web入门到系统架构
近期慢慢复工,为了准备面试,各路码友们都开始磨拳擦脚,背面试题、知识点。小编最近得一良友赠送了一份关于SpringBoot的学习笔记,简直不要好用,理论解析言简意赅,每一步操作都有图片展示。这么好的东西肯定不能私藏,为了感谢大家在2019年里的支持,我现在将这份笔记赠送给大家,祝大家前程似锦,Offer不断!
|
6月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
265 0
|
6月前
|
架构师 网络协议 算法
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
|
6月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
153 1
|
6月前
|
SpringCloudAlibaba Java 测试技术
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
145 1
|
6月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(三)Eureka服务注册中心
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(三)Eureka服务注册中心
101 1
|
6月前
|
SpringCloudAlibaba Java 持续交付
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(一)基础知识+各个组件介绍+聚合父工程创建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(一)基础知识+各个组件介绍+聚合父工程创建
759 1
|
6月前
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
775 0
|
6月前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
994 0

热门文章

最新文章