2. TIS核心参数概览:参数分类、命名规范与作用域
好,咱们进入正题。上一章聊了TIS是什么,这一章咱们得把手弄脏——看看TIS到底有哪些参数,它们怎么分类、怎么命名、管多大范围。
说实话,我刚接触TIS那会儿,面对几百个参数,头都是大的。后来慢慢摸出规律,发现其实就三大类。你把这个框架搭好了,后面调参就顺了。
2.1 参数分类:性能、安全、兼容
TIS的参数虽然多,但按用途分,无非就三种:性能类、安全类、兼容类。我习惯把它们比作一个系统的三个维度——跑得快、不出事、能适配。
| 分类 | 核心目标 | 典型参数举例 | 我踩过的坑 |
|---|---|---|---|
| 性能类 | 提升吞吐、降低延迟 | 连接池大小、超时时间、缓存TTL | 连接池设太大,直接把DB打挂了 |
| 安全类 | 防止攻击、数据保护 | 加密算法、认证方式、IP白名单 | 忘了配白名单,测试环境被扫了 |
| 兼容类 | 适配不同环境、版本 | 协议版本、字符集、时区 | 时区没对齐,日志时间全乱了 |
核心原则:三类参数不是孤立的。性能调过头可能牺牲安全,安全加太猛可能拖慢性能。你得找到那个平衡点。
2.1.1 性能类参数
这类参数直接影响系统的响应时间和资源消耗。我个人习惯先关注这几个:
- 连接池大小:太小了排队,太大了浪费。我一般从CPU核心数×2开始试。
- 超时时间:读超时、写超时、连接超时。设太短容易误杀,设太长拖死系统。
- 缓存策略:TTL、最大条目数、淘汰算法。LRU还是LFU?得看你的访问模式。
我的经验:性能参数调优,别一次改太多。一次只改一个,观察效果,再动下一个。我曾经一口气改了五个参数,结果出问题了都不知道是哪个引起的。
2.1.2 安全类参数
安全类参数,说白了就是给系统上锁。但锁太多,开门也慢。
- 加密算法:AES-256还是RSA?强度越高,计算开销越大。
- 认证频率:每次请求都认证?还是只认证一次?
- 访问控制:IP白名单、角色权限、API密钥。
注意:安全参数千万别用默认值。默认值往往是"能跑就行",不是"安全可靠"。我曾经见过一个项目,上线半年才发现用的还是默认的admin/admin。
2.1.3 兼容类参数
这类参数最容易被忽略。你想想看,本地跑得好好的,一上生产就崩,多半是兼容参数没配对。
- 协议版本:HTTP/1.1还是HTTP/2?TLS 1.2还是1.3?
- 字符集:UTF-8还是GBK?乱码问题十有八九是这里出的。
- 时区:UTC还是本地时间?日志、定时任务、数据同步都依赖它。
2.2 参数命名规范
命名这事,看着小,其实特别重要。我见过一个项目,参数名五花八门——有人用驼峰,有人用下划线,还有人用拼音缩写。维护起来简直噩梦。
我个人推荐这套规范:
| 规范项 | 推荐做法 | 示例 | 不推荐 |
|---|---|---|---|
| 命名风格 | 小写字母+下划线 | max_connections |
maxConnections、MAXCONNECTIONS |
| 层级分隔 | 点号(.) | db.pool.size |
db_pool_size、dbPoolSize |
| 含义清晰 | 动词+名词 | enable_ssl |
ssl、flag1 |
| 单位标注 | 后缀标明单位 | timeout_ms |
timeout(谁知道是秒还是毫秒?) |
命名铁律:一个好名字,别人不用看文档就能猜出它是什么意思、什么类型、什么单位。
2.3 参数作用域
参数的作用域,决定了这个参数能影响多大范围。我把它分成三个层级:
- 全局级:整个系统生效。比如系统编码、默认超时。
- 模块级:某个子系统或组件生效。比如数据库连接池参数。
- 请求级:单次请求或会话生效。比如本次请求的超时时间。
为什么会这样分?因为不同场景需要不同粒度的控制。全局参数设一次就行,请求级参数可以灵活调整。
避坑指南:我曾经把请求级参数误配成全局级,结果所有请求都用了同一个超时时间,高并发时大量请求排队超时。记住:作用域越小,灵活性越高,但管理成本也越大。
2.4 知识体系总览
下面这张图,把咱们这一章的核心内容串起来了。你可以把它当个地图,后面调参时回来看看。
2.5 小结
这一章咱们把TIS参数的骨架搭起来了。记住三个关键词:分类、命名、作用域。后面每一章都会围绕这个框架展开。
嗯,这里要注意:别急着记参数的具体值。先把分类逻辑搞清楚,后面调参时你自然知道该找哪类参数、怎么命名、影响多大范围。