首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我谈论高性能时我们谈论什么?

讨论时间,大家自由发挥

机器

语言

架构

reactor

coroutine

cache

学习指南 #1

reactor

coroutine

Tornado代码阅读笔记 IOLoop

http://t.cn/R5XxpMM

同步编程

多线程, 用户态/内核态相互切换

阻塞, 带来线程切换

异步编程

事件驱动

回调

协程

OpenResty

Nginx

lua-nginx-module

lua resty libs

https://github.com/iresty/nginx-lua-module-zh-wiki#description

无聊的分割线

基于lua的Nginx开发

Nginx的异步机制+lua coroutine

够用的内置lua libs cosocket异步支持

内置cache

ngx_lua模块的原理

每个worker(工作进程)创建一个Lua VM,worker内所有协程共享VM;

将Nginx I/O原语封装后注入 Lua VM,允许Lua代码直接访问;

每个外部请求都由一个Lua协程处理,协程之间数据隔离;

Lua代码调用I/O操作等异步接口时,会挂起当前协程(并保护上下文数据),而不阻塞worker;

I/O等异步操作完成时还原相关协程上下文数据,并继续运行;

学习指南 #2

OpenResty 系列课程

http://www.stuq.org/course/1015

agentzh 的 Nginx 教程

https://openresty.org/download/agentzh-nginx-tutorials-zhcn.html

OpenResty 最佳实践

https://moonbingbing.gitbooks.io/openresty-best-practices/content/

nginx-lua-module-zh-wiki

https://github.com/iresty/nginx-lua-module-zh-wiki

API Gateway

微服务

入口

授权、监控、负载均衡、缓存、请求分片和管理、静态响应处理

学习指南 #3

微服务

API Gateway

http://dockone.io/article/482

Kong

基于Openresty

自带武器库

灵活的插件定制

学习指南 #4

Kong源码分析

http://cyukang.com/2017/07/02/kong-intro.html

深入理解orange

https://github.com/linger1216/understanding-orange

定制需求

eebo auth

独立auth模块

灵活配置api是否需要auth

Python服务无需关注认证细节

eebo limiting

基于内置rate-limiting开发

提供company_id/user_id维度

eebo balancer

提供私有服务

强大的分布式分发

自带的插件

CORS

用于处理跨域请求

IP Restriction

IP 黑白名单

Correlation ID

为每个请求生成唯一请求id

方便定位, 跟踪日志

Syslog

推送日志到Syslog-

出处:https://zhu327.github.io/2017/11/27/openresty与api-gateway/

版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。

架构文摘

互联网应用架构丨架构技术丨大型网站丨大数据丨机器学习

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180725B0D7JY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券