微服务网关 APISIX 初探

APISIX 是一个高性能的微服务API网关,之前在使用Kong的时候有了解过这个产品。如今这个项目已经进入了Apache开始孵化。这个网关的作者是编写了OpenResty的著名教程《OpenResty 最佳实践》的温铭和王院生。都是业界大牛,而且和kong一样都是基于 OpenResty。 项目地址:https://github.com/apache/incubator-apisix 文档入口:https://github.com/apache/incubator-apisix/blob/master/doc/install-dependencies.md docker入口:https://github.com/apache/incubator-apisix-docker 安装 数据库et……

阅读全文 »

互联网非法裁员自救指南

2019年的冬天真冷啊,随便一看一大波裁员滚滚而来,2020年的第一个工作日来发这篇丧丧的文章 ——《互联网裁员自救指南》。我们在遇到裁员通知之后在感慨和气愤之余,有些事情是必须第一时间要去做的,冷静下来,既然事情已经发生了,就看看自己手上有什么样的筹码,能多拿赔偿就多拿赔偿,这篇文章列举了一些被裁员,尤其是非法裁员之后需要注意的一些事项,有需要的可以先收藏起来。当然希望大家以后永远用不到。 注意公司迹象 一般的公司到裁员的那一步基本就是公司内部已经出现问题了,所以在裁员之前是会有一些动作的,这些动作被捕捉到了之后可以自己早做打算,尽早计划planB,多条心眼也是很有必要的。 最开始一般是现金流出问题,比如报销周期拉长,比如发工资时间拉长,这些基本都是现金流问题的直接表现。间接表现也有是一些……

阅读全文 »

深圳宽带光纤组网记

早前租房的时候基本上宽带都是被当地房东的关系户垄断的,如果自己想拉线搭建宽带都是不允许的,缺点就是真的很慢很卡很贵,搬家之后决心还是得整一套流畅的家庭宽带,至少让媳妇儿看视频的时候没那么卡,粗略的算了算,家里需要链接WiFi的设备竟然有十来个了,而且后面可能还有扩大数量的趋势,这样一算还是真得好好整它一波。 运营商的选择 基本上在广东这边,除了移动联通电信这样的巨头之外,还有长城宽带,天威宽带之类的,长城和天威宽带之前基本都用过,长城宽带基本都是扩容宽带,虚标严重,直接pass掉。之前用的天威百兆光纤,百兆倒是真的百兆,但是抖动太大,上网高峰时段基本没法用,视频掉帧,延时丢包一个不落。而且这两者有个共同问题是上传带宽很小,涓涓细流。所以除了三大运营商一概pass。当然这两家的优点是比较便宜,……

阅读全文 »

梦想让生活变得可以忍受

Having dreams is what makes life tolerable 突然发现好久都没有写电影观后感了,上一篇还是在2013年的时候,趁现在有点空闲时间,就写一写最近我给同事推荐的这部著名励志片《追梦赤子心》(又名《鲁迪传奇》,英文名《Rudy》)吧。同事也是学体育出身,看完告诉我还是触动蛮大的。本篇文章的标题就出自于电影中的经典台词。 我记得第一次看这部电影的时候,那时候是刚来深圳,我自诩是一个泪点比较高的人,但是在看到这部电影的最后几分钟的时候,还是忍不住泪如雨下了,好像这部电影也不小心触动我心底的东西一样。后来想想发现,芸芸众生大部分都还是和鲁迪一样,天资平平,背景平平,除了自我努力,没有什么可以改变,毕竟天才和幸运,大部分这辈子都占不到一样。不过有时候也觉得,能坚持不……

阅读全文 »

如何选择一副眼镜

如何选配眼镜是一个近视眼每隔几年就会遇到的问题,刚好最近也需要配眼镜,故在此总结一波。 验光 一个比较尴尬的事实是,国内的眼光流程还是很不规范的,很多验光师并不具备眼科基础知识,短期培训就直接在眼镜店上岗了。而在国外眼光处方是需要有资质的医师才能开具的。 所以,虽然不能说眼镜店等地方的验光师不好,但是如果你第一次配镜,或者是高度近视,或者还是个孩子,那么建议去医院的验光中心验光,那里出具的配镜处方是最保险的。 镜架的选择 选镜架其实就是选镜架的材质。常见的包括板材、TR90(塑胶钛)、合金、钛等等…… 材料: 板材硬度大,光泽好,不易变形; Ti-P/Ti-C:Ti是含有钛材料的标识,Ti-P代表纯钛,Ti-C则代表钛合金等等。钛镜架耐腐蚀,重量轻,不过价格嘛,自然是……

阅读全文 »

使用 libfaketime 修改 docker 容器时间

容器的时间问题: 如果想要直接进入容器,使用date -s修改日期,则会出现一个date: cannot set date: Operation not permitted的错误,而且也不会成功。 这是由于docker容器的隔离是基于Linux的Capability机制实现的, Linux的Capability机制允许你将超级用户相关的高级权限划分成为不同的小单元。目前Docker容器默认只用到了以下的Capability. CHOWN, DAC_OVERRIDE, FSETID, FOWNER, MKNOD, NET_RAW, SETGID, SETUID, SETFCAP, SETPCAP, NET_BIND_SERVICE, SYS_CHROOT, KILL, AUDIT_WRITE ……

阅读全文 »

时间测试神器libfaketime的使用

在做开发测试的时候,时常会遇到一些需要时间设置的问题,通常的时候,我们就是直接修改系统时间来完成,但是由于一般服务器上会跑着很多服务,一旦修改难免会影响到其他的程序,所以我们得找到一个方便的,只对自己需要使用的服务或进程修改时间,而不影响其他的,且修改方便的神器。好在有这么一款好用的: https://github.com/wolfcw/libfaketime/ 根据其官方介绍如下:  libfaketime会拦截程序用于检索的各种系统调用当前日期和时间。然后报告并修改(伪造)的日期和时间(由您用户指定的)到这些程序。这意味着您可以修改系统时间一个程序不需要改变系统范围内的时间。 libfaketime 允许您指定绝对日期(例如,01/01/2004)和相对日期(如10天前)。 例如,lib……

阅读全文 »

数据迁移工具对比&介绍

1.Tungsten Replicator 简介 Tungsten Replicator是数据库集群和复制供应商 Continuent 推出的高性能、开源的数据复制引擎,是Continuent最先进的集群解决方案的核心组件之一,特别适合作为异构数据库之间数据迁移的解决方案。 Tungsten replicator被定义为是异构数据库复制框架,可实现不同版本,不同种类数据库之间的数据库复制。根据官方的说明,现在可以实现mysql各版本件,以及mysql与oracle间的数据库复制,但是一些函数上限制还是不能避免。 官网:https://code.google.com/p/tungsten-replicator/wiki/Downloads 特点 支持高版本MySQL向低版本复制,如5.1-&g……

阅读全文 »

解决 protobuf 3 PHP 中枚举值报错问题

前两天在项目中突然遇到一个protobuf php库报错,报错为: “Undefined offset: 8″,”context” 这个一看就是直接是索引下标,找不到值就超出报错了,再往前回溯一下报错,发现这个错误是 Google\\Protobuf\\Internal\\Message 报出的。后来看了项目的.proto文件,发现是其他项目的同事更新了这个proto文件,把一个结构体的枚举值添加了一个,导致我们这边项目在收到这个结构体的时候无法识别。此时其实只要更新proto文件就可以解决问题,但是这样并不能一劳永逸,下一次遇到了枚举值增加的时候依旧会出现。 不过按说谷歌的protobuf php库用了这么多年应该没什么大问题,回溯一下代码发现在 https://github.com/pr……

阅读全文 »

Kong 1.4 发布!自动检测Cassandra Topology 更改,自定义Host Header以及更多功能!

原文地址:https://konghq.com/blog/kong-gateway-1-4-released-auto-detect-cassandra-topology-changes-custom-host-header-much/ 我们很高兴地宣布1.4系列的第一个版本已经发布! 我们的工程团队和出色的社区成员在此版本中添加了许多新功能,改进和修复。 请阅读以下内容,了解Kong Gateway 1.4中最相关的更改以及如何充分利用这些新增功能。 有关完整的详细信息,请参阅更改日志;有关如何从以前的Kong版本进行升级的说明,请参阅升级路径。 自动检测Cassandra Topology 更改 从Kong Gateway 1.4开始,将自动检测对Apache Cassandra群集拓扑……

阅读全文 »

在 CentOS 安装 Kong

安装包 首先下载配置的相应软件包: Centos6:https://bintray.com/kong/kong-rpm/download_file?file_path=centos/6/kong-1.3.0.el6.amd64.rpm Centos7:https://bintray.com/kong/kong-rpm/download_file?file_path=centos/7/kong-1.3.0.el7.amd64.rpm 企业试用用户应从其欢迎电子邮件中下载其包,并在步骤1之后将其许可保存到/etc/kong/license.json。 YUM Repositories 你也可以通过YUM安装Kong;按照下面“Set Me Up”部分中的说明进行操作。 RPM Repositor……

阅读全文 »

微服务 API 网关 Kong 插件 AWS Lambda 中文文档

从Kong调用 AWS Lambda函数。它可以与其他请求插件结合使用以保护,管理或扩展功能。 注意:此插件与0.14.0之前的Kong版本和0.34之前的Kong Enterprise捆绑在一起的功能与此处记录的功能不同。 有关详细信息,请参阅CHANGELOG。 术语 plugin: 在请求被代理到上游API之前或之后,在Kong内部执行操作的插件。 Service: 表示外部 upstream API或微服务的Kong实体。 Route: 表示将下游请求映射到上游服务的方法的Kong实体。 Consumer: 代表使用API的开发人员或机器的Kong实体。当使用Kong时,Consumer 仅与Kong通信,其代理对所述上游API的每次调用。 Credential: 与Consumer……

阅读全文 »