从 0 开始学微服务
胡忠想
微博技术专家
63927 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 43 讲
开篇词 (1讲)
结束语 (1讲)
从 0 开始学微服务
15
15
1.0x
00:00/00:00
登录|注册

35 | 微博Service Mesh实践之路(上)

专栏上一期我们聊了 Service Mesh 的代表作 Istio,由于 Istio 的设计理念非常新,并且它诞生在微服务容器化和 Kubernetes 云平台火爆之后,所以从设计和实现上,Istio 都天生对云原生应用更友好。
但是现实是不是也是那么美好呢?对于一个已经上线运行多年的业务系统来说,要想从经典的微服务架构走上 Istio 这条看似完美的道路并不容易,各种内部基础设施的定制化以及业务稳定性优先准则等因素,都注定了大多数公司要走出一条自己的 Service Mesh 实践之路。今天我就来带你回顾下微博是如何一步步走向 Service Mesh 的。

跨语言服务调用的需求

我在前面讲过,微博的服务化框架采用的是自研的 Motan,Motan 诞生于 2013 年,出于微博平台业务单体化架构拆分为微服务改造的需求,在结合当时的开源服务化框架和自身实际的需求,选择了采用自研的方式。而且由于微博平台的业务采用的是 Java 语言开发,所以 Motan 早期只支持 Java 语言。后期随着微博业务的高速发展,越来越多的 PHP 业务开始登上舞台,于是在微博的流量体系中,主要是三股服务之间的相互调用:一个是 Java 与 Java 语言,一个是 PHP 和 Java 语言,一个是 PHP 和 PHP 语言。Java 应用之间的调用采用的是 Motan 协议,而 Java 应用与 PHP、PHP 与 PHP 应用之间采用的都是 HTTP 协议。我回忆了一下当时一次 PHP 与 Java 之间的 HTTP 调用过程,大致需要经过 DNS 解析、四层 LVS 负载均衡、七层 Nginx 负载均衡,最后才能调用 Java 应用本身。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《从 0 开始学微服务》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(12)

  • 最新
  • 精选
  • 无心人偶
    是如何降低链路损耗?

    作者回复: 链路损耗必然的,可以在连接池和长链接上做做文章

    4
  • 小菜鸡
    周晶有个微课专门讲微博的Mesh,他是你同事吧?

    作者回复: 是的

    2
  • lpf32
    回答 作为客户端,服务端需要分别把request,response转成motan协议,发送给本地motan agent

    作者回复: 是的

    1
  • 文敦复
    请问老师,Motan数据序列化和解析比GRPC快很多吗?用的是什么序列化方式?

    作者回复: motan跨语言用的是自定义的simple系列化,文中有链接可以详细了解,没有使用grpc是因为php解析大数据量的pb结构时性能有问题

    1
  • 拉欧
    不同语言之间调用最通用的方式是http,所以需要协议转换,把原来的rpc调用转换成http调用,然后再根据服务发现和负载均衡策略,获取相应的IP和端口

    作者回复: 理解的很多

    1
  • Wipeher
    motan也是应用层协议吧?那么HTTP协议带来的第一个问题:中间链路损耗大,无论是否使用agent,也必然还是存在的么?

    作者回复: 一般http协议还需要部署四七层,中间链路需要经过网络,所以会带来损耗

  • 任鑫
    Istio背靠的Google在微服务云原生方面起步早、体量大,远非微博可比。
    1
  • 田小麦
    一门好的课程能引导出,技术演进过程,能很好的深入学习,并产生兴趣!!!
    归属地:北京
  • 🤔
    motan-go代理是go语言写的吗
  • Geek_805d64
    老师,这个dns解析是内网解析还是外网,php发请用给java需要出去转一圈回来微博的机房吗?
收起评论
显示
设置
留言
12
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部