写点什么

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

评论 1 条评论

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

手撸二叉树之递增顺序搜索树

HelloWorld杰少

数据结构与算法 8月日更

百亿级分布式文件系统之元数据设计

焱融科技

云计算 技术 分布式 高性能 文件存储

零代码以“王者荣耀”为例解析设计七原则

华为云开发者联盟

软件 设计原则 王者荣耀 单一职责

架构实战营-模块二作业

俞立夫

架构实战营

【SpringBoot技术专题】「JWT技术专区」SpringSecurity整合JWT授权和认证实现

码界西柚

spring security springboot JWT 8月日更

Go语言:如何通过Go来更好的开发并发程序 ?

微客鸟窝

Go 语言

Compose 中的主题

Changing Lin

8月日更

能源区块链研究 | 加密行业碳抵消有助于大众接纳比特币吗?

CECBC

【LeetCode】有效的字母异位词Java题解

Albert

算法 LeetCode 8月日更

MySQL 系列教程之(五)DDL 操作:建库建表

若尘

MySQL 数据库 8月日更

Hadoop安装与常用操作命令

Mike

Hadoop生态系统

Mike

堡垒机、防火墙以及跳板机分别是什么?

行云管家

云计算 运维 防火墙 堡垒机 跳板机

2021,编程语言如何选择?

程序员鱼皮

Java c++ Python JavaScript Go 语言

Python入门:ChainMap 有效管理多个上下文

华为云开发者联盟

Python 字典 上下文 映射 ChainMap

趣说开源|学生如何参与开源社区?

SphereEx

数据库 开源

如何将知识引入机器学习模型提升泛化能力?

华为云开发者联盟

机器学习 算法 数据 模型 物理学

基于java springboot体育馆预约微信小程序源码(毕设)设计开发

清风

Java 小程序 源码 毕业设计

为什么区块链是互联网的100倍?

CECBC

出现吧,Python Web 菜谱系统的首页,不会前端技术,也能做

梦想橡皮擦

8月日更

“遇见”未来“编程”语言,面向组件编程,送给在校学生

清风

Java 小程序 毕业设计

Android ANR应用无响应

W🌥

android 8月日更

技术加持、服务先行:北鲲云超算平台助力生命科学领域研究与发展

北鲲云

MySQL安全加固方法分享

Simon

MySQL 数据库 数据安全

FastApi-15-文件上传-3

Python研究所

FastApi 8月日更

数据加密和BCrypt哈希算法应用 | StartDT Tech Lab 15

奇点云

导播上云,把 “虚拟演播厅” 搬到奥运村

阿里云CloudImagine

阿里云 视频处理 视频直播 视频云 云导播

区块链技术:为什么说波卡能加速区块链行业的发展?

CECBC

30个Kafka常见错误小集合

王知无

AOC萌新探索:搭建和体验在线AOC环境

华为云开发者联盟

Python 网络 自动化运维 AOC 网络设备

走!跟着浪潮云洲去挖矿

云计算

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