1.综述

一句话: 关注 CNCF 基金会 Cloud Native 云原生互动全景图

CNCF云原生互动全景图
打开网站,全景图是可以点击的,在图中找你关注的领域

2.找到你关注的分类领域

比如我关注“API Gateway API网关”,就点击他的图标就可以看到相关信息
APISIX

KrakenD

非常直观的一个概览
项目开发语言,代码提交柱状图,等开源代码维护情况信息

可以说CNCF的全景图就是一张开启云原始大门的大地图,地图在手开始遨游吧

3.CNCF分类大纲 (截止2020年02月08日)

CNCF云原生互动全景图

App Definition a[……]

继续阅读

api网关的本质

不用扯那么多,也不用画图,一句话说清楚
api网关:流量总入口,得以集中控制!
就这么简单

api网关协议上最基本要支持HTTP 和 WebSocket,功能强大点的更会支持tcp/udp的负载均衡接入
正因为支持的是http协议,所以api网关不仅仅可以作为 RESTful API 接入,接入带页面的web都可以的,完全可以当成一个web负载均衡器使用

api网关的作用

解决:认证、鉴权、安全、流量管控、缓存、服务路由,协议转换、服务编排、熔断、灰度发布、监控报警等问题
本质上,流量从我过,我就可以做想做的控制,上面列的就是我需要的控制
有了api网关才不至于裸奔,[……]

继续阅读

采用多级拦截,后置拦截的方式体系化解决

1.分层拦截

1.1第一层 商业web应用防火墙(WAF)

直接用商业服务

传统的F5硬件,不过现在用的很少了
云时代就用云时代的产品,典型代表 阿里云 web应用防火墙

1.2第二层 API 网关(API Gateway)层

API 网关(API Gateway)

kong为代表的开源 API 网关 实现
openresty + lua 自实现
windows平台 安全狗、云锁 实现

1.3第三层 应用层

用Redis内置lua脚本

redis是块砖,哪里需要哪里搬
redis内置了lua引擎,2.6版本后你可以编写一段lua脚本,[……]

继续阅读

1.场景

容器化+K8s编排已经是现在进行时
把网站的多个项目设计为云原生(Cloud Native)或老项改造为云原生可以获得诸多能力
例如无云绑定、弹性、部署环境一致性、微服务、DevOps、持续交付
同时下一代微服务框架 服务网格(ServiceMesh) 也能无痛接入

博主现有项目后端开发语言为 PHP、Golang
Golang做一些基础公共服务(短信、消息、搜索等)
这些公共服务化的项目已经容器化
PHP的项目做应用逻辑层,会调用Golang写的一些公共基础服务
PHP项目中直接通过服务名调用服务

需求: PHP项目A 依赖 短信、消息、搜索这3个服务,开发人员无需在本机启动[……]

继续阅读

Istio

Istio官网
Istio中文官网
Istio开源
无需太多介绍Service Mesh明日之星,扛把子,截止2019.11还有太多问题没解决
复杂性,性能让人望而却步,能上生产的是真要技术厉害,还得内心强大,项目允许

Linkerd

Linkerd官网
Linkerd中文官网

A service mesh for Kubernetes and beyond. Main repo for Linkerd 2.x.
Linkerd is a service mesh, designed to give platform-wide observability, relia[……]

继续阅读

1. 单机运行的Docker

容器化部署是现在进行时,开源应用大多数支持容器化部署
在少量机器的场景下往往采用docker cli 和 docker-compose管理,进行“单机式管理”
机器稍多点会采用Docker Swarm群集的方式,毕竟k8s稍重
如果有更多的机器情况下一般会采用k8s的方式
在个人、创业公司、小团队的场景下我们往往在多个云、家里、vps上拥有少量虚拟机服务器,这些服务器上都运行了docker实例
虽然我们也可以用公网vpn、zerotier等方式打通各个地域的机器形成一个内网,从而构建“群集”,但实际情况是没那么多带宽,从而无法“负载均衡”,所以实际的实际还是独立[……]

继续阅读