阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

微博的 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:158853

评论 1 条评论

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

融云「百幄」之数字人,升级交互体验的「新同事」

融云 RongCloud

AI 通信 数字化

对于Ajax在MUI框架中的用运以及单 webview 模式中的下拉刷新功能探究

恒山其若陋兮

mui 11月月更

Redis LRU 内存淘汰算法大有玄机

码哥字节

LRU Redis 6.0

Flowable 外置的 HTML 表单怎么玩?

江南一点雨

Java spring flowable JavaEE

uni-app 性能优化实战之逻辑层条件编译的生产环境

恒山其若陋兮

11月月更 uni

Postman工具介绍

阿泽🧸

Postman 11月月更

简单时序逻辑电路

二哈侠

Verilog 11月月更 锁存器

2022下半年《软考-系统架构设计师》备考经验分享

劼哥stone

软考 系统架构师

冷冷清清的双十一,电商促销节为何被消费者逐渐抛弃

石头IT视角

【上】提高组件库Level必做好这六件事

小鑫同学

前端 组件库 11月月更

「Go实战」一文带你搞懂从单队列到优先级队列的实现

Go学堂

golang 开源 程序员 优先级队列 11月月更

链路状态路由协议 OSPF (一)

我叫于豆豆吖.

11月月更

算法题学习---单链表的排序

桑榆

算法题 11月月更

2022昇腾AI创新大赛圆满收官,看这届评委怎么说?

Geek_2d6073

动态路由协议(二)

我叫于豆豆吖.

11月月更

为什么要做用户留存分析

穿过生命散发芬芳

用户留存 11月月更

【下】提高组件库Level必做好这六件事

小鑫同学

前端 组件库 11月月更

L1、L2范数理解--Ridge以及Lasso回归

Studying_swz

深度学习 11月月更

分布式系统中的哈希算法

骑牛上青山

数据结构 分布式 算法 哈希

jvm(二)内存管理与虚拟机执行子系统

想要飞的猪

java对象内存布局 jvm加载子系统

【愚公系列】2022年11月 微信小程序-app.json配置属性之其他属性

愚公搬代码

11月月更

使用gitflow时如何合并hotfix

alps2006

流程表单初体验

江南一点雨

Java spring springboot flowable

东方通Tongweb中间件Linux环境部署

@下一站

技术 中间件 linux 文件权限控制 Java core 11月月更

MUI框架的上拉加载的深入探索和实战运用

恒山其若陋兮

mui 11月月更

2022-11-17:组合两个表。请写出sql语句,执行结果是{“headers“: [“first_name“, “last_name“, “city“, “state“], “values“: [

福大大架构师每日一题

数据库 福大大

应用链如何成为 Web3 的“潜力链”

One Block Community

区块链 开发者 区块链应用 云存储 web3

通过阅读源码解决项目难题:GToken替换JWT实现SSO单点登录

王中阳Go

Go golang 高效工作 学习方法 11月月更

动态路由协议(一)

我叫于豆豆吖.

11月月更

解读Web3公链发展格局

TinTinLand

区块链 以太坊 公链 多链

一次zuul版本升级产生的问题排查记录

骑牛上青山

Java spring 源码 Zuul 生产环境

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