一 常见API归属的模块
本节'不讲'细节知识点,只是对'openresty模块的能力'有一个'粗略'宏观的认识
① openresty由两类模块组成
1、一类是由'C模块'写的nginx模块
特点: ngx_xxx开头 --> '[http|upstream]'
2、一类是'lua'模块
备注:基于两个'核心'的openresty c模块 '[四层和七层]'实现的 --> 大部分基于'cosocket'
了解openresty提供的所有'模块'就会对openresty的'能力'有一个粗略的认知
② openresty的四个core核心nginx模块
③ openresty的nginx模块proxy反向代理模块
背景:实际是'http_lua模块'还'不是很完善'的时候'涌现'的这些模块 --> '早期'
特点:比较'old'模块,openresty还'没有'从官方默认模块中'去除',但是不推荐使用,主要'向后兼容'
重点:推荐使用'基于cosocket的lua库'来取代
后续: cosocket编程'和'memcached的应用'场景'
④ openresty C模块的一些工具模块
说明: '蓝色'默认编译;'红色'的默认没有编译
⑤ lua模块
说明:很多'传统 C模块'都会'被lua模块'替代 --> 大多数C模块就'没有'价值了
redis --> '哨兵'和'集群'支持吗?
mysql --> '主从'同步,'高可用'支持吗?
重点: 各种'中间件'的客户端 --> 'etcd'、'mysql'、'redis'、'kafka'、'consul'
1、所有的lua模块基本'都依赖'于(ngx_http|ngx_stream)_lua_module这两个'C模块'来实现的
2、'其它'的openresty中的nginx C模块都是比较老的模块,'不推荐'使用了