一、什么是微服务

  1. 一种架构模式、风格

  2. 提倡将单一的应用拆分成小的模块

  3. 服务之间相互协调、配合

  4. 采用轻量级的通信机制-RPC、restful

二、微服务解决了什么问题、有哪些优点

  1. 技术维度

    a.拆分单体应用彻底去耦合、不相互依赖
    b.每个模块只做一件事、单一职责原则
    c.每个模块可以单独启动、动态缩放扩容
  2. 产品维度

    a.多团队协同开发
    b.合理分配资源
    c.模块规划更清晰

三、微服务有哪些痛点

  1. 调用变得复杂

  2. 数据一致性变得复杂

  3. 部署变得复杂

  4. 问题定位变得复杂

四、单体应用大概是什么样子

a.豪华大礼包 代码结构臃肿
b.模块耦合度高 维护困难
c.Ctrl CV大法 工作量重复 冗余代码
d.长年累月积累 逻辑复杂

五、单体向微服务演变过程

1. CoreOS 系统,小型unix系统只包含核心模块
2. 容器化 docker Dockerfile Tomcat
3. 容器编排 k8s

六、SpringCloud 五大神兽

  1. Eureka 注册与发现 netflix

a.包含两个组件 server、client
b.基于restful服务
c.应用启动后 默认30s,发送一次心跳到 server 可以配置
d.多次接收不到心跳,会移除节点 默认90s
e.缩放、扩容核心
2. Zuul gateWay网关
a.对外暴露API
b.路由功能
c.集成单点登录 USERINFO---JWT json token web
3. Ribbon 负载均衡 Netflix
a.客户端负载均衡
b.轮询、权重、hash
c.nginx 服务端负载均衡

家长---门卫---班级
4. Hystrix 熔断器 Netflix
a.来源于电器
b.保险丝
c.雪崩效应
5. config 配置中心
a.spring config
b.apollo 携程
c.区分环境
d.动态刷新




posted on 2021-01-18 10:54  白糖℃  阅读(31)  评论(0编辑  收藏  举报