tcp连接超时是什么意思(出现tcp连接超时原因和解决法)(10/13)

来源:国外服务器 在您之前已被浏览:1 次
导读:目前正在解读《tcp连接超时是什么意思(出现tcp连接超时原因和解决法)(10/13)》的相关信息,《tcp连接超时是什么意思(出现tcp连接超时原因和解决法)(10/13)》是由用户自行发布的知识型内容!下面请观看由(国外主机 - www.2bp.net)用户发布《tcp连接超时是什么意思(出现tcp连接超时原因和解决法)(10/13)》的详细说明。
笨笨网美国主机,w ww.2 b p .n e t

12. 【参考】对于公司外的 http/api 开放接口必须使用“错误码”;而应用内部推荐异常抛出; 跨应用间 RPC 调用优先考虑使用 Result 方式,封装 isSuccess()方法、“错误码”、“错误简短信息”。

说明:关于 RPC 方法返回方式使用 Result 方式的理由:

1) 使用抛异常返回方式,调用方如果没有捕获到就会产生运行时错误。

2) 如果不加栈信息,只是 new 自定义异常,加入自己的理解的 error message,对于调用端解决问题的帮助不会太多。如果加了栈信息,在频繁调用出错的情况下,数据序列化和传输的性能损耗也是问题。

13. 【参考】避免出现重复的代码(Don’t Repeat Yourself),即 DRY 原则。

说明:随意复制和粘贴代码,必然会导致代码的重复,在以后需要修改时,需要修改所有的副本,容易遗漏。必要时抽取共性方法,或者抽象公共类,甚至是组件化。

正例:一个类中有多个 public 方法,都需要进行数行相同的参数校验操作,这个时候请抽取:

private boolean checkParam(DTO dto) {…}

(二) 日志规约

1. 【强制】应用中不可直接使用日志系统(Log4j、Logback)中的 API,而应依赖使用日志框架

SLF4J 中的 API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

private static final Logger logger = LoggerFactory.getLogger(Abc.class);

2. 【强制】对 trace/debug/info 级别的日志输出,必须使用条件输出形式或者使用占位符的方式。

说明:logger.debug(“Processing trade with id: ” + id + ” and symbol: ” + symbol); 如果日志级别是 warn,上述日志不会打印,但是会执行字符串拼接操作,如果 symbol 是对象,会执行 toString()方法,浪费了系统资源,执行了上述操作,最终日志却没有打印。

正例:(条件)建设采用如下方式

if (logger.isDebugEnabled()) {

logger.debug(“Processing trade with id: ” + id + ” and symbol: ” + symbol);

}

正例:(占位符)

logger.debug(“Processing trade with id: {} and symbol : {} “, id, symbol);

3. 【强制】避免重复打印日志,浪费磁盘空间,务必在 log4j.xml 中设置 additivity=false。正例:

4. 【强制】异常信息应该包括两类信息:案发现场信息和异常堆栈信息。如果不处理,那么通过关键字 throws 往上抛出。

正例:logger.error(各类参数或者对象 toString() + “_” + e.getMessage(), e);

5. 【推荐】谨慎地记录日志。生产环境禁止输出 debug 日志;有选择地输出 info 日志;如果使用 warn 来记录刚上线时的业务行为信息,一定要注意日志输出量的问题,避免把服务器磁盘撑爆,并记得及时删除这些观察日志。

说明:大量地输出无效日志,不利于系统性能提升,也不利于快速定位错误点。记录日志时请思考:这些日志真的有人看吗?看到这条日志你能做什么?能不能给问题排查带来好处?

6. 【推荐】可以使用 warn 日志级别来记录用户输入参数错误的情况,避免用户投诉时,无所适从。如非必要,请不要在此场景打出 error 级别,避免频繁报警。

说明:注意日志输出的级别,error 级别只记录系统逻辑出错、异常或者重要的错误信息。

二、安全规约

(一)数据库访问

1. 【强制】用户输入的 SQL 参数严格使用参数绑定或者 METADATA 字段值限定,防止 SQL 注入, 禁止字符串拼接 SQL 访问数据库。

2. 【强制】数据库连接字符串不应当在应用程序中硬编码。连接字符串应当存储在一个可信服务器的独立配置文件中,必要时,账户和密码字段需要加密。

3. 【推荐】当应用程序访问数据库时,应使用尽可能最低的权限。

(二)服务器管理

1. 【强制】关闭服务器中文件上传目录的运行权限,防止或限制上传任意可能被 Web服务器解析的文件。

2. 【推荐】将 Web服务器、进程和服务的账户限制为尽可能低的权限。

3. 【推荐】为存储在服务器中的敏感信息提供恰当的访问控制。这包括缓存的数据、临时文件以及只允许特定系统用户访问的数据。

(三)访问控制

1. 【强制】用户请求传入的任何参数必须做有效性验证。说明:忽略参数校验可能导致:

l page size 过大导致内存溢出

l 恶意 order by 导致数据库慢查询

l 任意重定向

l SQL 注入

笨笨网美国主机,w ww.2 b p .n e t
提醒:《tcp连接超时是什么意思(出现tcp连接超时原因和解决法)(10/13)》最后刷新时间 2025-03-21 11:13:49,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《tcp连接超时是什么意思(出现tcp连接超时原因和解决法)(10/13)》该内容的真实性请自行鉴别。