招聘季,三高(高并发、高性能、高可用)问题如何解?

金三银四招聘季,很多小伙伴最近都在经历着或者准备着面试。而在现在的互联网企业的大部分面试中,始终围绕着互联网的三高架构来展开。

互联网三高架构:高并发、高性能、高可用,简称三高(3H)

很多时候,面试官一句:在工作中如何处理高并发可能就结束了整场面试!

那么,构建一个三高的系统,到底可以从哪些方面下手呢。

小编为您总结了一下,大概可以从以下方面入手:横向分层、纵向分割、分布式化、集群化、使用缓存、使用异步模式、使用冗余、自动化(发布、部署、监控)。

具体来说,可以在不同层次常用的技术有:

前端

  • 浏览器优化技术:合理布局,页面缓存,减少http请求数,页面压缩,减少 cookie 传输。

  • CDN

  • DNS负载均衡

  • 动静分离

  • 动态图片独立提供服务

  • 反向代理

应用层架构

  • 业务拆分

  • 负载均衡

  • 虚拟化服务器、容器化

  • 无状态(以及分布式 Session)

  • 分布式缓存

  • 异步、事件驱动架构、消息队列

  • 多线程

  • 动态页面静态化

服务层架构

  • 分布式微服务(分级管理,超时设置,异步调用,服务降级,幂等性设计。)

  • 同应用层架构

存储层架构

  • DFS

  • 关系数据库路由

  • No SQL 数据库

  • 数据同步

  • 数据冗余

安全架构

  • Web攻击(XSS、Sql Injection)

  • 数据加密

  • 密钥管理

发布、运维

  • 自动化测试与发布

  • 灰度发布

  • 浏览器数据采集

  • 服务器业务数据采集

  • 服务器性能数据采集

  • 系统监控

  • 系统报警

机房

  • 散热、省电、定制服务器

以上,就是建设互联网三高架构可能涉及到的知识点,很多人可能并没有办法考虑的很全面。

很多同学在技术生涯最初几年都会沉浸在业务开发中,忽视了对系统知识的梳理和技术视野的扩展。日复一日,导致很多同学就以为这就是技术的全部,同时在重复的体力劳动中也丧失了对技术细节的深入探讨。

技术的突破需要依赖业务场景的需求和自身刻意的规划学习,二者缺一不可,但前者是机会,往往不是自己能完全把控的,如果在自己工作中没有实践场景,最好的办法就是系统的学习与梳理,为自己制定一个不同时间段的发展道路,待机会来临时就能一展身手。

给大家推荐一个免费的交流群:851531810,可以在自己的业余时间通过学习的方式弥补自己在实践方面的不足。

猜你喜欢

转载自blog.csdn.net/qq_18862127/article/details/88553619