写点什么

【QCon 上海 2015】开发平台与服务技术实践专场重点回顾

  • 2015-10-22
  • 本文字数:1893 字

    阅读完需:约 6 分钟

QCon 上海 2015 全球软件开发大会 17 号的“开发平台与服务技术实践”专场里,参加演讲的技术专家及工程师着重介绍了内部的最新技术实践过程和实际案例,同时也为在场的听众出谋划策,提供在开发与服务技术上的参考意见。这其中参与分享的 IT 公司有:GitCafe、野狗科技、个推和 VMware。

使用 Swagger 快速打造 REST API 文档

Swagger 是一个描述 REST service 的规范,那么用 Swagger 能解决什么问题呢?GitCafe 技术负责人吴江介绍说,交流的时候直接用 Swagger UI,则可以直接在文档上调用 API,这解决了在 API 调用上可能出现的调用方式和其它问题。此外,Swagger 还能实现不同团队不同公司之间的相互交流,同步代码和文件,确认 REST 服务等等。

吴江还讲到,Swagger 可以通过 API Routes、Input Types 和授权的形式来描述 REST service,这样做的好处就是能及时查出错误的输入,方便 API 处理问题。那么如何调用写好的 service 呢?Swagger 有一个官方的功能是读 Swagger 的描述文件之后生成一些代码,先是 Swagger 读取好了描述文件,还有相关的 token endpoint,然后对文件进行操作,非常方便,只要读到这文件就可以通过这个代码调用 Swagger。Swagger 也有一些缺点,在使用过程中需要三个组件,但是 grape 有一个 bug,grape 里面是支持符号 * 的,某些时候调用的 API 里面也需要一些线的支持,最后调查下来这个 bug 是在 grape-Swagger 里面,这些组件你都要熟悉才能最终抓出来这个 bug,所以对人的能力要求是非常高的,甚至可能是全站人的能力才能把这个 bug 抓出来。其次就是这三个组件之间的兼容性一直都是一个问题,因为它是开源软件,难免会出现一些瑕疵。

REST API 需要回顾一下,REST API 刚提出来的时候,所有人都觉得 API 很简单,但是事实上,这个 API 也是通过 WADL、HAL 和 HATEOAS 的组合而形成的。

总的来说,Swagger 并没有什么使用上的规范,只是描述了 REST 的服务功能,提供了带有 Swagger UI 的现实的可测试的文档,能从源代码里生成服务,它的缺点就是需要调试的时候不得不从组件里进行调用。最后再回顾一下 DRY 原则,Swagger 是很抽象的,发现需要做重复的时候,要先做抽象,这样把重复的东西避免掉;其次就是选用合适的工具。

Node.js 与实时 BaaS 的云开发实践

野狗实时作为 BaaS 云平台,其用处就是进行云端数据存储和数据的实时同步。用户使用野狗实时的 SDK 来关注自己的业务层开发,很方便的进行开发游戏、WEB、物联网的应用,不需要编写服务端代码、也不需要维护繁琐的后端服务器。

野狗科技联合创始人兼首席架构师谢乔在演讲中分析了使用 Node.js 服务端的原因。Node.js 服务端开发主要用与长连接的入层架构,在开发实践上,主要是用于服务端的:Websocket 长连接、Long polling 和 Rest API。在网站前端上用于:前后端分离、高效的上线发布和 Grunt Brower 等等。之所以使用 Node.js,主要还是因为它的开发率高 / 易维护、单进程高并发、线程安全 / 无锁、适合 IO 密集、减少 CS,节省栈空间、适合请求分发、透传、轻业务逻辑。这些都不是重点,重点是他还有很不错的特性:异步编程的习惯、V8 的垃圾回收、增量标记、Openssl AES-NI、随意调试等等。Node.js 的缺陷就是:单进程,进程容易崩溃,一崩溃整个系统就玩完了,不能充分利用多核,用户单性能的时候同步代码会阻塞后面的代码执行,后面的请求执行,可靠性差等等。

那么在应用的过程中,如何克服 Node.js 所带来的缺陷呢?方案之一:Nginx+Node.js,优势是:并发建连能力强;TLS 加解密优势;负载均衡;权重控制;健康检查;IP Hash。方案二:虚拟机 +Nginx+Node.js。优势:并发建连能力强,TLS 加解密优势;充分利用资源。劣势:单点故障,运维成本高;没有负载均衡;长连接开销×2。方案三:虚拟机 +Node.js。直接建立连接;TLS 建连实际表现不俗;问题依旧存在。方案四:Node.js Master-Worker。优势是简单,运维成本低,TLS 建连实际表现不俗;劣势就是没有负载均衡、Master 单点故障。最后,经过实际测验的结果表明,不用虚拟机的方案,直接采用物理机,用模拟 Nginx 的模式,多进程进行,充分利用这个资源。虽然还是会出现物理机上的单点故障的劣势,但可以通过客户端和服务端引入一个节点,服务端保证可用性和伸缩性。

除了上面所提到的内容,谢乔还在后面谈到了 Node.js Master 和 Node.js Worker 等相关细节内容,以及 Node.js 健壮性保障开发建议等等内容。

为期三天的 QCon 上海 2015 大会已圆满结束了,开发平台与服务技术实践专场的内容同样为参会者提供了有价值的 IT 技术分享,以上内容是第三天的开发平台的重点回顾。需要了解更多内容,请查看 QCon 大会官方网站

2015-10-22 07:461162
用户头像

发布了 182 篇内容, 共 105.2 次阅读, 收获喜欢 208 次。

关注

评论

发布
暂无评论
发现更多内容

提高工作效率的三种方法

石云升

团队管理 管理 引航计划 内容合集 9月日更

Python代码阅读(第31篇):将一个列表分割成指定大小的小列表

Felix

Python 编程 Code Programing 阅读代码

不得不聊一聊英语爱好者的单词杂货铺了

小匚

随笔杂谈 生活记录 英语 大学英语四六级 单词

艾瑞发布《2021年中国企业级 SaaS 行业研究报告》,ONES 入选典型厂商案例

万事ONES

项目管理 SaaS 协同办公

AlibabaP9力荐!最新出品1297页JDK源码+并发核心原理解析小册

Java 架构 面试 程序人生 编程语言

四面字节跳动(高级开发岗):分布式+中间件+TCP+JVM+Hashmap

Java 编程 架构 面试 计算机

恒源云(GpuShare)_快进来!这里有超高性价比的GPU资源

恒源云

深度学习

华为云带你探秘Xtrabackup备份原理和常见问题分析

华为云数据库小助手

GaussDB 华为云数据库 MySQL 数据库 GaussDB(for MySQL)

拥抱开源,共建生态 - 开源生态与效能提升专场 | CIF 精彩看点

CODING DevOps

DevOps 研发效能 腾讯云 CIF 峰会 开源生态

大厂敲门砖!Alibaba技术官甩出的Springboot笔记

Java 架构 面试 程序人生 编程语言

一周信创舆情观察(9.13~9.26)

统小信uos

图谱相关技术在风控反作弊中的应用和探索

百度Geek说

后端 软件架构

手把手教你使用Studio Lite + Digtal car!助力智能汽车场景、轻应用开发更轻松!

SOA开发者

金秋10月,日更挑战你准备好了么!?

InfoQ写作社区官方

热门活动 10月月更

阿里巴巴架构师十年整理出的JavaSpringBoot核心文档,真是太全了

Java 架构 面试 程序人生 编程语言

快手、知乎等平台严厉打击“病媛”炒作行为:自媒体行业不能被流量裹挟

石头IT视角

史上最全Java高频面试合集,命中率高达95%

Java 程序员 架构 面试 后端

用Python绘制专业的K线图【含源代码】

恒生LIGHT云社区

第 8 章 -《Linux 一学就会》-Centos8 软件包的管理与安装

学神来啦

Linux 运维

目睹阿里技术官写的Tomcat架构笔记后,瞬间觉得自己是渣渣

Java 架构 面试 程序人生 编程语言

使用 grpcurl 通过命令行访问 gRPC 服务

AlwaysBeta

golang gRPC

从工具、工具箱到数字化软件工厂——DevOps 设计理念与工程实践专场 | CIF 精彩看点

CODING DevOps

DevOps 数字化 研发工具 腾讯云 CIF 峰会

如何做一场有趣又高效的迭代回顾会议?

万事ONES

Scrum 敏捷 回顾会

浪潮云洲荣获两项工业自动化及数字化行业年度大奖 inspur浪潮云 昨天

云计算

【新品尝鲜】OCR磅单识别上线邀测,为货运物流提速增效

百度大脑

人工智能 OCR

博睿数据亮相北京IMC2021第三届中国智造CIO峰会

博睿数据

如何构建混合云管理平台?——资源管理篇

金蝶天燕云

云计算 云平台

东软熙康、百度、京东方,互联网医院的三个典型样本

海比研究院

掘金热榜第一!阿里P8用近十个月整理出来999页Java岗核心笔记限时开源!

Java 架构 面试 程序人生 编程语言

智能大数据专场,百度智能云带来智能大数据产品架构全景图

百度大脑

人工智能 大数据

超十年渗透专家总结出636页渗透测试全笔记,100课时一次讲清

Java 架构 面试 程序人生 编程语言

【QCon上海2015】开发平台与服务技术实践专场重点回顾_DevOps & 平台工程_Xue Liang_InfoQ精选文章