庖丁解牛“微服务”

        

        上图是一个视频直播网站的直播间页面的架构,直播间页面的功能点很多,本文只列举其中的音视频、观众列表、弹幕、礼物几个功能点来说,观众发弹幕时需要根据关键字屏蔽,送礼物时要检查帐户的余额。

        大型互联网架构都是设计成微服务的架构,每个微服务独立进程,独立部署,腾讯里流行着一句话:“大系统小做”,以庖丁解牛的办法,把大系统分解成各小系统,小系统之间以接口方式调用,这句话也深深体现了“微服务”设计的精髓。  

        把“牛”切成七块:

        1.      web应用进程

        2.      音视频服务进程

        3.      观众列表进程

        4.      弹幕进程

        5.      视频进程

        6.      关键字进程

        7.      帐户进程

        进程之间接口调用,自订私有协议,调用方把编码请求参数,接送方解码参数,编码计算结果返回,当然也可以用protobuf、thrift等开源协议。

        下面来谈谈微服务架构的优缺点。

        优点:

        进程独立开发,每个进程的开发与升级不影响到其他进程。

        进程独立部署,可针对每个进程的负载情况进行扩容与缩减。

        开发语言独立,进程可由任何一种语言实现。

 

        缺点:

        开发成本,增加开发联调成本。

        系统性能,进程在同一机房的话,进程间调用增加几毫秒的时长,可以忽略不计,如果不在同一机房会受网络波动影响,时长和可靠性得不到保证。

 

        “微服务”设计是一种海量服务下的分布式架构,进程间的独立保证了在可以平行扩容应对不断增加的请求量,如果对于一些小系统,考虑到开发成本,可以不需要以“微服务”方式。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值