CN106775775B - 一种基于OpenResty的高性能MVC框架 - Google Patents
一种基于OpenResty的高性能MVC框架 Download PDFInfo
- Publication number
- CN106775775B CN106775775B CN201710053612.0A CN201710053612A CN106775775B CN 106775775 B CN106775775 B CN 106775775B CN 201710053612 A CN201710053612 A CN 201710053612A CN 106775775 B CN106775775 B CN 106775775B
- Authority
- CN
- China
- Prior art keywords
- module
- mvc
- nginx
- openresity
- openresty
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于OpenResty的高性能MVC框架,其特征在于,包括OpenResty服务器和MVC处理器,所述OpenResty服务器设置有LuaJIT模块,所述MVC处理器设置有Nginx配置模块,所述MVC框架通过所述Nginx配置模块的配置文件和所述OpenResty服务器中LuaJIT模块导出的lua接口接入所述OpenResty服务器。本发明的MVC框架基于OpenResty编写,使用lua语言为基础,提供了一套MVC标准的接口以及代码实现,适合团队与项目的快速开发,并且能适应各种复杂的Web服务场景,易于扩展。
Description
技术领域
本发明涉及通信技术领域,尤其涉及到一种基于OpenResty的高性能MVC框架。
背景技术
OpenResty是一个基于Nginx与Lua的高性能Web平台,其内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态Web应用、Web服务和动态网关。OpenResty通过汇聚各种设计精良的Nginx模块,从而将Nginx有效地变成一个强大的通用Web应用平台。这样,Web开发人员和系统工程师可以使用Lua脚本语言调动Nginx支持的各种C以及Lua模块,快速构造出足以胜任10K乃至1000K以上单机并发连接的高性能Web应用系统。
OpenResty的目标是让Web服务直接跑在Nginx服务内部,充分利用Nginx的非阻塞I/O模型,不仅仅对HTTP客户端请求,甚至于对远程后端诸如MySQL、PostgreSQL、Memcached以及Redis等都进行一致的高性能响应。一般的web服务器端架构都会经历Apache时代(PHP处理大量CPU密集型计算)和Nginx时代(数据来源大多走HTTP接口、OpenResty时代(H5的时代,大量异步接口请求)。Apache和nginx的时代并发量没有那么大,而当下h5的时代会有大规模的并发请求,因此不单单需要OpenResty,而且需要一个能支撑团队开发,推进项目快速迭代的MVC框架。但目前并没有一个基于OpenResty基础编写的MVC架构,通过OpenResty开发Web服务项目的时候仍然需要耗费大量时间成本。
因此,现有技术有待进一步的改进。
发明内容
本发明所要解决的问题在于,提供一种基于OpenResty的高性能MVC框架,以实现项目的快速开发,并且能适应各种复杂的Web服务场景,便于扩展。
本发明采用如下技术方案:
一种基于OpenResty的高性能MVC框架,其特征在于,包括OpenResty服务器和MVC处理器,所述OpenResty服务器设置有LuaJIT模块,所述MVC处理器设置有Nginx配置模块,所述MVC处理器通过所述Nginx配置模块的配置文件和所述OpenResty服务器中LuaJIT模块导出的lua接口接入所述OpenResty服务器。
所述的基于OpenResty的高性能MVC框架,其中,所述OpenResty服务器包括Nginx主进程模块和Nginx子进程模块,所述Nginx主进程模块和Nginx子进程模块用于连接http输入,并将http输入对应的业务处理数据发送到所述LuaJIT模块。
所述的基于OpenResty的高性能MVC框架,其中,所述MVC处理器包括与所述Nginx配置模块相连的控制器、模型模块和视图模块。
所述的基于OpenResty的高性能MVC框架,其中,所述Nginx配置模块设置有Nginx配置入口。
所述的基于OpenResty的高性能MVC框架,其中,所述MVC处理器连接有输出端口。
与现有技术相比,本发明提供的基于OpenResty的高性能MVC框架。基于OpenResty编写,使用lua语言为基础,提供了一套MVC标准的接口以及代码实现,适合团队与项目的快速开发,并且能适应各种复杂的Web服务场景,易于扩展。
附图说明
图1为本发明提供的基于OpenResty的高性能MVC框架的结构框图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,本发明实施例提供的基于OpenResty的高性能MVC框架,包括OpenResty服务器1和MVC处理器2,OpenResty服务器1包括有Nginx主进程模块11和Nginx子进程模块12、以及LuaJIT模块13,Nginx主进程模块11和Nginx子进程模块12连接http输入,接收http请求,处理静态文件、索引文件、自动索引、打开文件描述符缓冲等等,并将http输入对应的业务处理数据发送到所述LuaJIT模块13,LuaJIT模块13分析HTTP请求,以获取目标数据,并导出lua接口,用于MVC框架2的接入。MVC处理器2设置有Nginx配置模块21、Nginx配置入口22、MVC处理器也即MVC框架的三层结构即控制器23、模型模块24和视图模块25,Nginx配置模块21用于接入OpenResty服务器1的配置,即输出配置文件,使MVC处理器2通过该配置文件和LuaJIT模块13导出的lua接口接入OpenResty服务器1。
具体地,Nginx配置入口22用于对Nginx配置模块21进行配置输入。视图模块25用于视图上数据的采集和处理、以及用户的请求。模型模块24接收视图模块25请求的数据,并返回最终的处理结果,控制器23将模型模块24与视图模块25匹配在一起,共同完成用户的请求。MVC处理器2连接有输出端口,向外输出所需内容。因此,本发明实施例使用传统MVC框架的目录、函数调用方式,方便学习使用,并以传统MVC的设计思想为基础设计,因此其能适应各种业务场景。
本发明实施例的MVC框架面对所有需要基于OpenResty 来做高性能后端业务开发的群体,该方案能极大的降低其开发门槛。让原来使用PHP、ASP/ASP.net、JSP作为主要语言的团队也能以最快速度和最低成本的切入到OpenResty+lua的开发中来,提升OpenResty框架带来的极致性能。
综上所述,发明提供的基于OpenResty的高性能MVC框架。基于OpenResty编写,使用lua语言为基础,提供了一套MVC标准的接口以及代码实现,适合团队与项目的快速开发,并且能适应各种复杂的Web服务场景,易于扩展。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (4)
1.一种基于OpenResty的高性能MVC框架,其特征在于,包括OpenResty服务器和MVC处理器,所述OpenResty服务器设置有LuaJIT模块,所述MVC处理器设置有Nginx配置模块,所述MVC处理器通过所述Nginx配置模块的配置文件和所述OpenResty服务器中LuaJIT模块导出的lua接口接入所述OpenResty服务器;
所述Nginx配置模块设置有Nginx配置入口,用于对所述Nginx配置模块进行配置输入;
所述OpenResty服务器通过连接http输入,并接收http请求,将所述http输入对应的业务处理数据发送到所述LuaJIT模块,以使所述LuaJIT模块分析所述http请求,以获取目标数据。
2.根据权利要求1所述的基于OpenResty的高性能MVC框架,其特征在于,所述OpenResty服务器包括Nginx主进程模块和Nginx子进程模块,所述Nginx主进程模块和Nginx子进程模块用于连接http输入,并将http输入对应的业务处理数据发送到所述LuaJIT模块。
3.根据权利要求1所述的基于OpenResty的高性能MVC框架,其特征在于,所述MVC处理器包括与所述Nginx配置模块相连的控制器、模型模块和视图模块。
4.根据权利要求1所述的基于OpenResty的高性能MVC框架,其特征在于,所述MVC处理器连接有输出端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710053612.0A CN106775775B (zh) | 2017-01-24 | 2017-01-24 | 一种基于OpenResty的高性能MVC框架 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710053612.0A CN106775775B (zh) | 2017-01-24 | 2017-01-24 | 一种基于OpenResty的高性能MVC框架 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106775775A CN106775775A (zh) | 2017-05-31 |
CN106775775B true CN106775775B (zh) | 2023-07-14 |
Family
ID=58942911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710053612.0A Active CN106775775B (zh) | 2017-01-24 | 2017-01-24 | 一种基于OpenResty的高性能MVC框架 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106775775B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928568B (zh) * | 2019-11-05 | 2022-07-26 | 杭州衣科信息技术股份有限公司 | 一种发布更新web应用程序时业务服务不间断的方法 |
CN110837359A (zh) * | 2019-11-06 | 2020-02-25 | 北京小狗智能机器人技术有限公司 | 一种以GOLANG语言实现的MVC Web框架 |
CN111371809B (zh) * | 2020-03-27 | 2022-02-18 | 武大吉奥信息技术有限公司 | 一种基于反向代理架构的服务器及gis服务访问控制方法 |
CN114448970A (zh) * | 2021-12-27 | 2022-05-06 | 天翼云科技有限公司 | 一种数据传输方法、装置及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104967630A (zh) * | 2014-04-10 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 网页访问请求的处理方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702719B1 (en) * | 2000-02-08 | 2010-04-20 | International Business Machines Corporation | Methods and apparatus for reducing the number of server interactions in network-based applications using a dual-MVC approach |
CN101557426A (zh) * | 2009-05-07 | 2009-10-14 | 中兴通讯股份有限公司 | 基于Web Service的统一管理接口机、Web Service组件及方法 |
CN102902537B (zh) * | 2012-09-19 | 2016-03-30 | 厦门亿联网络技术股份有限公司 | 基于FastCGI和HTML模板的嵌入式WEB MVC开发框架 |
CN104468148B (zh) * | 2013-09-12 | 2019-03-22 | 中兴通讯股份有限公司 | 一种nginx服务器配置维护方法及系统 |
CN104022857A (zh) * | 2014-06-23 | 2014-09-03 | 浪潮电子信息产业股份有限公司 | 一种基于多种工作模式的服务器引擎框架的设计方法 |
CN105338115A (zh) * | 2015-11-26 | 2016-02-17 | 上海晶赞科技发展有限公司 | 数据服务器 |
-
2017
- 2017-01-24 CN CN201710053612.0A patent/CN106775775B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104967630A (zh) * | 2014-04-10 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 网页访问请求的处理方法及装置 |
Non-Patent Citations (2)
Title |
---|
Research on Lightweight MVC Framework Based on Spring MVC and Mybatis;Dandan Zhang等;《2013 Sixth International Symposium on Computational Intelligence and Design》;第350-353页 * |
基于缓存技术的内容管理系统研究;靳莹;《中国优秀硕士学位论文全文数据库(电子期刊)》;第138-293页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106775775A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775775B (zh) | 一种基于OpenResty的高性能MVC框架 | |
CN105787119B (zh) | 基于混合引擎的大数据处理方法及系统 | |
US20180096047A1 (en) | Detecting clusters and relationships in large data sets | |
US20160210076A1 (en) | Object based memory fabric | |
US9959375B2 (en) | Efficient emulation and logic analysis | |
CN112749809B (zh) | 构造量子仿真系统的方法和装置 | |
US11029924B2 (en) | Program optimization by converting code portions to directly reference internal data representations | |
CN110959156A (zh) | 到数据库加速器的并行计算卸载 | |
CN110263277A (zh) | 页面数据的显示方法、更新方法、装置、设备及存储介质 | |
US20160314232A1 (en) | FPGA Trace Memory | |
WO2020211717A1 (zh) | 一种数据处理方法、装置及设备 | |
Manzi et al. | Exploring GPU acceleration of apache spark | |
Xu et al. | Zql: A unified middleware bridging both relational and nosql databases | |
CN102355502A (zh) | 存储系统远程接入桌面操作系统的远程接入方法 | |
CN114780100B (zh) | 编译方法、电子设备及存储介质 | |
Guo et al. | An efficient data organization and scheduling strategy for accelerating large vector data rendering | |
Zhang et al. | Optimizing execution for pipelined‐based distributed deep learning in a heterogeneously networked GPU cluster | |
US20160371239A1 (en) | Domain specific representation of document text for accelerated natural language processing | |
JP2024504523A (ja) | 会話aiアプリケーションのための話者適応型スピーチ終了検出 | |
CN208282941U (zh) | 一种基于usb的红外热成像实时传输系统 | |
CN111767059A (zh) | 深度学习模型的部署方法、装置、电子设备和存储介质 | |
US20100293283A1 (en) | On-demand marshalling and de-marshalling of network messages | |
KR102471553B1 (ko) | 컴퓨팅 기기에 의해 수행되는 방법, 장치, 기기 및 컴퓨터 판독가능 저장 매체 | |
US20240311380A1 (en) | Query processing on accelerated processing units | |
Chen | Spam message filtering recognition system based on tensorflow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |