liuboflyon145 / doc-1

一步一步建立起分布式系统:SOA->微服务->云原生的一套完整技术栈.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

一步一步建立起分布式系统:SOA->微服务->云原生的一套完整技术栈.

Java8

并发

IO

JVM

  • 类加载机制与编译优化
  • JVM运行时数据区的内存管理机制
  • 垃圾收集算法与垃圾收集器
  • 性能监控与故障处理

常用设计模式

​ 用好设计模式能帮助我们更好的解决实际问题,设计模式最重要的是解耦。设计模式天天都在用,但自己却无感知。把设计模式作为一个专题,主要是学习设计模式是如何总结经验的,把经验为自己所用。同时也为阅读框架源码打下坚实的基础。在学习设计模式之前,一定要先了解软件设计原则。

示例代码地址:git@github.com:wenbin8/design-pattern.git

框架源码分析

Spring:

通过对Spring的核心流程总结。简化实现Spring,来加深对Spring源码的理解。如果直接看源码懵逼的话。可以先通过这个项目(https://github.com/wenbin8/myCode)来看看Spring的总体流程,该项目剥离的Spring核心(IOC\DI\AOP\MVC)之外的逻辑,帮助快速掌握理解Spring核心的设计**与实现原理。理解了这个项目在去深入研究Spring源码就有了一定的基础。这里的代码来源都是参考《Spring 5核心原理与30个类手写实战》有兴趣深入研究的也可以参考这本书。

数据库

  • b+Tree的原理与Mysql的innoDB索引原理
  • mySql数据查询性能优化

分布式

分布式基础

微服务(Spring boot/Spring Cloud)

Spring Boot
  • Spring Boot的基本认识
  • Spring Boot嵌入式Web容器
  • Spring Boot Actuator
  • Spring Boot自动装配:重新整合Spring注解编程模型,@Enable模块驱动及条件装配等Spring Framework原生特性。
  • Spring Boot理解SpringApplication

分布式协调服务

zookeeper:

etcd:

  • etcd安装部署

分布式服务治理

Spring Cloud
alibaba:

Dubbo:

nacos

Sentinel

netfilx:
  • Eureka注册中心
  • Ribbon 负载均衡
  • Fegin 声明式服务调用
  • Hystrix 服务熔断降级方式
  • Zuul 实现微服务网关
  • Config 分布式统一配置中心
  • Sleuth 调用链路跟踪
  • BUS 消息总线
  • Spring Boot 与 Spring Cloud 整合

分布式消息通信

kafka

rabbitMQ

RocketMQ

  • 占位

分布式缓存

  • MongoDB

Redis

分库分表

Mycat

任务调度

Cloud Native

网络基础

经过一个阶段的k8s学习后发现其实现大量使用linux中的网络知识,要想深入研究k8s这些基础知识必不可少。所以回头重新整理一下k8s在具体实现中使用到的Linux网络的基础知识。对深入理解k8s实现原理和实际应用中故障处理大有裨益。同时推荐《杜军. Kubernetes网络权威指南:基础、原理与实践》这本书来帮助我们理解k8s的网络。

Docker

他山之石:(Docker基础Docker命令大全理解docker实现原理(Namespaces,CGroups和联合文件系统)

Kubernetes
源码分析

在能独立搭建k8s环境,和熟悉基本用,学习完go语言后,开始研究k8s是怎么实现的。这里先研究kube-scheduler是因为比较好奇k8s是如何实现pod的调度。

Service Mesh
  • istio基础及安装部署
  • istio Sidecar机制
  • istio流量治理
  • istio策略和遥测
  • istio服务安全

About

一步一步建立起分布式系统:SOA->微服务->云原生的一套完整技术栈.