我的公众号:
想到优化,想必这是很多开发人员的乐趣,但从哪些方面入手呢,我这里简单的说几点,通常优化可以从以下几点:架构、安全、代码细节、数据库等
一 、架构
比如:
1-为了系统的解耦,把系统换成微服务等
2-为了提高性能,加入了缓存和异步处理的消息队列等
3-全文搜索加入ElasticSearch等
4-异步处理加入消息队列等
5-分层、分割、集群、冗余、自动化等
二、安全
比如:
1-注册、登录的安全:防止批量注册,账号的窃取、密码破解等
2-支付安全:防止伪造接口、并发导致的超卖等
3-防止恶意攻击:比如sql注入、XSS攻击、CSRF攻击等
三、代码细节
比如:
1-各字符串类型的区别使用
2-比如区别使用并发安全类型和非并发安全类型,通常并发安全是用牺牲性能为代价的
3-代码风格,比如if语句的卫语句
4-单例模式的使用
5-集合的遍历几种形式的使用
6-慎用对象锁和Synchrogazer等锁
四、数据库
比如:
1-加入索引
2-sql优化,尽量走索引等
3-锁的优化,比如尽量用乐观锁,区分事务级别的使用
五、具体技术栈的搭建、配置调优
比如:
1-比如Java的JVM优化
2-MQ消息队列的优化,比如加入集群,RabbitMQ加入镜像模式
3-ElasticSearch的优化
4-Mysql优化
六、文档或规范等
比如:
1-代码加入注释,不然时间长了,自己写的代码都会忘记的
2-业务、架构等文档的整理等