开发者社区 > 云原生 > 容器服务 > 正文

Alpine容器镜像内置的musl libc库与标准glibc的实现存在哪些差异?

已解决

Alpine容器镜像内置的musl libc库与标准glibc的实现存在哪些差异?

展开
收起
詹姆斯邦德00 2022-10-14 17:20:06 949 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    DNS域名解析请求是Kubernetes最高频的网络行为之一,其中很多请求是可以优化和避免的。您可以通过以下方式优化域名解析请求:

    •(推荐)使用连接池:当一个容器应用需要频繁请求另一服务时,推荐使用连接池。连接池可以将请求上游服务的链接缓存在内存中,避免每次访问时域名解析和TCP建连的开销。

    •使用DNS缓存:

    •(推荐)当您的应用无法改造成通过连接池连接另一服务时,可以考虑在应用侧缓存DNS解析结果,具体操作,请参见使用节点DNS缓存NodeLocal DNSCache。

    •如果NodeLocal DNSCache无法适用的,可以在容器内置NSCD(Name Service Cache1Daemon)缓存。关于如何使用NSCD缓存,请参见在Kubernetes集群中使用NSCD。

    •优化resolv.conf文件:由于resolv.conf文件中ndots和search两个参数的机制作用,容器内配置域名的不同写法决定了域名解析的效率,关于ndots和search两个参数的机制详情,请参见DNS原理和配置说明。

    •优化域名配置:当容器内应用需要访问某域名时,该域名按以下原则配置,可以最大程度减少域名解析尝试次数,继而减少域名解析耗时。

    •Pod访问同命名空间的Service,优先使用< service-name>访问,其中service-name代指Service名称。

    • P o d 跨命名空间访问Service , 优先使用< service- name> . < name -space-name>访问,其中namespace-name代指Service所处的命名空间。

    •Pod访问集群外部域名时,优先使用FQDN类型域名访问,这类域名通过常见域名最后加半角句号(.)的方式来指定地址,可以避免search搜索域拼接带来的多次无效搜索,例如需要访问www.aliyun.com,则优先使用FQDN类型域名www.aliyun.com.来访问。"

    以上内容摘自《企业级云原生白皮书项目实战》电子书,点击https://developer.aliyun.com/ebook/download/7774可下载完整版

    2022-10-17 17:17:45
    赞同 展开评论 打赏

国内唯一 Forrester 公共云容器平台领导者象限。

相关产品

  • 容器镜像服务
  • 相关电子书

    更多
    使用CNFS搭建弹性Web服务 立即下载
    阿里云文件存储 NAS 在容器场景的最佳实践 立即下载
    何种数据存储才能助力容器计算 立即下载