微服务是现在大型web应用开发的不可缺少的技术,实现方式也多种多样五花八门。各种语言对微服务实现也不仅相同,今天以nodejs的express框架为例来实现微服务。
微服务需要一些关键技术的解决方案
每种技术都够一本书,这里就给大家简单介绍一下他们都是什么以及用途
docker 这里我就不解释了吧,直白些就是虚拟机
Helm相当于软件包的管理器,类似于Linux上的Apt-Get或Yum,通过Helm可以自动获取一些名为Helm Chart的软件包去快速构建部署Kuberentes集群上的应用
Kubernetes是Google(基于borg)开源的容器集群管理系统,其提供应用部署、维护、 扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应
OpenTracing 是分布式跟踪系统,当我们把系统拆成服务化,分布式系统的时候,查询一个问题,很可能需要多个登录多台机器。
Prometheus解决了Devs如何监控高动态容器环境的问题
我们看一下 nodejs express 框架和 java 的 spring boot 一些微服务关心的方面(特性)上的表现
1. IO 接受客户端请求,对服务器上的数据库进行增删改查,
2. 启动速度决定每个节点在outage后回复速度
3. express 在内存占用上也远远小于 spring boot
我们不必繁琐项目配置,可以借助一些脚手架工具来完成项目搭建。这里我用 yoman 来完成项目基础搭建。
在开始项目前,我们需要安装 nodejs 以及 yoman。最后还需要全局安装一下 generator-nodeserver 在 npm 可以找到相关资料。
看一看docker的配置文件吧
作者:zidea
链接:https://www.jianshu.com/p/0d6a3cb8db6b
。