Java 其它
一、后端服务优化
1. 代码:简化复杂的逻辑,采用更高效的算法;
2. 数据库
A. SQL调优:基本SQL优化及explain工具执行;
B. 连接池:参数调优;
C. 架构方面:读写分离、主从库负载均衡和分库分表。
3. 缓存
A. 本地缓存:Ehcache和HashMap;
B. 分布式缓存:Redis。
4. 异步
A. 线程:对于用户不关心或不需要立即获取结果的异步处理;
B. 消息队列:利用RabbitMQ等中间件系统处理。
5. 存储
A. NoSQL:ClickHouse列式存储和Elasticsearch存储日志。
6. 分布式
A. 集群部署:解决单击处理能力不足;
B. 微服务拆分:复杂业务按模块拆分等;
C. 动态扩容:扩大机器配置。
7. JVM
A. GC回收和CPU使用率。
二、DDD领域驱动设计
1. 定义:DDD全称Domain Driven Design,DDD主要对传统软件开发流程(分析-设计-编码)中各阶段的割裂问题而提出,避免由于一开始分析不明或在软件开发过程中的信息流转不一致而造成软件无法交付的问题,DDD强调先定义好领域模型之后再进行开发,并且领域模型可以指导开发。