思必驰:为什么我们重新写了一个 k8s ingress controller?

作者:金卫 前言 大家好,我是来自苏州思必驰的金卫,今天和大家聊聊 Apache APISIX 与 k8s 集成代替原生 ingress 的话题。 写这篇文章时,我们已经在生产环境上应用了 Apache APISIX,接管了部分业务的入口流量,同时正逐步把原生 ingress 中流量迁移过来,如下图所示: 借助 Apache APISIX 动态路由能力做流量分发,同时自定义一些插件,满足业务需求。 APISIX-ingress-controller 将 pod ip 注册到 upstream 的, node 中,业务流量可以绕过 kube DNS 直接访问到 pod。也正是在此基础上,可以通过插件实现一些特殊负载均衡策略。 从图上看,好像做了一件与原生 ingress 重复的事情。那这篇文章我们就简单介绍一下为什么舍弃原生 ingress,用 Apache APISIX 自建一套 ingress controller。 ingress 是什么简单讲,Ingress是 Kubernetes 处理边缘入口流量的一种方式。 ingress 解决什么问题由于 Kubernetes 集群内的服务都是虚拟网络,外部流量访问集群内部,至少需要一个公网ip和端口映射。 Kubernetes 阅读更多…

HelloTalk:基于 OpenResty 和 Apache APISIX 的全球化探索之路

作者:李凌 2019 年 12 月 14 日,又拍云联合 Apache APISIX 社区举办 API 网关与高性能服务最佳实践丨Open Talk 广州站活动,HelloTalk, Inc. 后台技术负责人李凌做了题为《HelloTalk 基于 OpenResty 的全球化探索之路》的分享。 李凌,HelloTalk,Inc. 后端技术负责人,专注在服务出海和基于 Golang/CPP 的 IM 服务及相关技术平台的架构,5 年基于 OpenResty 服务治理和使用经验,Apache APISIX Committer。 以下是分享全文: 大家好,我是来自 HelloTalk 的李凌,本次主要介绍 HelloTalk 做什么业务以及基于怎样的场景使用 OpenResty 和 Apache APISIX。 HelloTalk:技术上看是基于全球的 Tiny 版微信 HelloTalk 是全球最大的外语学习社交社区,全球 1600 万用户通过 HelloTalk 和全球语伴学习 150 阅读更多…

Apache APISIX 技术选型、测试和持续集成

作者:温铭 OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·成都站,Apache APISIX PPMC 温铭在活动上做了《 API 网关的选型和持续集成 》的分享。 OpenResty x Open Talk 全国巡回沙龙是由 OpenResty 中国社区、又拍云发起,邀请业内资深的 OpenResty 技术专家,分享 OpenResty 实战经验,增进 OpenResty 使用者的交流与学习,推动 OpenResty 开源项目的发展。 温铭,深圳支流科技联合创始人,开源微服务 API 网关 Apache  APISIX PPMC,OpenResty软件基金会发起人,《OpenResty 从入门到实战》专栏作者,创业之前在互联网安全公司工作了 10 年,主要从事服务端的开发和架构,负责开发过木马云查杀、反钓鱼系统和企业安全产品。曾在奇虎 360 担任架构师,开源委员会发起人、委员。 以下是分享全文: 我和院生在做的一个开源的 API 网关项目叫 Apache APISIX,今天介绍这个项目涉及到 OpenResty 的技术和选型,主要包括三个方面: 第一, API 网关是什么,它有什么作用; 第二,如何去做 API 网关,如何做选型; 阅读更多…

Apache APISIX 高性能实战2

作者:王院生 2019 年 8 月 31 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·成都站,Apache APISIX PPMC 王院生在活动上做了《Apache APISIX 高性能实践》的分享。 OpenResty × Open Talk 全国巡回沙龙是由 OpenResty 社区、又拍云发起,邀请业内资深的 OpenResty 技术专家,分享 OpenResty 实战经验,增进 OpenResty 使用者的交流与学习,推动 OpenResty 开源项目的发展。 王院生,Apache APISIX PPMC,支流科技创始人。 以下是分享全文: 首先做下自我介绍,我大学毕业后在传统金融行业工作九年,2014 年加入奇虎 360,期间撰写了《OpenResty 最佳实践》。我个人比较喜欢研究技术和开源,可能是受老罗影响,喜欢尝试理想化的事情。今年 3 月份与志同道合的伙伴一起创办了深圳支流科技公司,这是一家以开源方式创业的科技公司,在国内屈指可数,APISIX 是我们目前的主要项目。 Apache APISIX 是微服务 API 网关产品,今年 7 月份我在上海做过一次关于“ Apache  APISIX 高性能实践”的分享,这次的内容是在上次分享的基础上,并会将最近的新积累分享给大家。 什么是 阅读更多…

Apache APISIX 高性能实战

作者:王院生 2019 年 7 月 6 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·上海站,OpenResty 软件基金会联合创始人王院生在活动上做了《Apache APISIX 的高性能实践》的分享。 OpenResty x Open Talk 全国巡回沙龙是由 OpenResty 社区、又拍云发起,邀请业内资深的 OpenResty 技术专家,分享 OpenResty 实战经验,增进 OpenResty 使用者的交流与学习,推动 OpenResty 开源项目的发展。活动将陆续在深圳、北京、武汉、上海、成都、广州、杭州等城市巡回举办。 王院生,支流科技创始人,Apache APISIX PPMC。 以下是分享全文: 大家好,我是王院生,很高兴来到上海。首先做下自我介绍,我于 2014 年加入奇虎 360,在那时认识了 OpenResty,此前我是一个纯粹的 C/C++ 语言开发者。在 360 工作期间,利用工作闲暇时间写了《OpenResty 最佳实践》,希望能影响更多的人正确掌握 OpenResty 入门。 什么是 API 网关 API 网关的地位越来越重要,它几乎劫持了所有流量,内外之间完成了用户的安全控制、审计,通过自定义插件的方式满足企业自身特定需求,最常见的自由身份认证等。随着服务在数量和复杂度上的不断增长,更多的企业采用了微服务的方式,这时通过 API 阅读更多…

360:Apache APISIX 在基础运维平台项目中的实践

作者:久 女主宣言 今天小编为大家分享一篇关于Apache APISIX的文章,文章从开发者的角度讲述了 Apache APISIX 网关在 360 基础运维平台的落地实践,希望能对大家有所帮助。 PS:丰富的一线技术、多元化的表现形式,尽在“360云计算”,点关注哦! Api 网关选型 2019 年 10月,我们团队计划改造 360 基础运维平台的网关层,当时我们主要调研了社区几个比较活跃的网关,如 Kong,Orange,Apache APISIX,最终选择了 Apache APISIX 当时主要是考虑到 Apache APISIX 的存储选型 etcd 比较符合我们的使用场景。 线上运行情况 目前我们添加到网关的 API 数量接近 900 个,日均 PV 1000 万左右,从监控系统来看,网关以及我们各个微服务均运行良好。 •日均 PV •网关 POD 监控 •微服务负载监控图 基础运维平台架构图 下图是我们运维平台项目最终的架构图,网关服务我们部署在公司的容器云上,etcd 服务我们是在 3 台虚机上部署了一套集群。 容器化开发和部署 接下来我具体介绍一下我们是如何使用 Apache APISIX 搭建网关服务的,首先先给大家看下我们网关项目的代码结构 之前我给王院生(Apache APISIX 阅读更多…

贝壳找房:如何基于 Apache APISIX 搭建网关

作者:王辉 我是王辉,在贝壳找房负责 API 网关系统的开发,我们使用 Apache APISIX 作为生产系统的 API 网关,每天处理过亿的生产流量,性能优异,而且很稳定。正好 APISIX 刚刚加入 Apache 孵化器,除了恭喜之外,我想来分享下贝壳找房当初为什么选择 Apache APISIX,以及使用过程中的一些心得。 选择 Kong 还是 APISIX? 对于网关的技术要求,一是要性能好,能够支撑大流量的接入,二是要稳定,不能出问题。 选型的原则就是基于或者借鉴开源项目重构一个更加稳健的版本,能够保证接入更大的流量,刚开始的流量还少,做这样的大动作是完全可以接受的。评估完利弊后和领导表沟通了一下想法,得到领导的肯定后就决定搞起,这时脑海想的第一个就是 Kong 了,大名鼎鼎的开源网关。于是就去官网浏览了一番,周边文章也看了些,第一印象就是这个这个项目很不错,这个功能支持那个功能也支持,能够满足用户想到的没想到的大多数需求,性能还稳定,就是它了。兴高采烈的 clone 了代码开始阅读起来,一天两天若干天过去了,还是一头雾水的样子,想想也是,Kong 能提供这么多的功能,其代码的复杂度可想而知。 这时几个问题出现在我的脑海里,我一个人多久能啃下来 Kong 呢?然后还要构建一个适合自己的项目,又需要多久呢?还有就是这么多的功能我都需要么? 在一个月黑风高的夜晚,QQ群里响了一下声,是温铭发的一条消息还@了全体,API 网关 APISIX 0.5 版本发布了,这是啥?第二天上班就赶紧联系了温铭,才了解到这是他和院生一起搞的开源项目。这节骨眼APISIX 的出现让我看见了一个新的选择,最主要俩位都是业界的大佬,代码质量应该没问题,就是开源时间太短。 抱着试一试的态度开始走近APISIX,先是简单的看看了文档,由于开源时间较短支持的功能有限,但也不少了,动态负载均衡、熔断、身份认证、限速等等,代码量也不是很大降低了学习成本,在这一点上 PK 掉了 Kong,APISIX 更适合我当前的状况,满足我初期的功能规划,也不用考虑不需要的功能怎么处理问题了。 接下来看的就是重点了,开源时间这么短,性能怎么样?看了相同环境的压测数据对比,APISIX完爆 Kong,虽然这样不太公平,毕竟 Kong 是个庞然大物,但对于我的生产环境来说,他俩是一样的。根据 APISIX 的性能测试报告,单核 CPU 可以达到 24k QPS,同时延时只有 0.7 毫秒。 阅读更多…