不用共享内存来通信,而用通信来共享内存的思考探索

9 篇文章 0 订阅
4 篇文章 0 订阅

go之所以不用共享内存来通信,而用通信来共享内存,是因为其协程之间都在一个进程里面,那么管道的读取性能就很好。

而如果是进程间的通信,很有可能会出现高性能进程间管道性能还是远不如共享内存的情况出现。

因此和分布式存储中常用的用共享内存来代替rpc调用优化通信效率刚好是相反的。

扩展阅读:

如何理解 Golang 中“不要通过共享内存来通信,而应该通过通信来共享内存”? - 卢旺杉的回答 - 知乎
https://www.zhihu.com/question/58004055/answer/155316307

深度|字节跳动微服务架构体系演进
谈到微服务,由于缺乏直观感受,很多人往往只关注服务的功能层面,而忽略底层的运维属性。但其实现在为什么社区还在不断讨论微服务,因为它部署在公有云、私有云、混合云等充满不确定性的环境下,解决的是由此带来的各种复杂性问题。
但换个角度看,如果开发人员都使用同一种语言,不做跨机器和跨进程的通讯。当所有服务都部署在同一台宿主机上,类似跨网络通讯、请求超时等问题会大大减少,通过共享内存或是无序列化等手段,整体性能似乎可以获得最极致的提升。

首发于: ARST打卡第199周[199/521]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值