CN106775775A - 一种基于OpenResty的高性能MVC框架 - Google Patents
一种基于OpenResty的高性能MVC框架 Download PDFInfo
- Publication number
- CN106775775A CN106775775A CN201710053612.0A CN201710053612A CN106775775A CN 106775775 A CN106775775 A CN 106775775A CN 201710053612 A CN201710053612 A CN 201710053612A CN 106775775 A CN106775775 A CN 106775775A
- Authority
- CN
- China
- Prior art keywords
- openresty
- mvc
- nginx
- modules
- performance
- 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.)
- Granted
Links
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 (5)
1.一种基于OpenResty的高性能MVC框架,其特征在于,包括OpenResty服务器和MVC处理器,所述OpenResty服务器设置有LuaJIT模块,所述MVC处理器设置有Nginx配置模块,所述MVC处理器通过所述Nginx配置模块的配置文件和所述OpenResty服务器中LuaJIT模块导出的lua接口接入所述OpenResty服务器。
2.根据权利要求1所述的基于OpenResty的高性能MVC框架,其特征在于,所述OpenResty服务器包括Nginx主进程模块和Nginx子进程模块,所述Nginx主进程模块和Nginx子进程模块用于连接http输入,并将http输入对应的业务处理数据发送到所述LuaJIT模块。
3.根据权利要求1所述的基于OpenResty的高性能MVC框架,其特征在于,所述MVC处理器包括与所述Nginx配置模块相连的控制器、模型模块和视图模块。
4.根据权利要求1所述的基于OpenResty的高性能MVC框架,其特征在于,所述Nginx配置模块设置有Nginx配置入口。
5.根据权利要求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 true CN106775775A (zh) | 2017-05-31 |
CN106775775B 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110837359A (zh) * | 2019-11-06 | 2020-02-25 | 北京小狗智能机器人技术有限公司 | 一种以GOLANG语言实现的MVC Web框架 |
CN110928568A (zh) * | 2019-11-05 | 2020-03-27 | 杭州衣科信息技术有限公司 | 一种发布更新web应用程序时业务服务不间断的方法 |
CN111371809A (zh) * | 2020-03-27 | 2020-07-03 | 武大吉奥信息技术有限公司 | 一种基于反向代理架构的服务器及gis服务访问控制方法 |
CN114448970A (zh) * | 2021-12-27 | 2022-05-06 | 天翼云科技有限公司 | 一种数据传输方法、装置及设备 |
Citations (7)
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 |
WO2010127531A1 (zh) * | 2009-05-07 | 2010-11-11 | 中兴通讯股份有限公司 | 基于web service的装置、web service组件及方法 |
CN102902537A (zh) * | 2012-09-19 | 2013-01-30 | 厦门亿联网络技术股份有限公司 | 基于FastCGI和HTML模板的嵌入式WEB MVC开发框架 |
CN104022857A (zh) * | 2014-06-23 | 2014-09-03 | 浪潮电子信息产业股份有限公司 | 一种基于多种工作模式的服务器引擎框架的设计方法 |
CN104468148A (zh) * | 2013-09-12 | 2015-03-25 | 中兴通讯股份有限公司 | 一种nginx服务器配置维护方法及*** |
CN104967630A (zh) * | 2014-04-10 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 网页访问请求的处理方法及装置 |
CN105338115A (zh) * | 2015-11-26 | 2016-02-17 | 上海晶赞科技发展有限公司 | 数据服务器 |
-
2017
- 2017-01-24 CN CN201710053612.0A patent/CN106775775B/zh active Active
Patent Citations (7)
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 |
WO2010127531A1 (zh) * | 2009-05-07 | 2010-11-11 | 中兴通讯股份有限公司 | 基于web service的装置、web service组件及方法 |
CN102902537A (zh) * | 2012-09-19 | 2013-01-30 | 厦门亿联网络技术股份有限公司 | 基于FastCGI和HTML模板的嵌入式WEB MVC开发框架 |
CN104468148A (zh) * | 2013-09-12 | 2015-03-25 | 中兴通讯股份有限公司 | 一种nginx服务器配置维护方法及*** |
CN104967630A (zh) * | 2014-04-10 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 网页访问请求的处理方法及装置 |
CN104022857A (zh) * | 2014-06-23 | 2014-09-03 | 浪潮电子信息产业股份有限公司 | 一种基于多种工作模式的服务器引擎框架的设计方法 |
CN105338115A (zh) * | 2015-11-26 | 2016-02-17 | 上海晶赞科技发展有限公司 | 数据服务器 |
Non-Patent Citations (8)
Title |
---|
DANDAN ZHANG等: "Research on Lightweight MVC Framework Based on Spring MVC and Mybatis", 《2013 SIXTH INTERNATIONAL SYMPOSIUM ON COMPUTATIONAL INTELLIGENCE AND DESIGN》, pages 350 - 353 * |
GITHUB: "openresty 前端开发轻量级 MVC 框架封装一(控制器篇)", 《HTTPS://GITHUB.COM/362228416/OPENRESTY-WEB-DEV/TREE/MASTER/DEMO8》 * |
GITHUB: "openresty 前端开发轻量级 MVC 框架封装一(控制器篇)", 《HTTPS://GITHUB.COM/362228416/OPENRESTY-WEB-DEV/TREE/MASTER/DEMO8》, 10 January 2017 (2017-01-10), pages 1 - 8 * |
林巧等: "Lua语言在轻量级Web服务器设计中的应用", 《计算机***应用》 * |
林巧等: "Lua语言在轻量级Web服务器设计中的应用", 《计算机***应用》, no. 07, 31 July 2016 (2016-07-31) * |
王晓君等: "基于Struts的轻量级J2EE框架研究与应用", 《科技信息》 * |
王晓君等: "基于Struts的轻量级J2EE框架研究与应用", 《科技信息》, no. 25, 30 September 2009 (2009-09-30) * |
靳莹: "基于缓存技术的内容管理***研究", 《中国优秀硕士学位论文全文数据库(电子期刊)》, pages 138 - 293 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928568A (zh) * | 2019-11-05 | 2020-03-27 | 杭州衣科信息技术有限公司 | 一种发布更新web应用程序时业务服务不间断的方法 |
CN110928568B (zh) * | 2019-11-05 | 2022-07-26 | 杭州衣科信息技术股份有限公司 | 一种发布更新web应用程序时业务服务不间断的方法 |
CN110837359A (zh) * | 2019-11-06 | 2020-02-25 | 北京小狗智能机器人技术有限公司 | 一种以GOLANG语言实现的MVC Web框架 |
CN111371809A (zh) * | 2020-03-27 | 2020-07-03 | 武大吉奥信息技术有限公司 | 一种基于反向代理架构的服务器及gis服务访问控制方法 |
CN114448970A (zh) * | 2021-12-27 | 2022-05-06 | 天翼云科技有限公司 | 一种数据传输方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106775775B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775775A (zh) | 一种基于OpenResty的高性能MVC框架 | |
US10848542B2 (en) | Systems and methods for web API communication | |
Harir et al. | Variational iteration method and differential transformation method for solving the SEIR epidemic model | |
CN102938776B (zh) | 基于ajax技术的动态页面处理*** | |
CN110661826B (zh) | 代理服务器端处理网络请求的方法和代理服务器 | |
Mendina et al. | A general purpose parallel block structured open source incompressible flow solver | |
JP2015520436A5 (zh) | ||
WO2020041960A1 (zh) | 芯片适配确定方法及相关产品 | |
WO2015021809A1 (zh) | 动态语言代码执行方法和装置 | |
CN106657344A (zh) | 终端浏览器操作***的通信方法及终端浏览器操作*** | |
CN102654840A (zh) | 一种函数回调的方法和*** | |
CN204145546U (zh) | 一种交互式智能问询服务终端平台 | |
Cao et al. | Human-driven edge computing and communication: Part 2 | |
CN103812865B (zh) | 一种云资源平台下实现用户透明登录的方法 | |
CN105160101B (zh) | 建筑信息模型bim的处理***和处理方法 | |
US11860067B2 (en) | Thermal test vehicle | |
CN110728009A (zh) | 仿真方法、装置和*** | |
Meng et al. | A mashup model for distributed data integration | |
Zhao et al. | A computing model for real-time stream processing | |
CN104036006A (zh) | 一种实现Windows下连接控制Hbase的方法及装置 | |
Osanaiye et al. | From cloud to fog computing | |
Eicker | Taming Heterogeneity by Segregation--The DEEP and DEEP-ER take on Heterogeneous Cluster Architectures | |
Xiao-Kang et al. | Realization of Cross-platform Minority Language Translation System Based on H5 | |
Ma et al. | Operation, administration and maintenance (OA&M) architecture design for internet of things | |
CN104394204A (zh) | 一种实现负载均衡中信息交互方法及*** |
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 |