美文网首页
知识架构

知识架构

作者: 夜色001 | 来源:发表于2019-07-08 07:03 被阅读0次

分布式

分布式架构原理

1、分布式架构演进过程
2、如何把单机扩展到分布式
3、CDN静态加速
4、系统监控、容灾、存储动态扩容
5、架构设计以及业务驱动分化
6、CAP、Base理论及其应用

CAP

最终一致性:经过一段时间后要求能访问到更新后的数据。

分布式架构策略

1、分布式架构网络通信原理剖析
2、通信协议中的序列化以及反序列化
3、基于框架的RPC技术gRPC/Webservice/RMI/Hession
4、深入分析Zookeeper在disconf配置中心的应用
5、基于Zookeeper实现分布式服务动态上下线感知
6、深入分析Zookeeper Zab协议及选举机制源码解读
7、Dubbo管理中心及监控平台安装部署

Dubbo 是阿里巴巴公司一个开源的高性能服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案,使得应用可通过高性能 RPC 实现服务的输出、输入功能和 Spring 框架无缝集成。Dubbo 包含远程通讯、集群容错和自动发现三个核心部分。

8、基于Dubbo的分布式系统架构实践
9、Dubbo容错机制及高扩展性分析

分布式架构中间件

1、分布式消息通信ActiveMQ/Kafaka/RabbitMQ
2、Redis主从复制原理及无磁盘复制分析
3、Redis中AOF和RDB持久化策略的原理

RDB和AOF都是Redis缓存持久化策略。

RDB生成的文件是以及紧凑型二进制文件,适用于文件的备份存储。通常有两个命令执行RDB持久化。save、bgsave,其中save需要暂停当前服务,直到持久化完成。bgsave是fork一份数据,并有另外的进程执行,阻塞仅仅发生在fork的时候,所以通常适用bgsave。由于这种操作较为耗时,不能频繁使用,所以在实时性,秒级存储方面存在缺点。

AOF是将每次的写操作日志记录成日志文件。恢复时通过对日志的逐行操作进行恢复。可以解决实时性,是目前主流的持久化方案。

4、MongoDB企业级集群解决方案

存储网站实时数据

做缓存,避免下层数据源过载

大尺寸、低价值的数据

高伸缩性,mongodb内部包好对MapReduce引擎的内置支持

对象以及Json数据的存储:BSON数据格式

5、MongoDB数据分片,转存及恢复策略
6、基于OpenResty部署应用层Nginx以及Nginx+lua实践
7、Nginx反向代理及负载均衡配置实践
8、基于Netty实现高性能IM聊天
9、基于Netty实现Dubbo多协议通信支持
10、Netty无锁化串行设计及高并发处理机制

分布式架构实践

1、分布式全局ID生成方案
2、Session跨域共享及企业级单点登录解决方案实践
3、分布式事务解决方案实战
4、高并发下的服务降级、限流实战
5、分布式锁的解决方案实战

我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。有的时候,我们需要保证一个方法在同一时间内只能被同一个线程执行。在单机环境中,Java中其实提供了很多并发处理相关的API,但是这些API在分布式场景中就无能为力了。也就是说单纯的Java Api并不能提供分布式锁的能力。所以针对分布式锁的实现目前有多种方案。

基于数据库实现分布式锁

基于缓存(redis,memcached)实现分布式锁

基于Zookeeper实现分布式锁

6、分布式定时调度

微服务

微框架

1、与微服务之间的关系
2、热部署实战
3、核心组件:Starter\Actuator\AutoConfigure\
4、高并发下的服务降级、限流实战
5、分布式锁的解决方案实战
6、分布式定时调度

SpringCloud

1、Eureka注册中心

服务注册中心:调用服务时,不需要关心服务的Ip地址,只需从服务中心获取对应的服务即可。

2、Ribbon集成Rest实现负载均衡

Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几乎存在于每一个Spring Cloud构建的微服务和基础设施中。因为微服务间的调用,API网关的请求转发等内容,实际上都是通过Ribbon来实现的,包括后续我们将要介绍的Feign,它也是基于Ribbon实现的工具。

3、Feigon申明式服务调用
4、Hystrix服务熔断降级

服务雪崩:微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况
熔断器:在一段时间内侦测到许多类似的错误,会强迫其以后的多个调用快速失败,不再访问远程服务器,从而防止应用程序不断地尝试执行可能会失败的操作,使得应用程序继续执行而不用等待修正错误,或者浪费CPU时间去等到长时间的超时产生。熔断器也可以使应用程序能够诊断错误是否已经修正,如果已经修正,应用程序会再次尝试调用操作。

5、Zuul微服务网关

在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个API网关根据请求的url,路由到相应的服务。当添加API网关后,在第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制,后将请求均衡分发给后台服务端。

6、Config分布式统一配置中心

一个解决分布式系统的配置管理方案。它包含了Client和Server两个部分,server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client通过接口获取数据、并依据此数据初始化自己的应用。Spring cloud使用git或svn存放配置文件,默认情况下使用git

7、Sleuth调用链路跟踪
8、BUS消息总线

Docker虚拟化

1、Docker的镜像、仓库、容器
2、Docker File构建LNMP环境部署个人博客Wordpress
3、Docker Compose构建LNMP环境部署个人博客Wordpress
4、Docker网络组成,路由互联,Openvswitch
5、基于Swarm构建Docker集成实践
6、Kubernetes简介

微服务架构

1、SOA架构与微服务架构之间的区别和联系
2、如何设计微服务及其设计原理
3、解惑SpringBoot流行因素以及能够解决什么问题
4、什么是SoringCloud为何要选择SpringCloud
5、基于全局分析SpringCloud各个组件所解决的问题

性能优化

理解性能优化

1、性能基准
2、性能优化到底是什么
3、衡量维度

JVM调优

1、运行时数据区
2、内存模型
3、各垃圾回收器使用场景
4、理解GC日志
5、MAT分析dump文件

Tomcat调优

1、Tomcat的运行机制及框架
2、分析Tomcat线程模型
3、系统参数认识及调优
4、基准测试

Mysql调优

1、理解Mysql底层B+ tree机制
2、SQL执行计划详解
3、索引优化详解
4、SQL语句优化

源码专题分析

常用设计模式

1、Proxy代理模式
2、Factory工厂模式
3、Singleton单例模式
4、Delegate委派模式
5、Strategy策略模式
6、Prototype原型模式
7、Template模板模式

Spring5

1、IOC容器设计原理及高级特性
2、AOP设计原理
3、FactoryBean与BeanFactory
4、Spring事务处理机制
5、基于SpringJDBC手写ORM框架
6、SpringMVC九大组件
7、手写实现SpringMVC框架
8、SpringMVC与Struts2对比分析
9、Spring5新特性

Mybatis

1、代码自动生成器
2、Mybatis关联查询,嵌套查询
3、换成使用场景及选择策略
4、Spring集成下的SqlSession与Mapper
5、Mybatis的事务
6、分析Mybatis的动态代理的真正实现
7、手写实现Mini版的Mybatis

工程化专题

Maven

1、生成可执行jar,理解Scope生成最精确的jar
2、类冲突,包依赖 NoclassDefFoundError问题定位及解决
3、全面理解maven的lifecycle,phase,goal
4、架构师必备之maven生成archetype
5、maven流行插件实践,手写自己的插件
6、nexus使用、上传、配置
7、对比Gradle

Jenkins

1、搭建Jenkins自动部署环境
2、Jenkins集成Maven、git实现自动部署
3、test、pre、pro多环境发布

Sonar

1、使用Sonar进行代码质量管理
2、关于代码检查工具FindBugs/PMD 的运用
3、SonarQube代码质量管理平台安装及使用
4、使用Jenkins与Sonar集成对代码进行持续检测
5、Idea与Sonar集合的使用

Git

1、什么是Git以及Git的工作原理
2、Git常用命令
3、Git冲突怎么引起,如何解决
4、git flow规范团队git使用规范
5、团队案例分享

linux

iostat io使用情况

相关文章

  • 阿里P8架构师20年经验总结成微服务设计企业架构转型之道笔记

    本文涉及两个方面的知识体系,即企业架构知识体系和软件架构知识体系。 企业架构和软件架构虽然都与IT相关,但其知识体...

  • 知识架构

  • 知识架构

    参照 AAAA读书:瑜儿的知识架构设计 田小丫2017.12.08 1 社会科学-自由技艺(人文,历史,地理,政...

  • 知识架构

    知识架构决定视野

  • 知识架构

    分布式 分布式架构原理 1、分布式架构演进过程 2、如何把单机扩展到分布式 3、CDN静态加速 4、系统监控、容灾...

  • 知识架构

    对于这四个字的理解,并不透彻,只是自己做了很多年的教育,喜欢这一行,更加热爱孩子,沉醉于研究那一个个有意思的行为的...

  • 知识架构

    建立一栋楼房前,我们需要先规划架构,架构没有理清楚就盲目开工,会造成巨大的浪费和损失。 学习也是一样,学习最大的陈...

  • 架构设计

    1.功能架构2.技术架构3.数据架构 数据仓库架构知识 企业架构 Zachman FEA Gartner TOGA...

  • 电商网站前端架构 学习笔记(全是干货)

    1:前端架构的基本知识 1: 前端工程师必须会的一些技能 2: 前端架构基本知识 什么是前端架构?每个人对每个架构...

  • iOS原生框架图表

    开发知识框架 UIKit关系图 iOS完整学习线路图 iOS开发知识架构 iOS技能树 iOS知识体系架构图

网友评论

      本文标题:知识架构

      本文链接:https://www.haomeiwen.com/subject/apnghctx.html