.gitignore 文件,用于忽略文件的add .
.gitlab-ci.yml 文件,用于管理项目的runner任务 首先,before和afterscript都是空,这里不管 variables中定义了不少常量?变量。这里是ip变量的作用是,每个tag打上去后,会执行script,然后会curl 到每个ip服务上,启动唤醒,然后nginx -reload啥的(opent,opens) stages:定义阶段,后续每个job中就可以使用这些阶段 不同job中的相同stages是并行的,但各个阶段是顺序的(比如说这个tag,触发了多个job,这些job都会同时执行build_dev 都执行通过后,会同时执行下一阶段)
script 这里Runner执行的命令或脚本,这里还没完全看懂
only 、except 这两个联系在一起,用于打tags行为与目标服务器的绑定。 only是,只有符合下面名称的tag名称,才会执行创建job(即执行这个job)
.luacheckrc 文件 暂时不清楚这个 作用可能是对lua 全局变量的控制,比如说忽略
elk_log_handler.lua 文件 用于将日志信息交接到Kibana,!网址连接,(志东的账号),数据结构是契合的。 用户请求lua接口,均会进入log_by_lua_file 阶段,执行elk_log_handler.lua文件 然后再elk_log_handler.lua中把日志发到Kibana
用户请求有时候会返回406,而 elk 在遇见 非200 返回时会无法打印到 Kibana 上面去,用log_by_lua_file这个阶段,不会受到非200返回的影响,所以能将信息打印到Kibana 去 ngx.is_subrequest 这个字段是如何为true的?这个还不清楚
elk_socket_obj.lua !rawget函数的使用 大概作用是,区分table与元表中字段的值
fastcgi_params nginx自带的配置文件
fastcgi.conf nginx自带的配置文件
init-by-lua.lua lua执行阶段,初始化阶段,在此加载各种方法
koi-utf,koi-win,mime.types,win-utf nginx自带的
netutil.lua 这个方法没用过,大概是格式转换,暂时不深究
nlog.lua 包含所有nlog方法
**sit.conf ------ uat.conf ---------- prod.conf ** nginx的代理配置文件,不同环境的中间件配置server不同(xxx_middleware_server)
负载均衡
各个接口模块的路由
route_by_env文件夹
主要是上海接口的中间件路由,区分sit,uat,prod环境
包含各种功能性函数方法
中间件、ots、es的upstream
反向代理与正向代理的区别:正向代理代理的对象是客户端,反向代理代理的对象是服务端 VPN,正向代理,用户通过代理上谷歌,谷歌不知道真实的用户是谁,隐藏的是客户端 lua,反向代理,用户请求dev服务器,经过upsteam,由多个服务提供服务器,用户不知道最终是哪个ip的服务器提供的服务,隐藏的是服务端
bidding_util.lua 招投标的轮子,但并不通用 比较通用的方法是add_etype 和add_info,配合common_util.get_etype_by_eid_list使用
common_util.lua 通用方法
get_requests_args、get_request_id table的切片方法,merge方法,unique(去重),contains(table中是否有某个元素),table.sort(tb,function(a,b)) stiring_split方法 replace_string (替换,一一对应)
common_util.deep_copy 深拷贝 获取字符串长度:string.get_string_length common_util.format_percent 有关百分比及保留小数(可以优化的) common_util.get_etype_by_eid_list 获取etype,返回已经聚合的结果 common_util.person_job_sort_map 人员职位排序map
common_util.get_month_date 获取最近连续m个月的月份日期,还有每个月的第一天,最后一天(上下文)
随机数方法(随机取值),不知道作用 还有好多没用到的方法(有待优化),这里不作记录
enterprise_panorama_util.lua deal_start_year_func 处理成立年限,应该算是通用方法 deal_reg_capi_func 注册资本筛选,通用方法 deal_area_func 区域筛选 deal_domain_func 行业筛选 deal_distance_func 距离筛选 check_point 企业标签筛选 (创新情报的筛选搜索列表项有个类似的轮子) deal_status_func 经营状态筛选 format_finance_amount 融资金额格式化
env_variate_util 暂时不看
es_util.lua
get_format_body_data 该方法对响应结果的状态码没有进行判断