cherishman2005 / nginx-modules

nginx/openresty, c/c++/golang, lua
MIT License
2 stars 0 forks source link

nginx-modules

拒绝内卷,创造神话

service-mesh

api-gateway

API网关

api-gateway

nginx

image

image

nginx-consul完美组合:

(1)服务发现API网关; (2)后端微服务架构:负载均衡;

nginx

(1)http/https API网关:限流,黑白名单,接入控制;—— 成熟的lua插件,C module; (2)http2; (3)http CDN代理缓存; (4)upsteram静态负载均衡;(4层,7层负载均衡); (5)c module插件开发,做点播/直播的转码转封装框架;

consul

(1)microservice服务发现; (2)key/value配置中心; (3)health健康检测; (4)与nginx结合,实现(4层/7层)动态负载均衡;

LVS

C++11

g++4.6 atomic and pair兼容

json

thread

pthread_kill

函数pthread_kill()向同一进程下的另一线程发送信号。因为仅在同一进程中可保证线程ID的唯一性,所以无法调用pthread_kill向其他进程中的线程发送信号。

go

rotate

ab压测

git

linux工具

通过netstat和lsof查询 本端和对端服务进程信息

安装netstat

Ubuntu 20.04 安装netstat工具

sudo apt install net-tools

linux配置

/etc/hosts

/etc/resolv.conf

/etc/apt/sources.list

sed和awk

构建docker镜像

git操作

base64

小结

技术总结

  1. http-api网关: openresty(nginx+lua) 不管是大体量 还是小体量业务。都或多或少可能面临被攻击的风险。 采用nginx网关开发一些lua插件,开发效率高,性能好。
  2. golang/nodejs开发业务效率高;
  3. rtc音视频: C++是必备条件,音视频传输,音视频处理; 音视频sdk。
  4. 积极拥抱开源,在开源的基础上做二次开发。

解决问题的能力

对AI技术的理解

对AI技术要有一个比较正确的理解,在很大程度上,AI技术只是一个辅助手段。

  1. 在直播公司,AI瘦脸技术,抠图等要多实践。-- 价值比较高。

    • 这些技术是在直播系统比较成熟、稳定的基础上去实践。
  2. 挂机,低质识别,优质推荐。

    • 这些用AI技术存在一定的忽悠成分,非常烧钱。不要被一些只会demo的AI算法人员(没有工程实践经验)主导。
    • 这些功能 多采用统计学的方法 去实践,效果更好,成本更低。
    • 另外,采用音视频基础技术去做一些低质识别(如检测主播端的设备、画质、码率、分辨率等)。 -- 更加利用直播技术良性发展。

技术(工作)氛围

大忌讳

后端研发的核心能力培养

语言使用感悟

后端技术感悟

提供工作效率,降低出错率。

开源感悟

个人感悟

  1. 一定不要轻易否定别人的劳动成果。

    • 让别人配合执行一项任务时,一开始的基调就是很简单;
    • 实质里面的细节很多,需要花时间。-- 自己实践了才会有感悟,没那么简单。
    • 什么高价值就是扯淡。
  2. 不要羡慕比人做AI项目的,每个人专注的点不同

    • 我在nginx http网关,轻量级代理 研究得比较深;
    • 在音视频领域(如ffmpeg转码,混流混画等),也是有自己的专长的。

FAQ

浏览器访问跨域问题

nginx与bfe比较

参考链接