CN106775775A - 一种基于OpenResty的高性能MVC框架 - Google Patents

一种基于OpenResty的高性能MVC框架 Download PDF

Info

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
Application number
CN201710053612.0A
Other languages
English (en)
Other versions
CN106775775B (zh
Inventor
龚会文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Kai Lun Intelligent Technology Co Ltd
Original Assignee
Shenzhen Kai Lun Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Kai Lun Intelligent Technology Co Ltd filed Critical Shenzhen Kai Lun Intelligent Technology Co Ltd
Priority to CN201710053612.0A priority Critical patent/CN106775775B/zh
Publication of CN106775775A publication Critical patent/CN106775775A/zh
Application granted granted Critical
Publication of CN106775775B publication Critical patent/CN106775775B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software 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的高性能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处理器连接有输出端口。
CN201710053612.0A 2017-01-24 2017-01-24 一种基于OpenResty的高性能MVC框架 Active CN106775775B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 上海晶赞科技发展有限公司 数据服务器

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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