分布式系统
分布式系统指通过计算机网络将多台计算机和通信软件组件连接在一起。其优点主要在于分担负载和可扩展。
面向并发编程
随着分布式系统的普及和计算机多核技术的发展,面积并发编程将成为以后的主流,包括DDD(领域驱动设计)+大数据+并发编程。
微服务
应用软件架构设计模式,推崇单一职责、接口明确、轻量通信和服务自治等原则。典型的标杆是Spring Cloud。
容器
容器主要包括:docker、kubernetes等,其作用主要是配合微服务易于开发、维护,按需伸缩的特点。
Devops
Dev开发和Ops运维,Devops解决了开发与运维之间的沟通、合作、集成和自动化等,包括CI/CD(持续集成、持续部署)等。
分布式存储系统
- 一致性:为了防止某个服务器故障后系统仍然可以正常工作,一般将多份相同数据存储在多台服务器上(冗余保证高可用性),此时多个副本数据之间的需要保持一致性。
- 可用性:当系统中的部分节点故障后系统不影响客户端的读/写,称为可用性。
- 分区容错性:分布式存储系统通过网络将多台服务器连接在一起,当网络出现故障时,分布式存储系统仍然能够正常工作。
- 心跳机制用于检测故障节点。
负载均衡
分布式系统主要通过节点实现负载均衡,当节点失效时,数据必须通过副本等机制恢复。选择针对应用和负载的存储优化技术,将数据存储与应用耦合。