架构师训练营(第四周)

用户头像
孙志超
关注
发布于: 2020 年 07 月 01 日

作业

存储

MySQL

  • 关系型数据库存储

  • 支持事务,一致性强

  • 有不同的隔离级别

MongoDB

  • 文档数据库

  • 适用于实时的插入、更新与查询的需求,并具备应用程序实时数据存储所需的复制及高度伸缩性。

  • 非常适合文档化格式的存储及查询。

  • 高伸缩性的场景:MongoDB 非常适合由数十或者数百台服务器组成的数据库。

  • 对性能的关注超过对功能的要求。

HBase

  • 存储容量大,一个表可以容纳上亿行,上百万列;

  • 可通过版本进行检索,能搜到所需的历史版本数据;

  • 负载高时,可通过简单的添加机器来实现水平切分扩展,跟Hadoop的无缝集成保障了其数据可靠性(HDFS)和海量数据分析的高性能(MapReduce);

  • 可有效避免单点故障的发生。

搜索

Elasticseach

  • 分布式的搜索引擎和数据分析引擎

  • 全文检索,结构化检索,数据分析

  • 对海量数据进行近实时的处理

缓存

Redis

  • 读写性能优异

  • 持久化

  • 数据类型丰富

  • 单线程

  • 数据自动过期

  • 发布订阅

  • 分布式

队列

RabbitMQ

  • 异步处理

  • 应用解耦

  • 流量削峰

服务器

Openresty

用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

对于服务经行正向或反向代理

LVS

更加强大的代理和负载均衡功能

容器

Docker

利用容器化技术,实现高效的 ci/cd

确保环境的一致性、

Kubernetes

实现服务的自动扩缩容、监控、报警及服务资源的调度

分布式协同

ZooKeeper

  • 数据发布/订阅

  • 负载均衡

  • 命名服务

  • 分布式协调/通知

  • 集群管理

  • Master 选举

  • 分布式锁

  • 分布式队列



总结

互联网系统面临的挑战

  • 高并发,大流量

  • 高可用

  • 海量数据

  • 用户分布广泛,网络情况复杂

  • 安全环境恶劣

  • 需求快速变更,发布频繁

  • 渐进式发展

应对高并发挑战的两个技术方向

  • 垂直伸缩

  • 水平伸缩

互联网架构演化

应用数据分离

使用缓存改善系统性能

应用服务器集群改善系统的并发处理能力

数据库读写分离

反向代理和 CDN 加速网站响应

使用分布式文件系统和分布式数据库系统

使用 nosql 和搜索引擎

业务拆分

服务化及中台化



用户头像

孙志超

关注

还未添加个人签名 2018.06.14 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营(第四周)