微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。


1、分布式基础

    1.1、通讯(tcp/http/https)

    1.2、系列化与反序列化

    1.3、rpc

    1.4、netty

    1.5、微服务是什么?SOA与微服务的区别?

2、项目架构演变

    2.1、单体架构

    2.2、集群架构

    2.3、分布式架构

    2.4、SOA架构

    2.5、微服务架构

    2.6、Service Mesh(服务网格)

3、微服务服务治理

     微服务框架:

        Spring Cloud:https://spring.io/projects/spring-cloud

        Spring Cloud Alibaba:https://spring.io/projects/spring-cloud-alibaba

    3.1、服务注册、服务发现

        注册中心:zookeeper

        eureka

    3.2、远程服务调用

        Http请求

            RestTemplate:是Spring提供的用于访问远程http服务端的客户端

            Feign

            HttpClient

            OkHttp

        Rpc

            高效的网络传输模型(NIO,netty),以及针对服务调用场景专门设计协议和高效的系列化技术

            Dubbo

    3.3、负载均衡

    3.4、熔断、限流、降级

    3.5、统一配置中心

    3.6、服务网关

        zuul,Spring Cloud Gateway

    3.7、链路监控

    3.8、分布式消息队列

    3.9、分布式调度

4、session共享

    4.1、session hash

    4.2、session 同步

    4.3、cookie

    4.4、session 中心 

5、数据库

    5.1、主从同步

    5.2、分库分表

    5.3、读写分离

    5.4、数据访问

        5.4.1、代理层:mycat

        5.4.2、jdbc增强:sharding-jdbc

6、分布式消息中间件

    kafka、ActiveMQ、RabbitMQ、RocketMQ