架构师必备之高性能架构学习路线:消息中间件,Nginx,Redis等!
一)Zookeeper分布式环境指挥官 zookeeper基础 ZooKeeper是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。 分布式应用的优点 (1)可靠性 - 单个或几个系统的故障不会使整个系统出现故障。 (2)可扩展性 - 可以在需要时增加性能,通过添加更多机器,在应用程序配置中进行微小的更改,而不会有停机时间。 (3)透明性 - 隐藏系统的复杂性,并将其显示为单个实体/应用程序。 分布式应用的挑战 (1)竞争条件 - 两个或多个机器尝试执行特定任务,实际上只需在任意给定时间由单个机器完成。例如,共享资源只能在任意给定时间由单个机器修改。 (2)死锁 - 两个或多个操作等待彼此无限期完成。 (3)不一致 - 数据的部分失败。 二)Nginx高并发分流进阶实战 nginx如何实现高并发 简单来讲,就是异步,非阻塞,使用了epoll和大量的底层代码优化。 稍微详细一点展开的话,就是nginx的特殊进程模型和事件模型的设计。 进程模型 nginx采用一个master进程,多个woker进程的模式。 master进程主要负责收集、分发请求。当一个请求过来时