前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Dapr 1.7 之 Unix Domain socket 他来了

Dapr 1.7 之 Unix Domain socket 他来了

作者头像
张善友
发布2022-06-06 14:55:17
4680
发布2022-06-06 14:55:17
举报
文章被收录于专栏:张善友的专栏
Unix Domain socket

A UNIX socket is an inter-process communication mechanism that allows bidirectional data exchange between processes running on the same machine.

Unix Domain Socket(后面统一简称 UDS)是在socket的框架上发展出一种IPC(inter-process communication)机制。对于本地的进程间通信,Unix Domain socket 比TCP / IP环回连接更安全,更有效。 使用起来和传统的 socket 非常的相似。 区别点主要有两个地方需要关注。

第一,在创建 socket 的时候,普通的 socket 第一个参数 family 为 AF_INET, 而 UDS 指定为 AF_UNIX 即可。

第二,Server 的标识不再是 ip 和 端口,而是一个路径,例如 /dev/shm/fpm-cgi.sock,其实在平时我们使用 UDS 并不一定需要去写一段代码,很多应用程序都支持在本机网络 IO 的时候配置。

在k8s 上通过共享卷来实现的: https://kubernetes.io/zh/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume/,这样你就好理解Dapr 的配置参数 dapr.io/unix-domain-socket-path。相关的Issue 可以参考 https://github.com/dapr/dapr/issues/4309

Dapr 1.7 版本带来了UDS的支持,现在,您可以在使用注释  dapr.io/unix-domain-socket-path 调用 Dapr sidecar 时将 Unix Domain Sockets 与 Kubernetes(以及自托管)一起使用,以提高吞吐量并降低延迟。

Dapr 对 UDS 支持的平台目前是Linux,还不支持Windows(Unix-domain sockets have long been a feature of most Unix platforms, and are now supported in Windows 10 and Windows Server 2019) ,Dapr 1.8 版本已经安排支持了,正在开发中,具体参见Issue: https://github.com/dapr/dapr/issues/4128

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Unix Domain socket
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档