分布式系统基础设施常用术语

原创转载请注明出处:http://agilestyle.iteye.com/blog/2371211

分布式缓存

主要作用用于在高并发环境下,减轻数据库的压力,提高系统的响应速度和并发吞吐。当大量的读写请求涌向数据库时,磁盘的处理速度与内存显然不在一个量级,因此,在数据库之前加一层缓存,能够显著提高系统的响应速度,并降低数据库的压力。

持久化存储

MySQL作为传统的关系型数据库,MySQL提供完整的ACID操作,支持丰富的数据类型、强大的关联查询、where语句等,能够非常容易地建立查询索引,执行复杂的内连接、外连接、求和、排序、分组等操作、并支持存储过程、函数等功能,产品成熟度高,功能强大。但是对于需要应对高并发访问并且存储海量数据的场景来说,出于对性能的考虑,不得不放弃很多传统关系型数据库原本强大的功能,牺牲了系统的易用性,并且使得系统的设计和管理变得更为复杂。

NoSQL与传统的关系型数据库最大的差别在于,它不使用SQL作为查询语言来查找数据,而采用key-value形式进行查找,提供了更高的查询效率及吞吐,并且能够更加方便地进行扩展,存储海量数据,在数千个节点上进行分区,自动进行数据的复制和备份。

消息系统

在分布式系统中,消息作为应用间通信的一种方式,得到了十分广泛的应用。消息可以被保存在队列中,直到被接受者取出,由于消息发送者不需要同步等待消息接受者的响应,消息的异步接收降低了系统集成的耦合度,提升了分布式系统协作的效率,使得系统能够更快地响应用户,提纲更高的吞吐。当系统处于峰值压力时,分布式消息队列还能够作为缓冲,削峰填谷,缓解集群的压力,避免整个系统被压垮。

垂直化搜索引擎

垂直化搜索引擎在分布式系统中是一个非常重要的角色,它既能满足用户对于全文检索、模糊匹配的需求,解决数据库like查询效率低效的问题,又能够解决分布式环境下,由于采用分库分表,或者使用NoSQL数据库,导致无法进行多表关联或者进行复杂查询的问题。

其它基础设施

  • 实时计算
  • 离线计算
  • 分布式文件系统
  • 日志收集系统
  • 监控系统
  • 数据仓库
  • CDN系统
  • 负载均衡系统
  • 消息推送系统
  • 自动化运维系统

Reference

大型分布式网站架构设计与实践 陈康贤 著

猜你喜欢

转载自agilestyle.iteye.com/blog/2371211
今日推荐