`

JM总结

阅读更多

1、系统权限

时间戳,分配的key进行md5,动态的带过来

2、系统分层

http层和本地dao要分离开,不能对彼此产生影响

3、系统模块化

随时提供可拆分的代码,进行拆分部署

4、数据库索引查询

数据库查询要走索引,要监控数据量大时索引的执行变化。

5、冷数据和热数据的区分存储

一般系统的数据都有有效期的控制,对于冷数据,可以定时先归档或者存储到其他地方,保证实时查询的快速,和生产级别资源的有效利用

6、jvm参数的设置

jvm设置新生代老生带等参数,保证垃圾回收的运行

7、对于大文件的序列化

直接使用从文件进行序列化,避免先加载到内存中而导致的内存崩溃

8、对于序列化和反序列化

整个框架尽量只使用一个jar,并且是使用jacson,他对大内存的数据的转化很省内存,并且可以单例使用

9、监控尽量与程序解耦

监控采用第三方的数据抓取的方式,系统只需要把关心的指标存储到内存中,由监控端定时抓取,例如采用grafana+zabbix监控

10、定义系统的全局返回值状态

系统全局返回值状态提前定义,开发中统一规范

11、能统一入参的尽量统一入参,入身份证号,姓名,手机号,银行卡号这类的

12、监控系统需要监控内存,http,每个请求的响应时间和qps,还需要监控不同类型的错误。

13、系统需要有调用频率的监控,类似防爬策略--还没怎么研究

14、提前定义好线程池,分两个线程池,一个是业务级线程池,一个是监控或者日志级线程池

15、系统的实时服务和定时任务服务要单独开,互相不能影响

16、数据报送的系统一定要把报送的内容落地,审计和后期统计很重要

17、脾气太急不行,管着点自己的脾气

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics