2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

微博的 5 个微服务最佳实践

  • 2019-05-11
  • 本文字数:924 字

    阅读完需:约 3 分钟

微博的5个微服务最佳实践

微博业务如何使用 Docker 镜像?


Docker 解决服务运行环境可迁移问题的关键,就在于 Docker 镜像的使用上。实际微博在使用 Docker 镜像的时候并不是把业务代码、依赖的软件环境以及操作系统本身直接都打包成一个镜像,而是利用 Docker 镜像的分层机制,在每一层通过编写 Dockerfile 文件来逐层打包镜像,并且在打包 Docker 镜像的时候,可以分层设计、逐层复用。

微博容器运维平台是如何架构的?


微博的容器运维平台 DCP 的架构主要分为基础设施层、主机层、调度层、编排层。基础设施层主要解决镜像仓库的问题,用于存放容器镜像的镜像仓库、提供监控服务的监控中心、实时监控系统容量。主机层主要解决如何进行资源调度的问题,需要适配不同底层提供的创建主机的 API 进行成本核算并且进行配置初始化操作。调度层主要解决容器如何在资源上创建的问题,需要在可用的主机上创建容器。编排层主要解决容器如何运作以对外提供服务的问题,作用是对服务进行整合以对外提供服务,主要包括服务依赖、服务发现以及自动扩缩容。

微博实现 DevOps 的关键点有什么?


微博主要使用的是 GitLab 来实现 DevOps。在持续集成阶段,需要保证每一次开发的代码都没有问题,即使合并到主干也能正常工作,这里主要依靠代码检查、单元测试和集成测试。在持续交付阶段,需要保证最新的业务代码能够在类生产环境中可能够正常运行。

微博混合云部署要解决哪三个问题?


微博采用了混合云部署,才真正解决了面对频繁爆发的热点事件带来突发流量时,内部资源冗余度不足的问题。但是在企业内部的私有云部署服务,又同时在企业外部公有云部署服务时,需要实现跨云服务的负载均衡、跨云服务数据同步、跨云服务容器运维。

微博是如何走向 Service Mesh 之路的?


要想让经典的微服务架构直接走向 Service Mesh 并不容易。微博的各种内部基础设施定制化、业务稳定性优先准则等因素,注定了微博需要走出一条自己的 Service Mesh 实践之路。微博也是随着业务的发展,在经过多方探索和尝试后才笃定了走 Agent 代理这条路。而采用的 Agent 代理的解决方案又与 Service Mesh 理念不谋而合,于是在 Agent 代理的方案中吸纳 Service Mesh 的思想,再进一步演化成如今的 Weibo Mesh。所以说一个可靠的架构从来都不是设计的,是逐步演进而来的。


2019-05-11 19:159443

评论 1 条评论

发布
用户头像
学习
2019-05-14 00:50
回复
没有更多了
发现更多内容

Node の MongoDB Driver

空城机

mongodb Node 7月月更

线上故障突突突?如何紧急诊断、排查与恢复

阿里巴巴云原生

阿里云 微服务 云原生 故障恢复 诊断

OpenFeign

急需上岸的小谢

7月月更

ORACLE进阶(三)数据字典详解

No Silver Bullet

oracle 7月月更 数据字典

Lepton 无损压缩原理及性能分析

vivo互联网技术

对象存储 无损压缩 lepton 图片压缩

蚁群算法(实例帮助理解)

秃头小苏

蚁群算法 7月月更

5G NR系统架构

柒号华仔

5G 网络 7月月更

Java实现单例模式

lambochen

单例模式

官宣!第三届云原生编程挑战赛正式启动!

阿里巴巴云原生

阿里云 Serverless 边缘计算 ACK 云原生编程挑战赛

Qemu Linux

贾献华

7月日更 7月月更

SAP UI5 ObjectPageLayout 控件使用方法分享

汪子熙

前端开发 Fiori SAP UI5 ui5 7月月更

RingCentral Android启动优化实践

RingCentral铃盛

android 启动流程

容易混淆的基本概念 成员变量 局部变量 全局变量

NewBoy

前端 移动端 iOS 知识体系 7月月更

基于STM32+华为云IOT设计的智能防盗单车锁

DS小龙哥

7月月更

LLVM之父Chris Lattner:为什么我们要重建AI基础设施软件

OneFlow

人工智能 软件系统

【LeetCode】判断矩阵是否是一个 X 矩阵Java题解

Albert

LeetCode 7月月更

Vue.js基础环境的搭建以及简单使用Element-ui

是乃德也是Ned

7月月更

微信小程序触底加载与下拉刷新的实现

猪痞恶霸

小程序 前端 7月月更

如何用一个插件解决 Serverless 灰度发布难题?

阿里巴巴云原生

阿里云 Serverless 云原生 插件 灰度发布

LeetCode-145. 二叉树的后序遍历(java)

bug菌

Leet Code 7月月更

SpringBoot Webflux解析

Ethan

OpenHarmony资源管理详解

坚果

HarmonyOS OpenHarmony 6月月更

CSS动画篇之炫酷时钟之时钟墙

南城FE

CSS 前端 动画 时钟 7月月更

什么是数据治理?为何华为愿意200万年薪聘数据治理专家?

雨果

数据治理 DaaS数据即服务

Qt实现json解析

小肉球

7月月更

非技术部门,如何参与 DevOps?

飞算JavaAI开发助手

Web3基金会「Grant计划」赋能开发者,盘点四大成功项目

One Block Community

区块链+

小红书自研KV存储架构如何实现万亿量级存储与跨云多活

小红书技术REDtech

存储 分布式KV 跨云多活

微博的5个微服务最佳实践_架构_胡忠想_InfoQ精选文章