apigateway-kong(一)简介及部署】的更多相关文章

前言: CAT是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,除了与点评RPC组件融合的很好之外,他将会能与Spring.MyBatis.Dubbo 等框架以及Log4j 等结合,支持PHP.C++.Go等多语言应用,基本接入了美团点评上海侧所有核心应用.目前在中间件(MVC.RPC.数据库.缓存等)框架中得到广泛应用,为美团点评各业务线提供系统的性能指标.健康状况.监控告警等,在微服务监控领域也是非常有用的一套组件.支撑这美团每天450亿的消息,50TB的数据监控,应用于 700…
时隔三年,本人重出江湖,哈哈哈 浏览之前写的博客,有些深度还不是太够.篇幅太短,并且很多专题没有坚持写下去,部分技(dai)术(ma)没有从业务中抽离出来,本人感觉好遗憾--为此,痛下决心,重拾博客,将鄙人仅有的一点技术记录供晚年回忆并分享给需要的同学们. 进入正题,准备最近搭建一个api-gateway服务,随着后端restful api不断增加, 权限控制,安全,负载均衡,请求分发,监控等都成了问题 为什么使用API-Gateway 1. 方便客户端维护-- 每个请求方不用管理多个api u…
1. Kong简介 那么,Kong是一个什么东东呢?它是一个开源的API网关,或者你可以认为它是一个针对API的一个管理工具.你可以在那些上游service之上,额外去实现一些功能.Kong是开源的,所以你可以在Github找到它,你现在就可以下载使用. Kong是一款基于OpenResty(Nginx + Lua模块)编写的高可用.易扩展的,由Mashape公司开源的API Gateway项目.Kong是基于NGINX和Apache Cassandra或PostgreSQL构建的,能提供易于使…
lamp简介 lamp,是由Linux+Apache+Mysql/MariaDB+Php/Perl/Python的一组动态网站或者服务器的开源软件,除Linux外其它各部件本身都是各自独立的程序,但是因为经常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台. LAMP指的是Linux(操作系统).Apache(HTTP服务器).MySQL(也指MariaDB,数据库软件)和PHP(有时也是指Perl或Python)的第一个字母,一般用来建立web应用平台. web服…
Dubbo简介: Dubbo 是阿里巴巴公司开源(以前不开源)的一个高性能优秀的服务框架, 使得应用可通过高性能的 RPC 实现服务的输入和输出功能, 可以和spring框架无缝集成. 那么这里, 啥是RPC啊? 这么来说吧, 业务逻辑层和展现层不在同一台电脑上, 甚至不在同一个城市, 当我展现层想调用逻辑层的东西, 怎么调? RPC 就是为了解决这个问题的. 你说将逻辑层做成了接口, 通过http调用接口的方式, 确实可以调用得到, 但是速度和性能没有 RPC 高. 度娘解释: RPC (Re…
http://blog.csdn.net/pelick/article/details/11964291 Shark简介 Shark即Hive on Spark,本质上是通过Hive的HQL解析,把HQL翻译成Spark上的RDD操作,然后通过Hive的metadata获取数据库里的表信息,实际HDFS上的数据和文件,会由Shark获取并放到Spark上运算.Shark的特点就是快,完全兼容Hive,且可以在shell模式下使用rdd2sql()这样的API,把HQL得到的结果集,继续在scal…
标签(空格分隔): Hadoop Hive hwi 1.Hive简介   之前我一直在Maxcompute上进行大数据开发,所以对数仓这块还算比较了解,在接受Hive的时候基本上没什么大的障碍.所以,有需求用到hive的同学,应该对数据仓库相关概念以及数仓设计模型有了大致的了解了.简单来说,Hive是一个基于Hadoop文件系统智商的数据仓库架构(数据存储还是HDFS),它为数仓的管理提供了:ETL工具,数据存储管理以及大型数据集的查询和分析功能.   此外,Hive还提供了HiveQL,类似S…
声明 本文摘录了很多前辈的文章,原文如下: https://www.jianshu.com/p/2ecef979c606 Airflow 简介 Airflow是一个可编程,调度和监控的工作流平台,基于有向无环图(DAG),airflow可以定义一组有依赖的任务,按照依赖依次执行.airflow提供了丰富的命令行工具用于系统管控,而其web管理界面同样也可以方便的管控调度任务,并且对任务运行状态进行实时监控,方便了系统的运维和管理. 基本概念 airflow守护进程 airflow 系统在运行时有…
关于Docker容器技术 参考文献:<docker 从入门到精通> Docker容器简介 Docker的构想是要实现 "Build,Ship and Run Any App,Anywhere" ,即通过对应用的封装(Packaging).分发(Distribution).部署(Deployment).运行(Runtime)生命周期进行管理,达到应用组件 "一次封装,到处运行" 的目的.这里的应用组件,既可以是一个Web应用.一个编译环境,也可以是一套数据…
分布式存储简介 现代的互联网已经进入大数据时代,每天都有数以万计的数据产生,这些数据的规模轻轻松松地可以达到几P的级别,传统的的单机存储早已捉襟见肘,根本无法满足大数据对存储系统的要求.这时,各种分布式系统才应运而生. 其实分布式的概念,早在很多年前,就有人提出和进行相关研究,但是由于当时的网络数据很少,分布式无用武之地,一直不温不火,一至到大数据时代的来临,才陆陆续续被人们应用到工程实践中. 概念 分布式存储系统,是将数据分散存储在多台独立的设备上.传统的网络存储系统采用集中的存储服务器存放所…
RabbitMQ简介 ​ MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们. ​ 消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术. ​ 排队指的是应用程序通过 队列来通信.队列的使用除去了接收和发送应用程序同时执行的要求. 什么是RabbitMQ? RabbitMQ是由Erlang语言编写的实现…
Memcached简介 memcached是一个自由开源,高性能,分布式内存对象存储系统 基于内存的key-valued存储,用来存储小块的任意数据(字符串,对象) 他是一个简洁的key-value存储系统 # 分为服务器和客户端两部分 # 1. 服务端: memcached # 2. 客户端: memcache 使用目的: 通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度,提高可扩展性 Memcached特点 # 1. C/S模式架构: 由C语言编写,总共2000多行代码…
简介 Remote Dictionary Server, 翻译为远程字典服务, Redis是一个完全开源的基于Key-Value的NoSQL存储系统,他是一个使用ANSIC语言编写的,遵守BSD协议,支持网络.可基于内存的可持久化的日志型.Key-Value数据库,并提供多种语言的API. 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型. # Redis架构主…
Tomcat简介 Tomcat背景 tomcat就是常用的的中间件之一,tomcat本身是一个容器,专门用来运行java程序,java语言开发的网页.jsp就应该运行于tomcat中.而tomcat本身的运行也依赖于jdk环境. tomcat常应用于lnmt环境 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了Sun 的参与和支持,最新的Serv…
Mysql数据库简介 什么是数据? ​ 数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材,数据是信息的表现形式和载体,可以是符号,文字,数字,语音,图像,视频等,数据和信息是不可分离的,数据是信息的表达,信息是数据的内涵,数据本身没有任何意义,数据只有对实体行为产生影响才成为信息.在计算机系统中,数据以二进制信息单元0,1形式表示 什么是数据库? ​ 数据库(Database): 是按照数据结构来组织.存储和管理数据的仓库,给我们提供了一种以关系…
Nginx简介 Nginx(发音同engine x)是一个异步框架的 Web 服务器,也可以用作反向代理,负载平衡器 和 HTTP 缓存.该软件由 Igor Sysoev 创建,并于2004年首次公开发布.同名公司成立于2011年,以提供支持.Nginx 是一款免费的开源软件,根据类 BSD 许可证的条款发布.一大部分Web服务器使用 Nginx ,通常作为负载均衡器. Nginx 的特点 更快: 单次请求会得到更快的响应. 在高并发环境下,Nginx 比其他 WEB 服务器有更快的响应. 高扩…
简介 背景 CAT(Central Application Tracking)是由吴其敏(前大众点评首席架构师,现携程架构负责人)主导设计基于Java开发打造的实时应用监控平台,为大众点评网提供了全面的监控服务和决策支持.AT作为大众点评网基础监控组件,它已经在中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等)中得到广泛应用,为点评各业务线提供系统的性能指标.健康状况.基础告警等. 吴其敏采访及一些备注 分布式系统已经诞生了很长时间,随着计算能力和存储价格的降低,我们见证了分布式系统大…
简介 什么是MongoDB? MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成.MongoDB 文档类似于 JSON 对象.字段值可以包含其他文档,数组及文档数组. 主要特点 # MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易. # 你可…
一.简介 Redis是什么?redis是一款基于BSD协议,开源的非关系型数据库(nosql数据库),作者是意大利开发者Salvatore Sanfilippo在2009年发布,使用C语言编写:redis是基于内存存储,而且是目前比较流行的键值数据库(key-value database),它提供将内存通过网络远程共享的一种服务,提供类似功能的还有memcache,但相比 memcache,redis 还提供了易扩展.高性能.具备数据持久性等功能.主要的应用场景有session共享,常用于web…
1简介 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 Redis 在 分布式 方面的需求.当遇到单机内存.并发.流量等瓶颈时,可以采用 Cluster 架构方案达到负载均衡的目的 2 Redis Cluster集群介绍 Redis Cluster 集群模式通常具有 高可用.可扩展性.分布式.容错 等特性.Redis Cluster采用的是虚拟槽分区.…
转自: http://han.guokai.blog.163.com/blog/static/136718271201211631456811/ http://www.barretlee.com/blog/2015/10/05/how-to-build-a-https-server/ http://www.cnblogs.com/P_Chou/archive/2010/12/27/https-ssl-certification.html 简述 HTTPS 的运作 如上图所示,简述如下: 客户端生…
zabbix介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. zabbix由2部分构成,zabbix server与可选组件zabbix agent. zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Ubu…
评价:其实是一个整合型的方案,从它的安装页面看:http://getkong.org/download/#other该方案基于OpenResty,和lua 提供的功能是统一的Oauth认证.rest封装好了之后的流控.API添加能力,在此基础上其实也可以对整个集群做流量切.日志等功能,总得来说是对nginx一个更优秀的封装,使得其更便于操作. 缺点是,方案还是较新,没有webadmin的界面 ====================================================…
一.Ansible的介绍 Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点.实现了批量系统配置.批量程序部署.批量运行命令等功能.Ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是Ansible所运行的模块,Ansible只是提供一种框架. 1.Ansible框架 连接插件connection plugins:负责和被监控端实现通信: host inventory:…
https://blog.csdn.net/u011687037/article/details/57411790 1.什么是kafka connect? 根据官方介绍,Kafka Connect是一种用于在Kafka和其他系统之间可扩展的.可靠的流式传输数据的工具.它使得能够快速定义将大量数据集合移入和移出Kafka的连接器变得简单. Kafka Connect可以获取整个数据库或从所有应用程序服务器收集指标到Kafka主题,使数据可用于低延迟的流处理.导出作业可以将数据从Kafka topi…
1.Kong的概述 Kong是一个clould-native.快速的.可扩展的.分布式的微服务抽象层(也称为API网关.API中间件或在某些情况下称为服务网格)框架.Kong作为开源项目在2015年推出,它的核心价值是高性能和可扩展性.Kong被广泛用于从初创企业到全球5000家公司以及政府组织的生产环境中. 如果构建Web.移动或IoT(物联网)应用,可能最终需要使用通用的功能来实现这些应用.Kong充当微服务请求的网关(或侧车),通过插件能够提供负载平衡.日志记录.身份验证.速率限制.转换等…
1.Kong的概述 Kong是一个clould-native.快速的.可扩展的.分布式的微服务抽象层(也称为API网关.API中间件或在某些情况下称为服务网格)框架.Kong作为开源项目在2015年推出,它的核心价值是高性能和可扩展性.Kong被广泛用于从初创企业到全球5000家公司以及政府组织的生产环境中. 如果构建Web.移动或IoT(物联网)应用,可能最终需要使用通用的功能来实现这些应用.Kong充当微服务请求的网关(或侧车),通过插件能够提供负载平衡.日志记录.身份验证.速率限制.转换等…
写在前面   Api网关我们之前是用 .netcore写的 Ocelot的,使用后并没有完全达到我们的预期,花了些时间了解后觉得kong可能是个更合适的选择. 简单说下kong对比ocelot打动我的: 1.kong可以直接代替Nginx/OpenRestry做前端服务器. 2.kong的功能强大,性能不俗,生态不错,操作面板,插件丰富,社区活跃: 本文目的 1.对kong和consul做个基本介绍: 2.kong集成consul 做服务发现: 3.Asp.net core WebApi 服务自…
网关 这里提到的网关特指API网关.API网关是在微服务架构的演进过程中产生的,其核心功能是聚合后端服务,为客户端调用提供统一的门户.由于网关的集中式管理,在其上又衍生了限流.负载.路由管理.安全防护等新的需求和功能.基于应用系统现状,我们将网关进一步的细分为带有业务逻辑的业务网关和专注于服务聚合.路由的中台网关.具体来说,业务网关一般是指某一个业务系统的网关,其除了聚合本系统的后端服务之外,还会额外承担一些业务逻辑,比如通用的用户鉴权.基于业务的路由规则等.中台网关,是跨系统的.是将已有的平台…
学习内容: 1.不依赖外部Tomcat,自己启动方式部署 2.Maven打war包,远程部署到centOS 3.Maven热部署(不关闭Tomcat部署应用)   做maven开发前提: 1.编码UTF-8 2.设置maven仓库位置(setting.xml文件里面配置Maven仓库的路径)     例如:<localRepository>G:\Maven\repository</localRepository>(这个仓库是公司Maven服务器仓库down下来的) 3.在eclip…