如何利用Kubernetes编排实现Node.js程序的微服务化

前言

本文着重介绍了微服务架构的某些细节,微服务其实也适用于Node.js应用程序。本文还介绍了如何利用容器和编排来实现Node.js的微服务化。

如今,大家都在谈论调度,微服务,Docker,以及Kubernetes如何改变编排领域。那么,在生产中部署Node.js应用程序意味着什么?有哪些是值得关注的?

Node.js微服务化

为了理解为什么每个人都想谈论微服务,我们需要了解应用程序开发的前身——The Monolith。

单体应用

如果你的应用程序是单体应用形式的,那么系统的所有代码都在一个代码库中运行,并生成一个入口。一个简单的npm start就可以启动应用程序,Monolith的核心是保持一切在一起运行。

它仍然是应用程序敏捷开发的好选择,但这样做的缺点是当你想要经常发布时,你将不得不重新部署整体,而无法通过仅更换组件来完成部署的更新。

微服务

开发应用程序的另一种方法是将你的代码库分解成较小的块。每个块都是一个服务。所有这些服务将一起为最终用户提供与单块相同的功能。

启动应用程序不仅仅是简单的npm start,你需要独立启动每个服务。当你将你的整体拆分成更小的块或你的应用程序是由不同的服务组成,这就是微服务架构。

至于上行方式,微服务器允许你经常发布,并仅重新部署系统的更改部分。但还存在一个问题,就是如何编排。有效的编排可以使整个流程变得完整而高效。

非单体应用的编排问题

如果你的Node.js应用程序正在使用非单体方法,将多个服务组合到单个应用程序中,则需要一种编排方式。Docker的优势就在这里凸显了!使用容器,你可以隔离每个进程(= service = npm start)并给每个进程自己的事件循环。

Node上的事件循环

所有的Magic节点都发生在Node的事件循环中。Node正在使用事件驱动的范例来执行事件循环中的所有Magic节点。

在计算机编程中,事件驱动编程是一种编程范例,程序的流程由诸如用户动作,传感器输出或来自其他程序/线程的消息等事件决定。事件驱动的编程是用于图形用户界面和其他应用程序中的主要范例,其中以执行响应输入的某些动作为中心。

一旦检测到事件,就有一个中心机制来侦听事件并调用一个回调函数。这是Node的事件循环的基本原理。

这里有一些伪代码来演示Node的事件循环如何:

Node的事件循环是单线程事件循环。这可能会导致性能问题。例如,当你处于负载状态或负载大量CPU工作时,如何使我们的Node应用程序更具性能?这时候就需要微服务和容器来进行抢救了!

集中化每个服务

在生产中运行微服务的第一步是集中化每个服务。以此Express.JS为例:

要在一个孤立的过程中运行它,我们需要一个Dockerfile来容纳程序:

这时容器最大的好处是你可以通过启动更多容器并在集群周围进行调度来扩展服务和Node的事件循环的方式。例如,如果你的API部分负载较重,则可以扩展该部分并更有效地利用资源。如果压力正常,你可以缩小。

解决方案

正如我们之前所说的那样,将整体拆分成面向服务的体系结构的好处是,每个服务都可以有一个隔离的事件循环。因为每个Node进程都在容器中运行隔离!

当你希望在IT架构的改造中成功使用Node.js,以下四个阶段可以为你提供思路:

编码你的服务并提交更改;

建立并测试你的服务;

配置你的基础架构;

在生产中部署,运行和维护你的服务。

原文链接:

https://dzone.com/articles/kubernetes-orchestrate-your-nodejs-microservices

推荐阅读:

如何拆分你的微服务架构?

你不得不知的推进DevOps实践的四大趋势

为什么微软应该通过收购Docker来与Kubernetes竞争

关于Ghostcloud

Ghostcloud(中文名:精灵云)坐落于成都天府软件园,是成都高新区重点扶持企业,国内首批从事容器虚拟化研发的企业,是西南地区唯一一家基于Docker的云计算服务商,为企业级行业客户提供针对互联网化、私有云管理平台、大数据业务基础架构的平台服务。

Ghostcloud因容器技术而生,以最新容器技术Docker为基础,为适应不同行业客户需求,全自主研发了一套调度引擎框架Newben,且全方位适配Kubernetes主流开源调度引擎,也是国内率先实现双调度引擎的企业,是一流的企业级容器云服务专家。Ghostcloud推出了企业级容器云PaaS/CaaS平台,命名为EcOS(EnterpriseContainer

Operation System)。Ghostcloud将EcOS平台与微服务/DevOps相融合,运用至企业IT系统的全生命周期的开发、测试、运维及发布流程中,致力于为多个领域企业向“互联网+”转型提供针对互联网化、私有云管理平台、大数据业务基础架构的平台服务,帮助企业级客户降低成本、提升效率、简化运维及产品部署,并提升系统的可靠性和安全性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259

推荐阅读更多精彩内容

  • 微服务最近非常流行,各大互联网公司纷纷采用微服务架构体系,微服务架构模式正在为敏捷部署以及复杂企业应用实施提供巨大...
    Sting阅读 8,933评论 0 58
  • 转载本文需注明出处:微信公众号EAWorld,违者必究。 微服务架构现在是谈到企业应用架构时必聊的话题,微服务之所...
    72a1f772fe47阅读 3,460评论 0 38
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,087评论 18 139
  • 原文链接:Introduction to Microservices 微服务介绍(本文) 构建微服务之使用API网...
    nonumber1989阅读 15,609评论 9 57
  • 这城是空的 那怕人潮如海 到哪里去寻找往昔的古旧斑驳 只在老照片里惊鸿一瞥 房檐不再有青苔留恋 那些怀念的 叫做从...
    沐风而行阅读 190评论 0 0