大型网站后端架构设计

栏目: 数据库 · 发布时间: 5年前

后端架构设计涉及很多方面,并且跟网站规模有很大关系,规模越大涉及技术越多,下面介绍一下超大型网站后端架构设计,以及包含哪些核心技术。

大型网站后端架构设计

分层是架构设计一种重要方式,通过分层来讲问题很高隔离,后端架构可以分为三层,一层是接入层、服务层、存储层。

大型网站后端架构设计

接入层通过LVS、HAProxy等技术将请求接入,将请求量转发给后边nginx+lua,在这一层通过 lua 扩展构建一些业务逻辑,性能很高。

服务层包含http 服务,http服务一般实现组合逻辑,Tomcat是http服务所在容器,http服务一般实现比如填充sku 属性、描述、图片、说明、介绍等信息业务逻辑。

服务层RPC服务一般是更为基层服务,比如提供个性化推荐BI服务,返回推荐sku列表或者文章素材列表。RPC服务实现服务横向扩展,以及实现业务纵向拆分,能够使团队按职能进行拆分。RPC服务目前用的比较多的是dubbo、spring cloud。

服务层包含Monitor监控服务,监控包含多个纬度。线上服务业务纬度,对线上服务性能比如tp99指标,对于可用率是否100%情况进行监控,并且可以设置报警阈值,当监控达到阈值进行相应报警。jvm监控,对jvm内存、cpu、线程数等情况进行监控。docker监控,对 docker 内存、进程数、线程数、网络、磁盘等进行监控。通过以上技术手段实现对线上服务可用率、性能、jvm、docker等资源使用情况监控。能够预防线上服务问题,以及线上出现问题后能够快速定位问题,查找问题原因从而解决问题。

服务层Zookeeper可以实现注册中心和配置管理下发等。Zookeeper作为分布式系统核心协作组件,在分布式系统中起着很重要作用。在服务端开发中Zookeeper也起着核心作用,比如用作微服务注册中心,管理微服务注册信息。或者基于Zookeeper实现配置管理工具,方便对于线上服务配置管理以及配置下发,从而实现秒级降级以及秒级配置更新。Zookeeper还可以用作分布式锁,协调多个微服务同步操作。比如微服务缓存更新,可以通过Zookeeper协调,避免后端数据库压力过大导致数据库服务过载或崩溃。

存储层 memcachedredis 可以用来作为缓存服务提升访问性能,在某些场景下redis也可以作为主要存储,比如推荐系统,访问量大,但是对于数据事务性要求不高,作为唯一存储时,需要注意缓存系统不稳定或性能问题,需要服务本地缓存通用数据以作为兜底,避免缓存不可用导致服务不可用。

存储层 mysql 、oracle作为关系型数据存储,使用场景是订单、支付等事务强需求场景下,这种场景下分布式nosql数据库对事务支持本身是不够好的,比不上传统数据库,这种场景下mysql、oracle是最优选择。

存储层hbase是一种基于列式存储,方便基于列进行数据分析,分析单列不需要涉及所有列性能会快很多。但不适合基于行查出所有列,因为列存储在不同位置,根据行取出所有列性能会比较差。

以及基于Rocksdb类分布式KV存储,存储基于磁盘可以进行持久化存储,优点存储量大并且能进行持久化,缺点是基于磁盘以及数据结构等多种因素,随机读性能没有redis那么高。所以适合写多读少场景。可以结合redis缓存,作为redis后端的持久化存储。

ES作为全文检索服务,适合于全文检索服务,Mysql就不适合作为全文检索使用,因为一篇文章,每个词都有可能被检索,全部构建索引索引会非常非常大。

java语言栈Spring是事实上Bean管理、以及托管整体配置工业标准。jdk是 java 基石,支持java运行以及庞大 工具 包,来支撑业务快速开发。jdk中容器、多线程、锁、io、nio等。方便应用开发实现高性能网络、磁盘等设备操作,方便应用使用多线程技术。

每一种技术都有它的适用场景,架构设计时要根据实际情况去用,有很多trade off的事情,不要强行复用,要根据实际场景无论是编程语言,还是存储,还是消息队列技术等,都要根据实际场景去合理使用,才能发挥出技术最大价值。

架构设计需要有全局感、整体感,需要从总体上对技术进行把握,下面专栏是学习架构提升架构水平很好选择,当下购买有返现。

大型网站后端架构设计


以上所述就是小编给大家介绍的《大型网站后端架构设计》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

How to Solve It

How to Solve It

Zbigniew Michalewicz、David B. Fogel / Springer / 2004-03-01 / USD 59.95

This book is the only source that provides comprehensive, current, and detailed information on problem solving using modern heuristics. It covers classic methods of optimization, including dynamic pro......一起来看看 《How to Solve It》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具