实现业务高可用一些关键点

简介: 参与《美团点评技术沙龙》 活动,和美团点评的技术大牛深度交流,根据他们的经验结合自己的实践,自己做了一些简单的整理。

layout: post
title: 美团点评技术沙龙
tags: 开源 高可用 分享 中间件


一、高可用主题

  • CASE STUDY

二、美团云

高可用基础设施

数据中心

网络

稳定,冗余,自愈,效率

  • ecmp
  • 裸光纤+OTN

基础服务

  • MGW
  • NAT

基础设施

  • 资源之间的关系

    • CMDB
  • 监控

    • 内网延时监控
    • 机房环境
  • 可视化交付

    • 网络大盘
    • (机柜与服务器)
  • 数据化运营

三、中间件

稳定 性能 扩展性 效率 成本

微服务

一个service对应一个DB、CACHE

  • 组织结构
  • 架构真经
  • 微服务?RPC?

    • 接入层: 反向代理
    • SERVICE: 之间通过RPC,MQ通讯
    • 负载均衡 慢启动
    • zebra ? DBproxy??

四、德比数据

SLA

提高MTBF,降低MTTR

  • 序列化 PB
  • Java --》GO
  • 单元测试

    • 我拿了工资是要去写运行良好的程序,而不是为了测试。所以我的观点是,在可信任的范围内,测试得越少越好 -- KENT BECK
  • 发布回滚 ?? 灰度发布、多版本共存。
  • 业务层面监控报警 (大数据历史对比)

五、流量复制与故障演练

线上

在影子集群做压测

  • TCPCOPY ?
  • dubbo-copy
  • thriftcopy

    • 包装TB协议
    • 染色 coPY CLIENT -->COPY SERVER
  • 故障演练平台

    • 探针 流量copy
    • 可视化管理平台
  • 链路+日志

    • mtrace ? skywalking
    • slf4j 异步appender

六、CAT

监控分层

  • 端到端响应 与 成功率

实时系统

  • 客户端不落地
  • 服务端实时处理

APM

  • 线上问题,5分钟内解决 !!!!
  • 性能排查
  • problem 报表
  • business 报表

cat设计

  • 客户端

    • 自定义二进制协议
    • httpthread --> ThreadContext
    • 队列 异步
  • 重点

    • 内存
    • CPU
    • 不做压缩
    • netty传输

建模

  • 报表建模

    • 通常,InfluxDB
    • 优化 CPU

存储

  • 批量压缩
  • 顺序写,随机读
  • 索引与数据分开

MVP版本

单机开发环境

  • jetty
  • HDFS
  • MYSQL

开放生态

  • 关注客户,快速响应
  • 先做小而精,在做大全

七、系统稳定性建设

Availability = MTTF/(MTTF+MTTR)

高可用方案

  • 设计
  • 巡检
  • 监控
  • 处理

隔离、限流、熔断、降级

  • 雪崩
  • 如何避免

    • 隔离

      系统隔离 负载均衡
      线程隔离 
      
    • 限流

    • 熔断

      过载保护
    • 降级

      写降级比较难
    • hystrix

全链路压测

流量标识&数据隔离

  • 压测流量特殊标识

    • 全链路透传
  • 影子表
  • 参数偏移
目录
相关文章
|
SQL 消息中间件 存储
PostgreSQL CDC的最佳实践
PostgreSQL CDC的最佳实践
PostgreSQL CDC的最佳实践
|
NoSQL 前端开发 Redis
单点登录云平台子系统集成方式
单点登录云平台子系统集成方式
658 0
|
NoSQL 关系型数据库 MySQL
MySQL与Redis协同作战:百万级数据统计优化实践
【10月更文挑战第21天】 在处理大规模数据集时,传统的单体数据库解决方案往往力不从心。MySQL和Redis的组合提供了一种高效的解决方案,通过将数据库操作与高速缓存相结合,可以显著提升数据处理的性能。本文将分享一次实际的优化案例,探讨如何利用MySQL和Redis共同实现百万级数据统计的优化。
854 9
|
存储 运维 关系型数据库
【收藏】运维常见的22个故障排查和10个问题解决技巧大汇总!
本文汇总了运维过程中常见的故障及解决方法,包括shell脚本不执行、crontab输出结果控制、telnet/ssh很慢、只读文件系统、文件删除后磁盘空间未释放、find命令性能优化、无法获取网关MAC地址、http服务无法启动、too many open files错误、ibdata1和mysql-bin日志占用磁盘空间等问题。通过这些实例,帮助读者积累经验,提高故障排查能力。
1470 2
|
资源调度 关系型数据库 测试技术
Flink CDC产品常见问题之没有报错但是一直监听不到数据如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
1225 1
|
SQL 存储 大数据
更改 HIVE 表字段数据类型有哪些注意事项?
更改 HIVE 表字段数据类型有哪些注意事项?
|
C语言 Ubuntu
蓝易云 - ubuntu20.04安装gcc5.4 g++5.4
以上步骤应该可以帮助你在Ubuntu 20.04上安装GCC 5.4和G++ 5.4。
1294 2
|
前端开发
[巨详细]安装HBuilder-X教程
【6月更文挑战第6天】下载HBuilder-X 官方网址:https://www.dcloud.io/ 点击网址 ,打开官网
2354 1

热门文章

最新文章