架构师考点扩展:概述

在备考系统架构设计师过程积累了一些考点以及其它知识内容,本文对此简单介绍。

文档分类

计划分类如下:

  • 流水账和心得总结
  • 考点扩展,针对考点做一些扩展资料的收集
  • 考点大纲,应试,或为应试做的资料收集。
  • 考点汇总,其它的

简要记录

1、一来考证,二来积累技术(不一定是工作上能用到的)。
2、尽量docker来测试(多台虚拟机运行时电脑性能不够)。
3、总结一套自己的后台框架(不要一下子完全现实,迭代进行,也能持续保持学习)。
4、设计模式多深入一些,可能在工作中用到。

实践记录

  • nginx负载均衡:自实现的转发和轮询方法算法,完成。
  • nginx高可用:
  • dns负载均衡:
  • redis主从、集群、哨兵
  • redis持久化
  • redis失效
  • Mysql 主从
  • 数字签名:golang实现,有封装的RSA接口。
  • 数字信封:golang实现。

软件架构风格

几种风格的汇总,加上个人理解。

设计模式

B站,李老师讲的视频,在github上有课件源码。在此基础上修改进行调试。结合其它资料汇总。

Nginx

3个容器。
负载均衡,均衡的几种方法。session丢失
高可用,keepalive?
测试:一个客户端正在连接其中一个容器,在进行中,断开该容器服务,观察是否切换到其它的容器。

完成情况:

Mysql

集群,主从

PostgreSQL

NoSQL

MongoDB

介于关系数据库和非关系数据库之间的产品。
面向文档的数据库

Redis

单核。

分布式锁,主从复制。哨兵,集群。
并发,秒杀实验。
据类型主要有五种:String、Hash、List、Set和Sorted Set

memcached

memcache是一个高性能的分布式的内存对象缓存系统,用于动态Web应用以减轻数据库负担。它通过在内存中缓存数据和对象,来减少读取数据库的次数。从而提高动态、数据库驱动网站速度。
memcache通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。memcache主要用于分担数据库负的压力,memcache将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。 
memcache是这个项目的名称,而memcached是它服务器端的主程序文件名。

其它

elasticsearch

微服务

API网关(golang实现)。
后台框架,参考kubeedge的beehive。

分布式相关

术语:脑裂 split-brain 三地五中心 依赖注入 方法注入
可伸缩 异构 并发 高可用
RMI 远程过程调用
分布式锁 乐观锁 分布式事务

一致性哈希 Consistent Hashing
场合:缓存服务器数量变化时
记录:环 数据倾斜 添加虚拟节点

雪花算法 snowflake
场合:分布式生成全局 ID
记录:64位,ID不相同(每片雪花都不相同,故名),时间戳,机器号/进程号 序号

杂项,术语

参考资料