社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
基于Kubernetes、Docker的机器学习微服务系统设计 | |||||
---|---|---|---|---|---|
实践篇 | (1)概念与构想 | (二)架构与部署 | (三)微服务框架 | (四)中文分词 | (五)预处理 |
(六)特征选择 | (七)分类器微 | (八)部署配置 | (九)应用服务 | (十)数据可视化 | |
研究篇 | RS中文分词 | MP特征选择 | NLV文本分类 | 快速kNN | 文本分类 |
随着信息技术的进步,互联网的应用日新月异。计算机新技术的发展也是突飞猛进。当前,云计算、AI、机器学习、自然语言处理、物联网等成为热点话题。随之而兴起的技术也是百家争鸣,诸如Kubernetes、容器、微服务、DevOps、OpenStack、深度学习等。
本篇主要介绍基于Kubernetes、容器(Docker)、微服务技术等在机器学习中的实践应用构想和概念,后续将详细介绍相关知识和实践过程。
系统需要完成的功能点如下图所示:
主要完成功能:
微服务最早由Martin Fowler与James Lewis于2014年共同提出,微服务架构风格是一种使用一套小服务来开发单个应用的方式途径,每个服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,这些服务基于业务能力构建,并能够通过自动化部署机制来独立部署,这些服务使用不同的编程语言实现,以及不同数据存储技术,并保持最低限度的集中式管理。
在传统的IT行业软件大多都是各种独立系统的堆砌,这些系统的问题总结来说就是扩展性差,可靠性不高,维护成本高。到后面引入了SOA(面向服务的架构)服务化,但是,由于 SOA 早期均使用了总线模式,这种总线模式是与某种技术栈强绑定的,比如:J2EE。这导致很多企业的遗留系统很难对接,切换时间太长,成本太高,新系统稳定性的收敛也需要一些时间。最终 SOA 看起来很美,但却成为了企业级奢侈品,中小公司都望而生畏。
用一张经典的图来表现微服务,
微服务设计原则
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。
Docker通常用于如下场景
Docker 架构
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。
Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。如果你曾经用过Docker容器技术部署容器,那么可以将Docker看成Kubernetes内部使用的低级别组件。Kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。
使用Kubernetes可以:
Kubernetes一些核心概念如下图所示:
上图可以看到如下组件:
知更鸟博文推荐 | |
---|---|
上一篇 | 文本分类——快速kNN设计实现 |
下一篇 | 基于Kubernetes、Docker的机器学习微服务系统设计系列——(二)架构与部署 |
推荐篇 | 基于Kubernetes、Docker的机器学习微服务系统设计——完整版 |
研究篇 | RS中文分词 | MP特征选择 | NLV文本分类 | 快速kNN |
作者简介 | |
兴趣爱好 | 机器学习、云计算、自然语言处理、文本分类、深度学习 |
xsd-jj@163.com (欢迎交流) |
参考:
[1].http://www.elecfans.com/d/631815.html
[2].https://www.sohu.com/a/221400925_100039689
[3].http://www.dockone.io/article/932
[4].http://www.docker.org.cn/book/docker/what-is-docker-16.html
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!