通过学习《Java工程师修炼之道》——杭建,记录每日学习笔记
1.1后端基础设施
1.1.1 请求统一入口——API网关
- API网关:集合负载均衡、API访问权限控制、用户鉴权三项功能的服务。
缺点:容易成为性能瓶颈,改善方案为取消API网关。
1.1.2 业务应用和后端基础框架
业务应用:
- 在线业务应用:请求量大、高并发、容错率低
- 内部业务应用:保密性高、压力小、并发小、允许故障发生。
后端框架:
- MVC框架:统一开发流程、提高开发效率、屏蔽一些关键细节,例:Spring MVC、Jersey、Jfinal、阿里WebX
- IoC框架:依赖注入/控制反转的框架。Spring框架的核心就是IoC功能。
- ORM框架:屏蔽底层数据库细节、提供统一的数据访问接口的数据库操作框架,另外也能够支持客户端主从、分库、分表等分布式特性。例:MyBatis
- 缓存框架:对Redis、Memcache这些缓存软件操作的统一封装,支持分布式方案、主从等。
- Java EE应用性能检测框架:检测每个请求、方法调用、JDBC连接、Redis连接等的耗时、状态等。
1.1.3 缓存、数据库、搜索引擎、消息队列
- 缓存:解决热点数据的访问问题,提高数据查询性能。例:Memcached、Redis软件。
- 数据库:存储业务数据,例:关系型数据库(MySQL、PostgreSQL)以及noSQL(Mongon DB、HBase)
- 搜索引擎:针对全文检索以及数据各种维度的查询设计的软件。
- 消息队列:数据传输的一种方式。例:为日志设计的Kafka以及重事务的RabbitMQ等。
1.1.4 文件存储
特性:可靠性、容灾性、稳定性
技术:底层RAID、上层Hadhoop的HDFS分布式文件存储,还有NFS、Samba共享文件系统提供简单的分布式存储特性。
性能:使用SSD硬盘替代机械硬盘。