微服务架构

微服务架构核心20讲


01 | 微服务定义

微服务是一种架构风格

大中台,小前台

定义一

  • 一种架构风格,将单体应⽤划分成一组小的服务,服务之间相互协作,实现业务功能
  • 每个服务运行在独立的进程中,服务间采用轻量级的通信机制协作(通常是HTTP/ JSON)
  • 每个服务围绕业务能力进行构建,并且能够通过自动化机制独立地部署
  • 很少有集中式的服务管理,每个服务可以使⽤不同的语言开发,使用不同的存储技术

参考:https://www.martinfowler.com/articles/microservices.html

定义二

Loosely coupled service oriented architecture with bounded context

基于有界上下文的,松散耦合⾯向服务的架构

  • 服务之间应该是松散耦合,不能强依赖
  • 本质上还是SOA,只是更细化和落地
  • 局部状态,每个团队有各自的数据源

02 | 微服务的利弊

  • 强模块化边界
  • 可独⽴立部署
  • 技术多样性

  • 分布式系统复杂性
  • 最终一致性
  • 运维复杂性
  • 测试复杂性

03 | 康威法则和微服务给架构师怎样的启示?

康威法则

设计系统的组织,其产⽣的架构设计等价于组织间的沟通结构


04 | 企业应该在什么时候开始考虑引入微服务?

初期考虑单块优先(业务的模块化)

一般地,百人研发团队考虑引入微服务

因为微服务需要前期的基础设施的投入,复杂性很高


05 | 什么样的组织架构更适合微服务?

从传统职能型到跨职能产品型

End-end owership 团队内部形成闭环

“两个披萨”理论:12人


06 | 如何理解阿里巴巴提出的微服务中台战略?

微服务架构

大中台,小前台


07 | 如何给出一个清晰简洁的服务分层方式?

微服务架构


08 | 微服务总体技术架构体系是怎样设计的?

微服务架构


09 | 微服务最经典的三种服务发现机制

服务发现~独立LB

微服务架构

服务发现~进程内LB

微服务架构

服务发现~主机独立进程LB

微服务架构


10 | 微服务 API 服务网关(一)原理

网关:门卫

微服务架构

微服务架构

作用:

  • 反向路由
  • 认证安全
  • 限流熔断
  • 日志监控

11 | 微服务 API 服务网关(二)开源网关 Zuul

微服务架构

微服务架构


12 | 跟 Netflix 学习微服务路由发现体系

微服务架构

  • Zuul
  • eureka
  • 可参考Consul Template这样的组件,它可以监视Consul中服务变化,动态更新nginx模板。

13 | 集中式配置中心的作用和原理是什么?

微服务架构

微服务架构


14 | 微服务通讯方式 RPC vs REST

微服务架构


15 | 微服务框架需要考虑哪些治理环节?

微服务架构


16 | 微服务监控系统分层和监控架构

微服务架构

微服务架构


17 | 微服务的调用链监控该如何选型?

微服务架构

微服务架构


18 | 微服务的容错限流是如何工作的?

Netflix Hystrix 断路路器器

  • 熔断
  • 限流
  • 隔离
  • 降级

微服务架构


19 | Docker 容器部署技术 & 持续交付流水线

  • 环境一致性
  • 镜像部署

微服务架构

微服务架构


20 | 容器集群调度和基于容器的发布体系

  • mesos
  • kubernetes (K8s)

微服务架构

微服务架构