etcd 实战课
唐聪
腾讯云资深工程师,etcd 活跃贡献者
27702 人已学习
新⼈⾸单¥59
登录后,你可以任选3讲全文学习
课程目录
已完结/共 28 讲
开篇词 (1讲)
etcd 实战课
15
15
1.0x
00:00/00:00
登录|注册

22 | 配置及服务发现:解析etcd在API Gateway开源项目中应用

你好,我是唐聪。
在软件开发的过程中,为了提升代码的灵活性和开发效率,我们大量使用配置去控制程序的运行行为。
从简单的数据库账号密码配置,到confd支持以 etcd 为后端存储的本地配置及模板管理,再到Apache APISIX等 API Gateway 项目使用 etcd 存储服务配置、路由信息等,最后到 Kubernetes 更实现了 Secret 和 ConfigMap 资源对象来解决配置管理的问题。
那么它们是如何实现实时、动态调整服务配置而不需要重启相关服务的呢?
今天我就和你聊聊 etcd 在配置和服务发现场景中的应用。我将以开源项目 Apache APISIX 为例,为你分析服务发现的原理,带你了解 etcd 的 key-value 模型,Watch 机制,鉴权机制,Lease 特性,事务特性在其中的应用。
希望通过这节课,让你了解 etcd 在配置系统和服务发现场景工作原理,帮助你选型适合业务场景的配置系统、服务发现组件。同时,在使用 Apache APISIX 等开源项目过程中遇到 etcd 相关问题时,你能独立排查、分析,并向社区提交 issue 和 PR 解决。

服务发现

首先和你聊聊服务发现,服务发现是指什么?为什么需要它呢?
为了搞懂这个问题,我首先和你分享下程序部署架构的演进。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《etcd 实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(7)

  • 最新
  • 精选
  • 那时刻
    老师的问题,我的个人看法是,采用etcd应该是可行的。 1.高可靠。etcd基于raft的多副本可以满足。 2.高性能。公司业务多,规模大,可以依据不同业务不同etcd的方法,分担etcd的写压力,以及数据存储量有限的问题。各自业务的etcd可以水平扩展。 3.支持多业务、多版本管理、多种发布策略。etcd可以做到多版本管理,多发布策略的话,可以级联多个etcd的方法。 另外,可能更加理想的存储架构方式是采用计算与存储分离的方法,计算部分处理读写以及扩展,存储部分处理多版本,多业务,多发布策略。

    作者回复: 嗯,整体想法不错,特别是考虑到数据容量问题,但是还需要考虑更多问题,比如性能问题,一个业务可能数万个client, 直接读etcd性能肯定扛不住的,其次是复杂度管理,比如一个业务分配一个etcd集群,那这过程是手动的还是自动的呢? 能否自动快速就接入一个新业务而无需相关运维操作呢? 或者有没有更好的存储方案。

    2
    5
  • 大爱无疆
    做一个etcd proxy,proxy 实现 hash,将不同的/key 映射到后端不同的etcd集群上。 这样 相当于实现了 支持分片的 分布式存储。

    作者回复: 嗯啊,这个想法在有的公司落地了,但是不支持跨多节点的事务,有一定局限性,proxy稳定性也是个考验

    3
  • Geek_daf51a
    思考题很棒,我认为etcd并不合适,适合使用可平行扩容的分布式数据库如tidb,运维复杂度不更低点吗,容量也更大,还能支持各种key value大小配置
    3
  • 刁寿钧
    其实还期待讨论下APISIX搭配证书使用etcd的姿势,哈哈
    1
    1
  • Geek_ed84ef
    给服务路由配Lease跟APISIX提供的健康检查插件有什么区别吗?好像都是服务异常后可自动摘除节点
  • Coder
    我认为使用支持分片的nosql数据库比较合适,比如redis集群版本,一主两副本、还是很可靠得
  • 云原生工程师
    我认为etcd不太合适,应该使用类似阿里云drds、腾讯云tdsql这样分布式数据库,不过数据推送机制就没了,需要轮询了,但是容量不需要担心,支持多业务就表中增加一个字段或独立的表
收起评论
显示
设置
留言
7
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部