Kong Api网关简介(二) 插件

Kong 通过强大的插件机制进行了类似AOP切面的方式操作,提供了日志、认证、限流等操作。官方给出了许多成熟插件可供选择,包括: 认证:Basic Authentication、Key Authentication、OAuth 2.0 Authentication、JWT、LDAP Authentication 安全:ACL、CORS、Dynamic SSL、IP Restric...

Kong Api网关简介(一) 安装运行

Kong 是 Mashape 开源的高性能高可用 API 网关和 API 管理服务层。它基于 OpenResty 进行 API 管理,并提供了插件实现 API 的 AOP。最近因工作的需要研究了 Kong 的相关应用实现。 准备 kong 的官方文档提供了基于不同平台的安装方式,为了方便,这里使用 docker-compose 进行。 $ mkdir kong-gateway &...

Lua学习参考

之前对 Lua 语言的强大早有耳闻,在 Nginx、Redis 等平台特别是网关和互联网秒杀等场景中发挥了非常重要的作用。可惜一直没有学习,最近因为工作的需要在研究基于 Kong 的网关实现,抽空花了几天时间进行了研究。 运行 Lua 是类 C 的,他是大小写字符敏感的, 作为一个扩展式语言,Lua 没有 “main” 程序的概念, 它只能嵌入一个宿主程序中工作。 Lua 可以像 pyt...

比特币:一种点对点的电子现金系统

Abstract. A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution. Digital signat...

区块链基本概念

定义 A blockchain, originally block chain, is a continuously growing list of records, called blocks, which are linked and secured using cryptography.Each block typically contains a cryptographic ...

发布至生产环境的准备事项(译)

系统发布至生产环境前准备必须经过仔细的检查,下面是github上的一个server端,这里做个简单的翻译备注。 Serverside checklist Legal (法律条款) Licences of my application’s 3rd-party dependencies are not violated 应用不违反第三方依赖的Licences声明。 My ...

Raft协议简介

Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。 角色 在一个由 Raft 协议组织的集群中有三类角色: Leader(领导人): 负责处理来自客户端的请求,管理日志复制、以及与 Follower 保持心跳以维持其领导人地位。在一个任期内,领...

三阶段提交协议

三阶段提交协议 (Three-phase commit protocol, 3PC) 通常被认为是 2PC 的升级版,可以保证一个事务跨越多个节点时保持 ACID 特性。 在三阶段提交协议中,系统一般包含两类机器(或节点):一类为协调者(coordinator),通常一个系统中只有一个;另一类为事务参与者(participants,cohorts或workers),一般包含多个。 运行过...

两阶段提交协议

两阶段提交协议(two phase commit protocol,2PC)可以保证数据的强一致性,许多分布式关系型数据管理系统采用此协议来完成分布式事务。它是协调所有分布式原子事务参与者,并决定提交或取消(回滚)的分布式算法。同时也是解决一致性问题的一致性算法。该算法能够解决很多的临时性系统故障(包括进程、网络节点、通信等故障),被广泛地使用。 在两阶段提交协议中,系统一般包含两类机器(...

分布式系统CAP理论和BASE思想概述

CAP CAP 理论指分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分区容忍性(P:Partition tolerance),最多只能同时满足其中两项。。 一致性(Consistency):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本) 可用性(Availability):...