草庐IT

apisix-etcd

全部标签

为什么 APISIX Ingress 是比 Emissary-ingress 更好的选择?

本文从可扩展性和服务发现集成等多个维度对比了APISIXIngress与Emissary-ingress的性能。作者:容鑫,API7.ai云原生技术工程师,ApacheAPISIXCommitter。原文链接背景KubernetesIngress是一种API对象,用于定义集群外部流量如何路由到集群内部服务的规则。IngressController通常用于实现Ingress资源的相关逻辑,并统一管理这些流量规则。在实践中,企业用户往往需要mTLS、重试、限流和鉴权等流量管理功能,但Ingress资源语义无法满足需要。因此,IngressController实现往往使用新增CRD等方式对功能进行扩

为什么 APISIX Ingress 是比 Emissary-ingress 更好的选择?

本文从可扩展性和服务发现集成等多个维度对比了APISIXIngress与Emissary-ingress的性能。作者:容鑫,API7.ai云原生技术工程师,ApacheAPISIXCommitter。原文链接背景KubernetesIngress是一种API对象,用于定义集群外部流量如何路由到集群内部服务的规则。IngressController通常用于实现Ingress资源的相关逻辑,并统一管理这些流量规则。在实践中,企业用户往往需要mTLS、重试、限流和鉴权等流量管理功能,但Ingress资源语义无法满足需要。因此,IngressController实现往往使用新增CRD等方式对功能进行扩

PowerDotNet平台化软件架构设计与实现系列(05):ETCD分布式键值存储平台

ETCD目前在PowerDotNet已经被用于注册中心和配置管理(常见的配置中心在PowerDotNet中仅仅是一个小小的模块而已)中,作为基础设施的重要组成部分,ETCD的重要性不言而喻。本文简单总结介绍下个人开发使用和管理ETCD的一些经验。ETCD诞生于CoreOS公司,它最初是用于解决集群管理系统中OS升级的分布式并发控制以及配置文件的存储与分发等问题。按照官方解释(Adistributed,reliablekey-valuestoreforthemostcriticaldataofadistributedsystem),ETCD是一个分布式的可靠的键值对存储系统,用于存储分布式系统中

PowerDotNet平台化软件架构设计与实现系列(05):ETCD分布式键值存储平台

ETCD目前在PowerDotNet已经被用于注册中心和配置管理(常见的配置中心在PowerDotNet中仅仅是一个小小的模块而已)中,作为基础设施的重要组成部分,ETCD的重要性不言而喻。本文简单总结介绍下个人开发使用和管理ETCD的一些经验。ETCD诞生于CoreOS公司,它最初是用于解决集群管理系统中OS升级的分布式并发控制以及配置文件的存储与分发等问题。按照官方解释(Adistributed,reliablekey-valuestoreforthemostcriticaldataofadistributedsystem),ETCD是一个分布式的可靠的键值对存储系统,用于存储分布式系统中

如何使用 etcd 实现分布式 /etc 目录

etcd是一款兼具一致性和高可用性的键值数据库,简单、安全、快速、可信,目前是Kubernetes的首要数据存储。我们先来看一段etcd官方对于名字的解释。Thename“etcd”originatedfromtwoideas,theunix“/etc”folderand“d"istributedsystems.The“/etc”folderisaplacetostoreconfigurationdataforasinglesystemwhereasetcdstoresconfigurationinformationforlargescaledistributedsystems.Hence,a

如何使用 etcd 实现分布式 /etc 目录

etcd是一款兼具一致性和高可用性的键值数据库,简单、安全、快速、可信,目前是Kubernetes的首要数据存储。我们先来看一段etcd官方对于名字的解释。Thename“etcd”originatedfromtwoideas,theunix“/etc”folderand“d"istributedsystems.The“/etc”folderisaplacetostoreconfigurationdataforasinglesystemwhereasetcdstoresconfigurationinformationforlargescaledistributedsystems.Hence,a

etcd实现分布式锁

转载自:etcd实现分布式锁当并发的访问共享资源的时候,如果没有加锁的话,无法保证共享资源安全性和正确性。这个时候就需要用到锁1、需要具备的特性需要保证互斥访问(分布式环境需要保证不同节点、不同线程的互斥访问)需要有超时机制,防止锁意外未释放,其他节点无法获取到锁;也要保证任务能够正常执行完成,不能超时了任务还没结束,导致任务执行一般被释放锁需要有阻塞和非阻塞两种请求锁的接口2、本地锁当业务执行在同一个线程内,也就是我初始化一个本地锁,其他请求也认这把锁。一般是服务部署在单机环境下。我们可以看下下面的例子,开1000个goroutine并发的给Counter做自增操作,结果会是什么样的呢?pa

etcd实现分布式锁

转载自:etcd实现分布式锁当并发的访问共享资源的时候,如果没有加锁的话,无法保证共享资源安全性和正确性。这个时候就需要用到锁1、需要具备的特性需要保证互斥访问(分布式环境需要保证不同节点、不同线程的互斥访问)需要有超时机制,防止锁意外未释放,其他节点无法获取到锁;也要保证任务能够正常执行完成,不能超时了任务还没结束,导致任务执行一般被释放锁需要有阻塞和非阻塞两种请求锁的接口2、本地锁当业务执行在同一个线程内,也就是我初始化一个本地锁,其他请求也认这把锁。一般是服务部署在单机环境下。我们可以看下下面的例子,开1000个goroutine并发的给Counter做自增操作,结果会是什么样的呢?pa

实现etcd服务注册与发现

转载自:实现etcd服务注册与发现0.1、目录结构.├──api│  └──main.go├──common│  └──common.go├──docker-compose.yml├──etcd│  └──Dockerfile├──go.mod├──go.sum├──rpc│  ├──courseware│  │  ├──courseware.pb.go│  │  └──courseware_grpc.pb.go│  ├──courseware.proto│  └──main.go└──server├──service_discovery.go└──service_registration.g

实现etcd服务注册与发现

转载自:实现etcd服务注册与发现0.1、目录结构.├──api│  └──main.go├──common│  └──common.go├──docker-compose.yml├──etcd│  └──Dockerfile├──go.mod├──go.sum├──rpc│  ├──courseware│  │  ├──courseware.pb.go│  │  └──courseware_grpc.pb.go│  ├──courseware.proto│  └──main.go└──server├──service_discovery.go└──service_registration.g