最近,公司有计划运用API网关。那么,在经过权衡之后,使用了Tyk的Hybrid模式!现在环境没问题了,API调用也测通了。我得想想合并服务,监控API实时情况的东西。但在这个环境搭建的过程中,我目前做以下总结思考:

一、过程描述

首先,我是按照官方文档去执行的,但是,我一次又一次的失败了。然而,我并没有找到我的步骤和官方文档有出入的地方。那么,到底发生了什么????

其实,都很简单的。就是用docker拉取镜像,使用给定脚本初始化容器,并启动容器。但是,为什么,我明明把镜像拉取下来了,也按照文档,执行了命令,为什么还是出错了。当然,我最后成功了。用时不到1天,包括学习docker常用命令,阅读文档,测试第一个API。

然后,我开始对比,在我失败和成功的过程中,到底哪儿不一样,我失败的时候,我脑子里在想什么,我为什么要那么去做???而当我成功的时候,我脑子里又在想什么????

事实上,我后来能够成功,极大程度上,是复用了我之前研究Jeddict的方法论,主要是:Jeddict:从服务器的验证过程,思考学习新事物的套路

那我为什么最开始,没有能复用我之前的方法论总结,即所谓的经验呢????我还是把东西学新了,所以我累。如果我最开始就复用方法论,站在我多年一系列的经验总结上,那么我可能用不了一天就能解决问题。  所以,也在此给我自己一个忠告: 姑娘,请及时更新并复用你的方法论!

二、和作者交流

因为总是安装失败,本来中文资料就比较少,英文资料,除了官网,我也没有查到太多(后来证明,是我没有找对地方)然后,我就想怎么呢????

我在犹豫是放弃使用这个工具,直接说我不行不会,还是说,找人帮我解决????最能解决我问题的,肯定是开发作者!  但我总感觉这个问题很stupid,显得我很没有档次,担心很尴尬,担心没人搭理我。纠结了大概有半个小时,最终,还是在官网中,找到了Twitter地址,然后给推了一条消息!   结果,10分钟不到,马上就获得了回复,并且很详细,很具体。在我反应我找不到更多的中文资料,或者在StackOverFlow这种问答网站,或者Google不到的时候,作者告诉了我Tyk的论坛地址。于是,我找到了一大批使用Tyk的人,很多人帮助我解决问题!

哈哈,必须贴帅哥照片:

在此,还想再说明一点的就是,我百度过Tyk的资料,也零星的看到了几篇博客,对Tyk的认可度不是很好,使用Kong的很多。我不否认Kong目前的用户量很多,它的插件扩展很强大。但是,我也能推翻我所看到的博文中,包括说Tyk安装繁琐(我分别尝试过Kong、Tyk),API监控平台太过死板,扩展性不好的说法。Tyk从14年出生,它很年轻,但是,它一直在成长。(妈呀,绝对不是因为作者帅,在这儿打广告,但可能真的有一点,嘿嘿)

我说这个现象的目的,主要是想说:不能以偏概全,我看过Kong和Tyk官网70%的文档,我就是觉得各有优点吧。在阐述观点的时候,一定要将前提和需求说清楚。

三、总结

知之为知之不知为不知,是知也!  其实,那种越是优秀的人,越是平易近人,他们并没有想象中的那种不可接近或者说高冷。有问题了,不管那个问题是不是很呆傻,但自己无法解决的时候,就要思考优秀的人会怎么做,而不是自己会不会丢脸,自己更愿意怎么做!

Tyk-Hybrid模式安装—抽象方法论,重用它的更多相关文章

  1. Java设计模式之【工厂模式】(简单工厂模式,工厂方法模式,抽象工厂模式)

    Java设计模式之[工厂模式](简单工厂模式,工厂方法模式,抽象工厂模式) 工厂模式出现的原因 在java中,创建一个对象最简单的方法就是使用new关键字.但在一些复杂的业务逻辑中,创建一个对象不只需 ...

  2. 设计模式之工厂模式VS抽象工厂

    一.工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的. 工厂模式在<Java与模式>中分为三类:1)简单工厂模式(Simple Factor ...

  3. Hadoop单机模式安装-(3)安装和配置Hadoop

    网络上关于如何单机模式安装Hadoop的文章很多,按照其步骤走下来多数都失败,按照其操作弯路走过了不少但终究还是把问题都解决了,所以顺便自己详细记录下完整的安装过程. 此篇主要介绍在Ubuntu安装完 ...

  4. Hadoop单机模式安装-(2)安装Ubuntu虚拟机

    网络上关于如何单机模式安装Hadoop的文章很多,按照其步骤走下来多数都失败,按照其操作弯路走过了不少但终究还是把问题都解决了,所以顺便自己详细记录下完整的安装过程. 此篇主要介绍在虚拟机设置完毕后, ...

  5. Hadoop单机模式安装-(1)安装设置虚拟环境

    网络上关于如何单机模式安装Hadoop的文章很多,按照其步骤走下来多数都失败,按照其操作弯路走过了不少但终究还是把问题都解决了,所以顺便自己详细记录下完整的安装过程. 此篇主要介绍如何在Windows ...

  6. 使用独立模式安装Sharepoint Server 2013出现创建示例数据错误的解决方案

    使用独立模式安装Sharepoint Server 2013,允许配置向导到第8步创建示例数据时,出错了! Exception: System.ArgumentException: The SDDL ...

  7. spark的standlone模式安装和application 提交

    spark的standlone模式安装 安装一个standlone模式的spark集群,这里是最基本的安装,并测试一下如何进行任务提交. require:提前安装好jdk 1.7.0_80 :scal ...

  8. 决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试

    决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试 [TOC] Apache ZooKeeper 单机模式安装 创建hadoop用户&赋予sudo权限, ...

  9. Hadoop单机模式安装

    一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序: ...

随机推荐

  1. Python3+Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)'''from ...

  2. android app 压力测试工具-monkey tool

    一.什么是Monkey? Monkey测试是Android自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常. Monkey是A ...

  3. sudo的用法

    为了系统安全我们一般不直接使用root用户进行日常维护,sudo是临时提升root权限,有时执行一些命令或者更新没权限的文件时需要使用root,这个时候就需要sudo上场了 普通用户是没有sudo使用 ...

  4. 【转载】UWP应用设置和文件设置:科普

    数据有两个基本的分类,应用数据和用户数据,而用户数据则为由用户拥有的数据,如文档,音乐或电子邮件等,下面将大致的介绍一下应用数据的基本操作. 应用数据:应用数据包含APP的状态信息(如运行时状态,用户 ...

  5. 日常-acm-鸡兔同笼

    已知鸡和兔总数量n,总腿数m.输入n和m,依次输出鸡的数量和兔的数量.如果无解,则输出No answer. 样例输入: 14 32 样例输出: 12 2 样例输入: 10 16 样例输出: No an ...

  6. 2018.4.28 基于java的聊天系统(带完善)

    Java聊天系统 1.Socket类 Socket(InetAddress address, int port) 创建一个流套接字并将其连接到指定 IP 地址的指定端口号. Socket(String ...

  7. CPP-基础:新标准 C++iostream

    在新的标准 C++ iostream 库中: 1. open 函数不采用第三个参数(保护参数). 2. 无法从文件句柄创建流. 3. 除了几个例外,新的标准 C++ 库中的所有名称都在 std 命名空 ...

  8. Mybatis中关于OGNL表达式冲突

    注意设计表字段不能用bor  xor  and  band  eq  neq  lt  gt  lte  gte  shl  shr  ushr

  9. LINQ结合正则表达式查询文件系统

    string startFolder = @"D:\Program Files (x86)\Microsoft Visual Studio 12.0\"; IEnumerable& ...

  10. Java开发小游戏 用键盘控制精灵在游戏中上下左右跑动 窗体小游戏可打包下载,解压后双击start运行

    package com.swift; import java.awt.Point; import java.awt.event.KeyEvent; import com.rupeng.game.Gam ...