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

2018 年 7 月 25 日 架构文摘

讨论时间,大家自由发挥


  • 机器

  • 语言

  • 架构

    • reactor

    • coroutine

    • cache


学习指南 #1


  • reactor

    • http://blog.csdn.net/u013074465/article/details/46276967


  • coroutine

    • http://blog.csdn.net/wyx819/article/details/45420017


  • 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


  • 微服务

    • http://blog.csdn.net/wurenhai/article/details/37659335/

  • 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/


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



架构文摘

ID:ArchDigest

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

更多精彩文章,请点击下方:阅读原文

登录查看更多
0

相关内容

Lua 是一门轻量而快速的脚本语言,功能在高级动态语言中十分完备,对 C API、嵌入式开发以及线程安全的 VM 的支持,使其非常流行。
Python导论,476页pdf,现代Python计算
专知会员服务
259+阅读 · 2020年5月17日
【WWW2020】DGL深度图神经网络实战教程,PPT+代码
专知会员服务
175+阅读 · 2020年4月12日
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
34+阅读 · 2020年4月5日
【2020新书】Kafka实战:Kafka in Action,209页pdf
专知会员服务
67+阅读 · 2020年3月9日
KGCN:使用TensorFlow进行知识图谱的机器学习
专知会员服务
81+阅读 · 2020年1月13日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
阿里技术大牛:一份架构师成神路线图!
51CTO博客
30+阅读 · 2019年7月6日
美联储若降息意味着什么?
FT中文网
3+阅读 · 2019年6月28日
winter:前端工程师最重要的三个能力是什么?
前端之巅
11+阅读 · 2019年6月5日
什么是语义角色标注?
人工智能头条
18+阅读 · 2019年4月28日
干货 | 双11总峰值超8亿OPS 阿里分布式NoSQL如何岿然不动稳如山?
阿里巴巴数据库技术
10+阅读 · 2018年12月12日
PyTorch 1.0尝鲜版,这些改进你需要注意
专知
4+阅读 · 2018年10月3日
教程 | 用TensorFlow Estimator实现文本分类
机器之心
4+阅读 · 2018年5月17日
为什么你应该学 Python ?
计算机与网络安全
4+阅读 · 2018年3月24日
Arxiv
4+阅读 · 2019年8月7日
Music Transformer
Arxiv
5+阅读 · 2018年12月12日
CoQA: A Conversational Question Answering Challenge
Arxiv
7+阅读 · 2018年8月21日
Arxiv
6+阅读 · 2018年4月21日
Arxiv
3+阅读 · 2018年3月14日
Arxiv
3+阅读 · 2018年3月2日
VIP会员
相关VIP内容
Python导论,476页pdf,现代Python计算
专知会员服务
259+阅读 · 2020年5月17日
【WWW2020】DGL深度图神经网络实战教程,PPT+代码
专知会员服务
175+阅读 · 2020年4月12日
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
34+阅读 · 2020年4月5日
【2020新书】Kafka实战:Kafka in Action,209页pdf
专知会员服务
67+阅读 · 2020年3月9日
KGCN:使用TensorFlow进行知识图谱的机器学习
专知会员服务
81+阅读 · 2020年1月13日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
相关资讯
阿里技术大牛:一份架构师成神路线图!
51CTO博客
30+阅读 · 2019年7月6日
美联储若降息意味着什么?
FT中文网
3+阅读 · 2019年6月28日
winter:前端工程师最重要的三个能力是什么?
前端之巅
11+阅读 · 2019年6月5日
什么是语义角色标注?
人工智能头条
18+阅读 · 2019年4月28日
干货 | 双11总峰值超8亿OPS 阿里分布式NoSQL如何岿然不动稳如山?
阿里巴巴数据库技术
10+阅读 · 2018年12月12日
PyTorch 1.0尝鲜版,这些改进你需要注意
专知
4+阅读 · 2018年10月3日
教程 | 用TensorFlow Estimator实现文本分类
机器之心
4+阅读 · 2018年5月17日
为什么你应该学 Python ?
计算机与网络安全
4+阅读 · 2018年3月24日
相关论文
Arxiv
4+阅读 · 2019年8月7日
Music Transformer
Arxiv
5+阅读 · 2018年12月12日
CoQA: A Conversational Question Answering Challenge
Arxiv
7+阅读 · 2018年8月21日
Arxiv
6+阅读 · 2018年4月21日
Arxiv
3+阅读 · 2018年3月14日
Arxiv
3+阅读 · 2018年3月2日
Top
微信扫码咨询专知VIP会员