前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apisix网关(三)

Apisix网关(三)

作者头像
只喝牛奶的杀手
发布2023-07-09 14:15:56
2350
发布2023-07-09 14:15:56
举报

上篇说要介绍APISIX的插件,插件模块化管理,配置可插拔。APISIX目前已发布了 70 多个插件,不一一介绍啦,官网已经说的很清楚。如果现有插件不能满足当前业务需求也可以自行开发插件。为了满足不同需求的自主开发,APISIX 还支持多语言开发插件Java、Go、Python 等多种编程语言(配合Plugin Runner插件运行器)。APISIX 对插件进行了模块化管理,通过插件机制来实现各种流量处理和分发的功能,比如限流限速、日志记录、安全检测、故障注入等,支持用户编写自定义插件来对数据面进行扩充。

APISIX架构图上,分为数据面和控制面,控制面:使用etcd来存储和同步网关的配置数据,管理员可以通过Admin API或者Dashboard可以在毫秒级别内通知到所有的数据面节点。因为APISIX使用了使用etcd作为配置中心,当然也支持Console、Eureka、Nacos等服务作为注册中心。

etcd能干什么?

分布式系统中的数据分为控制数据和应用数据。etcd的使用场景默认处理的数据都是控制数据,对于应用数据,只推荐数据量很小,但是更新访问频繁的情况。常见的etcd使用场景包括: 服务发现、分布式锁、分布式队列、分布式通知和协调、主备选举等

为什么要选择etcd?

  1. etcd更加稳定可靠,它的唯一目标就是把分布式一致性KV存储做到极致,所以它更注重稳定性和扩展性。
  2. 在服务发现的实现上,etcd使用的是节点租约( Lease),并且支持Group(多key);而ZooKeeper使用的是临时节点,临时节点存在不少的问题。
  3. etcd支持稳定的 watch,而不是ZooKeeper一样简单的单次触发( one time trigger )watch。因为在微服务的环境下,通过调度系统的调度,一个服务随时可能会下线,也可能为应对临时访问压力而增加新的服务节点,而很多调度系统是需要得到完整节点历史记录的,在这方面,etcd可以存储数十万个历史变更
  4. etcd支持MVCC(多版本并发控制),因为有协同系统需要无锁操作。
  5. etcd支持更大的数据规模,支持存储百万到千万级别的key。相比ZooKeeper,etcd 的性能更好。在一个由3台8核节点组成的云服务器上,etcd v3版本可以做到每秒数万次的写操作和数十万次的读操作。

网关需要在etcd的加持下,可以实现配置下发实时到达所有的网关节点,而且必须要保证强一致性,保证各网关节点的配置一样,即CP模型。


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-06-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 只喝牛奶的杀手 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
微服务引擎 TSE
微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档