分布式架构的发展演进

负载均衡算法

  1. 轮询
  2. 加权轮询
  3. 随机算法
  4. 最小连接数
  5. hash 根据客户端ip计算出hash值,hash%2取模来决定分发目标

数据库演变

1. 数据库性能提升

  • 数据库如何同步
  • 数据源如何路由

1.1 方案1: 引入搜索引擎

  • 提高检索速度
  • 减轻读数据库的压力
  • lucence,solr,elk
  • 索引构建:
    基于原始数据构建索引
    全量构建->第一次构建
    增量构建->增量同步
    非实时(异步/定时任务)、实时

1.2 方案2:缓存

  • 缓存: 为了降低低速设备和高速设备间的差异。
  • Nosql存储或其他存储方式
    Nosql:hbase、mongoDB、Redis....
    其他缓存:浏览器缓存、应用缓存、db缓存、cpu缓存,文件存储,etc

2.分布式数据库

2.1 事务的作用?

2.2 分布式数据库:

通过分库分表实现数据库拆分:
根据服务特性(业务量、类型etc)分别配置数据库性能


应用的演变

传统单应用的问题:

  1. 部署和维护困难
  2. 业务耦合度很高
  3. 性能瓶颈
  4. 测试

    1. 应用根据功能模块拆分:

    1.1 如:会员服务、交易服务、商品服务

RPC在分布式中的作用?

1.2 服务分块

优势:

  • 专人维护专门服务
  • 根据不同的吞吐量要求,做针对性的扩容

劣势:

  • 运维成本增高
  • 团队人员增多

高可用方案

1. 单点故障

1.1 多机房部署


监控

1. 链路监控

  • zipkin
  • traceID

2.硬件监控
cpu、内架构存、磁盘


架构的发展过程

1. SOA-ESB

  • 客户端1、客户端2....
  • ESB:
    服务的通信、发现
    协议转化
    安全
    限流
  • 服务端集群

2. 微服务
注册中心:eureka、zookeeper、consoul

3. 容器+k8s调度

4. serviceMesh(服务网格)
sidecar解决了:服务熔断、调用、发现,负载均衡

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值