enginx基于openresty,一个前后端统一,生态共享的webstack实现

十六、OpenResty 奇门术——使用OpenResty开发Web服务 如果业务对 Redis 的依赖性非常高,则可以考虑采用多主 Redis 架构(Multi-Master Redis),而不是单主架构,以防止单主 Redis 出现不可用情况导致的数据不一致以及对后端 Tomcat 集群的流量击穿。:为了缓解单DB的压力,通常会引入读写分离策略,将数据库的读操作转移到只读节点,从而减轻主库的压力。总结来说,这种架构适用于业务访问量大、数据一致性要求较高的场景,通过 Redis 集群、MySQL 集群和高效的负载均衡机制,实现了高并发和高可用的系统架构设计。 阅读详情

本文关键字:openresty,enginx

webstack的前世今生就是一个重复造轮的过程,它的目标是将本地程序栈弄成分布式b/s web,其实这在语言端可以做(比如语言模块的http unit,然后是一层层我们从桌面时代开发最基本的socketapp开始,http封装之后也许是一个aysn网络io库,最终到达语言库级的webframework直到专门的独立程序支持,也许这个时候人们发现那个网络io库可以独立出来作为一个server,再比如第三方容器在这种需求下很容易出现,流控安全等需要也会泛滥),于是终于发展到用独立的服务器OS组件来实现这些强化,形成专门的产品来做,体现在开发上首先是webserver+CGI处理。web作为b/s在架构上假设有服务端程序存在,而cgi就是开发web程序的语言同webserver交互的扩展,动态语言将运行结果转成web page app的手段。像mod_swgi,mod_php就直接将phpcgi做到了语言。如webstack.语言则屈居之下。—— 这完全是语言,独立件,一方做大了包裹另一方的关系但二者始终是一体的。

以前webstack都是语言加各个产品小件的堆叠,像wamp,lemp,wapp,lnmp,mean…等,除去语言和OS服务这些大件,显然存在前后端,首先是page server,然后是存储后端。mysql,rawfilesystem,document stor(文档xml强调的是文档语义,能存文件和文档是其第二层含义)等。还有各种为了其它功能新加进来的增强件比如种新的本地/分布数据库memcached,本地件imagicx。。

PS:其实这些都是模拟桌面时代的appstack,人类其实在各层次复用同样的方法,解决方案和产品,形成各种类似appstack,webstack的其中明显二大件之前端部分模拟的是desktop app时代的page,后端模拟的是filesystem等等,毕竟是分布式中已经定义好b/s规范,连协议http都规范好了,有这二个产品,就足于构成一个webapp stack必须的界面和存储了,只要有app domain logic,就可以产生一个app了 —— 同道理的是mobile app那些,这里省略一W字……
以上备注栏里你看到了应用程序形成和选型历史的大架构,好了打住,继续:

存在几种流行的webserver(有的有容器比如tomcat支持,有的对语言支持好比如apache rewriter强大,etc…,有的功能单一,比如nginx静态页面友好在流量控制方面功能强大),人们有时还混合使用它们,这使得webstack前后端分区呈现更复杂的前前后,前中后,前中后后等结构。

这里要来说的是大头的nginx+apache

我们不需要apache

其实作为一个webserver,它的本质是流量引擎+webserver,当它与前端语言cgi沟通时,它就是webserver,当它负责与后端+前端一起上时,它就是流控引擎。很显然地,nginx最初的意义是分布式流量的“enginx”,在这种意义下,nginx能管好流控这是它最大的责任和优势,而apache显然做得有点过了:

apache并不仅是webserve其实它还提负容器的责任,这种在用户态重造一遍的事应该由语言层(比如msyscuione中的包管理或engitor as paas中的语言层来完成)。它跟nginx一样存在流控与各种语言对接的后端,然而它走的路子是,由语言来完成对数据库后端的对接,apache负责与语言沟通,这其实是webstack通用的设计和应用路径,只是这种情形下,webstack变得有点碎片。各种语言和存储组合起来就是一个webstack,,这样看似自由,实际只能二块二块地用,十分固定,于是你看到的不是wamp就是lemp,而meam这样的东西是不好用的。

总结:,我们没有一个一体的webstack生态圈产品,各个产品都是语言绑定的。具体前后端紧联系的。甚至系统绑定的。原因是,webstack中webserver的功能定义不清。

nginx=engin x: 强大,专一的流控单一,也是前后端开弓的中间单元

而对nginx的合理应用可以完成做到用nginx+其它产品打造一个干净的前后端:

nginx它没有容器不像apache,因为这是语言层要干的事。

在这点上,apache于webstack必须有的地方没有,nginx却全有。我们也不需要nginx+apache的架构。我们完成可以去掉apache,语言直接作为容器,nginx直接作为语言容器的前端,以direct servering langsys的路子进行。

而且nginx的流控实在是太强大了。它可以做到一体化流控(负载,访问点控制,QOS,反代)与安全服务器。

而且,lamp,wamp一条龙的webstack设计者们肯定没想到,nginx它不但可以server前端,它实际上也可以server后端,比如nginx直接与mysql构成不需要通过php的phpmyadmin版本。

这有什么意义呢?

它使WEB件,从语言件彻底分开,实现了诸如,提倡nginx前端直接与后端mysql等通讯,仅要求语言提供php-cgi之类的东西而不要求它们提供php-mysqli之类的东西,构架上清希化出了一个“整合的独立的,webstack”,而不再是分散的wamp,wemp,mean等等。从此不同的语言导致的开发,发布的,架构上的区别都不存在。都是一样的从nginx为入口的体系,它掩盖后端那些子件的复杂性和开发维护必要。更重要的意义:打造了一个干净的多语言webstack

大一统的webstack

openresty的架构有趣就在于此,它是个足够创意新奇,大一统的产品,它对前后端都进行绑定。

nginx之于db,storbackend(openresty一志整合),就像jupyter整合语言件backends。我们从此仅需要一套 “xny” webstack — x平台的y语言,及中间的nginx,就可以做到统一开发和发布,最最深远的意义还在于:有望借助enginx,所有web程序共享同样的产品生态,统一发布,无沟运维。

下载(本地下载):

以下提供下载的enginx,在openresty基础上做了适应msyscuione->各个langsys的适应。与engitor(paas)天然互补结合:一个提供语言与容器,一个提供安全和最终的paas服务。。



(此处不设回复,扫码到微信留言,或直接点击到原文)

Python基于OpenResty的仿Yii Web框架设计 本文还有配套的精品资源,点击获取 简介:本项目旨在创建一个Python Web开发框架,受到OpenResty高性能Web平台和Yii框架的启发。框架采用LuaJIT脚本在Nginx服务器上直接处理业务逻辑,以提供快速构建API和Web服务的能力。开发者可以在Python环境中应用Yii的MVC架构和特性,以清晰的代码组织结构提升项目的可维护性。此外,框架还整合了路由管理、... 阅读详情

相关推荐

基于STM32 FOC下桥三电阻采样方式的电机相电流重构方法

如何提高三电阻采样的调制率

wanrenqi的博客 9200

每个后端都应该了解的OpenResty入门以及网关安全实战

Web 应用防火墙(Web Application Firewall,简称 WAF)对网站或者 App 的业务流量进行恶意特征识别及防护,在对流量清洗和过滤后,将正常、安全的流量返回给服务器,避免网站服务器被恶意入侵导致性能异常等问题,从而保障网站的业务安全和数据安全。自此本文介绍了OpenResty入门以及使用 Lua 脚本实现一些常见的网关安全功能等。

Wayn111的博客 681

HFSS/ADS仿真实操:手把手调优一个2.4GHz SAW滤波器的IDT结构

本文详细介绍了使用HFSS和ADS仿真工具优化2.4GHz表面声波滤波器(SAW)的IDT结构。从材料参数设置到IDT建模,再到参数化扫描与频率调谐,提供了实用的操作步骤和优化技巧,帮助工程师快速掌握SAW滤波器的设计方案与性能调优方法。

weixin_29197835的博客 532

一文快速搞懂Nginx —— Nginx 详解

Nginx 同 Apache 一样都是一种 Web 服务器。基于 REST 架构风格,以统一资源描述符(Uniform Resources Identifier)URI 或者 统一资源定位符(Uniform Resources Locator)URL 作为沟通依据,通过 HTTP 协议 提供各种网络服务。 Nginx是一款 轻量级 的 Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。

weixin_43412762的博客 7万+

基于APDL语言的结构优化设计

同理,二次微分值称为二阶值。通俗地讲优化分析,指的找到一种方案可以满足所有的设计要求,而且所需的支出(如重量,面积,体积,应力,费用等)最小。设计方案的任何方面都是可以优化的,比如说:尺寸(如厚度),形状(如过渡圆角的大小),支撑位置,制造费用,自然频率,材料特性等。完成分析文件的建立后,就可以进行优化分析了,如果在交互方式下进行优化的话,最好先在ANSYS数据库中用分析文件建立参数,其优点有:初始参数可以作为一阶分析方法的起点,且对于优化过程参数在数据库中可以在GUI下进行操作,便于定义优化变量。

m0_73816777的博客 1176

【Nginx】入门看这一篇就够啦,nginx 简介、安装、工作原理、工作方式、详解配置文件

nginx [engine x] 是 HTTP 和反向代理服务器、邮件代理服务器和通用 TCP/UDP 代理服务器。nginx 的特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。在高连接并发的情况下,nginx是Apache服务器不错的替代品,能够支持高达50000个并发连接数的响应。使用epoll and kqueue作为开发模型。

Fanjufei的博客 1万+

蓝牙Mesh协议一基本概念

前言 蓝牙SIG联盟在2017年发布了蓝牙Mesh1.0的协议规格,基于低功耗广播包来实现的多对多的通信技术,Mesh协议建立在BLE的物理层和链路层上,所以也可以和BLE的蓝牙进行通信 本章主要介绍蓝牙Mesh的基本概念和协议中的层级结构,也是参考网上的资料,如有异议,欢迎留言指正 基本概念 广播和洪泛 蓝牙Mesh技术是基于BLE的广播报文来实现的,是一种洪泛的消息传输机制,Mesh网络的节点间通过3个广播信道进行通信。当蓝牙Mesh网络中的节点收到消息后会转发这条消息,大大增加了网络的覆盖范围;但

9743

基于openresty 的几个开发框架

1. kong api gateway Github:https://github.com/Mashape/kong 2. Lapis web 开发框架 Github: https://github.com/leafo/lapis 3.Vanilla web 开发框架 Github:https://github.com/idevz/vanilla 4. Lor web 开发框架 Github:https:/...

sirria1的专栏 1073

Excel数字变成了小数点+E+17?这些方法帮你解决!

本文介绍了三种解决Excel中数字变成小数点+E+17问题的方法:通过下拉箭头或右键菜单设置单元格格式为文本、使用TEXT函数将科学计数法转换为文本。这些方法各有优缺点,适用于不同的场景和需求。在实际应用中,我们可以根据具体情况选择合适的方法来解决问题。通过以上方法,我们可以轻松地从繁琐的小数点+E+17问题中解脱出来,更便捷地处理Excel中的数字。希望本文能够帮助到您,让您在使用Excel时更加得心应手!

nntxthml的博客 1247

动态视频目标追踪系统:基于YOLOv11+DeepSORT的从入门到实战全流程指南

仅保留车辆类别(假设车辆类别ID为2)if det.class_index == 2: # 车辆类别ID通过本指南,你已完成从环境搭建数据准备模型训练到追踪系统与UI界面的全流程,搭建了一套完整的动态视频目标追踪系统。该系统在安防监控、交通管理等场景中具有实用价值,可实现目标的实时稳定追踪。未来,你可尝试结合多模态特征(如目标外观+运动特征)提升追踪鲁棒性,或探索轻量化模型部署(如TensorRT加速),让系统在边缘设备上也能高效运行。

LXY_LOVE36的博客 142

ENGINX--简单篇

ENGINX(engin x)专为性能优化而开发的,只处理静态页面。安装准备:nginx-1.9.4.tar.gz安装:解决依赖包yum-yinstallpcre-developensslopenssl-devel zlib-devel创建nginx所需要的账号useradd -M -s /sbin/nologin nginx编译安装nginxtar zxfngi...

weixin_34242658的博客 419

Debezium报错处理系列之二十一:Unable to connect: Communications link failure.The driver has not received any

Debezium报错系列之二十一:Unable to connect: Communications link failure.The driver has not received any。

zhengzaifeidelushang的博客 547

openresty 静态库_enginx:基于openresty,一个前后端统一,生态共享的webstack实现

本文关键字:openresty,enginxwebstack的前世今生就是一个重复造轮的过程,它的目标是将本地程序栈弄成分布式b/s web,其实这在语言端可以做(比如语言模块的http unit,然后是一层层我们从桌面时代开发最基本的socketapp开始,http封装之后也许是一个aysn网络io库,最终到达语言库级的webframework直到专门的独立程序支持,也许这个时候人们发现那个网络...

weixin_39601929的博客 118

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

服务器的“服务器”,enginx之于分布式部署的创新意义:使任何服务器程序秒变集群

本文关键字:nginx,元服务器,单机集群,分布式集群,集群引擎 虽然webstack往往被做成集群来进行,但即使存在那样的必要也很难为随便找到的一组服务器搭个集群,enginx就是用来做这事的,继《发布enginx:基于openresty,一个前后端统一,生态共享的webstack实现》,进一步地,enginx之于服务器部署的创新意义还在于:它可以使任何分散,逻辑上相关的一组服务器建立起前后端的拓扑,可能这些srvs并不是webstack使用的那些。 engin x – 从webstack到common

minlearn's techrepos 318

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

oracle rds 运维服务_服务器的“服务器”,enginx之于分布式部署的创新意义:使任何服务器程序秒变集群...

本文关键字:nginx,元服务器,单机集群,分布式集群,集群引擎虽然webstack往往被做成集群来进行,但即使存在那样的必要也很难为随便找到的一组服务器搭个集群,enginx就是用来做这事的,继《发布enginx:基于openresty,一个前后端统一,生态共享的webstack实现》,进一步地,enginx之于服务器部署的创新意义还在于:它可以使任何分散,逻辑上相关的一组服务器建立起前后端的拓...

weixin_42518930的博客 80

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Nginx 安装与部署配置以及Nginx和uWSGI开机自启

下载 官方网站:https://nginx.org/en/download.html Windows下安装 安装 下载后解压(切记不能含有中文路径!!),文件结构如图(我解压的路径就有中文,记得拷贝放置于英文目录下即可!): 启动 两种方法: 1) 直接双击该目录下的"nginx.exe",即可启动nginx服务器; 2) 命令行进入该文件夹,执行start...

diwudong1059的博客 5694

Nginx学习笔记

安装 下载必要组件 nginx下载地址 http://nginx.org/en/download.html pcre库下载地址,nginx需要 ...

一个有趣、有料、有内涵的地方! 1822

Nginx(详解以及如何使用)

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。并发能力: 50,000。

m0_65224643的博客 3217

nginx从入门、搭建到理解

目录 前言 一、nginx简介 1. 什么是 nginx 和可以做什么事情 2.Nginx 作为 web 服务器 3. 正向代理 4. 反向代理 5. 负载均衡 6.动静分离 二、Nginx 的安装(Linux:centos为例) 1. 准备工作 2. 开始安装 3. 运行nginx 4. 防火墙问题 三、 Nginx 的常用命令和配置文件 1. Nginx常用命令 a. 使用nginx操作命令前提 b. 查看 nginx 的版本号 c. 启动 nginx d. .

秃了也弱了 7599

【运维知识进阶篇】集群架构-Nginx基础(安装+启动+配置+多业务实现+日志管理)

本篇文章介绍下Nginx有关内容,Nginx是一个开源且高性能、可靠的Http Web服务、代理服务。开源:直接获取源代码,高性能:支持海量并发,可靠:服务稳定Web服务有很多,选择Nginx是因为他的轻量化,功能模块少(源代码仅保留http与核心模块代码,其余不够核心代码的作为插件来安装)代码模块化,对于开发人员友好。

吾日三省吾身,想出类拔萃,要把知识学牢,学全,学深,学广。 3495

Nginx 使用详解 + 同类工具对比 + 安装命令 + 常用操作指南(含代码注释)

Nginx 是一款高性能的 HTTP 和反向代理服务器,广泛应用于 Web 服务器、API 网关和负载均衡等场景。其核心功能包括反向代理、负载均衡、HTTP 缓存、SSL/TLS 支持、静态资源服务和 URL 重写。与同类工具如 Apache、HAProxy 和 Envoy 相比,Nginx 在高并发性能、反向代理能力和 SSL/TLS 支持方面表现尤为突出。Nginx 支持在 Linux、macOS 和 Windows 等平台上安装,常用命令包括启动、停止、重新加载配置和检查配置文件语法等

爱的叹息的专栏 1734

五分钟看懂 Nginx 负载均衡

本文首发于政采云前端团队博客:五分钟看懂 Nginx 负载均衡https://www.zoo.team/article/nginx前言对于电商平台而言,随着业务的不断发展壮大,网站访问...

前端劝退师 1080

ngnix配置及实例

1、 nginx常用命令 使用nginx操作命令的前提条件就是:必须进入nginx的目录 cd /user/local/nginx/sbin 查看版本号 ./nginx-v 启动nginx ./nginx 关闭nginx ./nginx-s stop 重新加载nginx-----不重启服务器,重新加载配置文件,配置生效 ./nginx-s reload 2、 nginx配置文件 nginx配置文件位置:/user/local/nginx/conf/

beichengliulixue的博客 1万+

Nginx 配置详解

Nginx 配置 文章目录Nginx 配置文件结构全局配置events 配置http 配置server 配置Rewrite一、地址重写,地址转发,重定向二、URL 重写语法:使用:三、if 指令使用1、变量匹配2、判断请求的文件是否存在3、判断手机访问4、其他四、防盗链1. 根据请求文件类型实现防盗链配置实列如下: 文件结构 整体结构为嵌套结构: 全局块:配置影响全局,包括运行 nginx 的用户组,进程存放,日志,配置文件等 events:配置影响 nginx 服务器与客户端的网络连接,包括进程最大连接

Baimoc 8万+
上一篇: 利用citrix xenapp and xendesktop建立你的云桌面
下一篇: 服务器的“服务器”,enginx之于分布式部署的创新意义:使任何服务器程序秒变集群
Minlearn
博客等级 码龄18年 20粉丝 146原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值