为什么会出现container、injection技术?发展历史及未来发展趋势

container

原因:

随着软件开发的发展,相比于早期的集中式应用部署方式,现在的应用基本都是采用分布式的部署方式,一个应用可能包含多种服务或多个模块,因此多种服务可能部署在多种环境中,如虚拟服务器、公有云、私有云等,由于多种服务之间存在一些依赖关系,所以可能存在应用在运行过程中的动态迁移问题,那这时如何保证不同服务在不同环境中都能平滑的适配,不需要根据环境的不同而去进行相应的定制,就显得尤为重要。而container技术和虚拟机一样,容器技术也是一种资源隔离的虚拟化技术,容器概念始于 1979 年提出的 UNIX chroot,它是一个 UNIX 操作系统的系统调用,将一个进程及其子进程的根目录改变到文件系统中的一个新位置,让这些进程只能访问到这个新的位置,从而达到了进程隔离的目的,然后采用集装箱思想,为应用提供了一个基于容器的标准化运输系统,就像货物的运输问题一样,如何将不同的货物放在不同的运输机器上,减少因货物的不同而频繁进行货物的装载和卸载,浪费大量的人力物力。

发展历程:

2000 年的时候 FreeBSD 开发了一个类似于 chroot 的容器技术 Jails,这是最早期,也是功能最多的容器技术。Jails 英译过来是监狱的意思,这个“监狱”(用沙盒更为准确)包含了文件系统、用户、网络、进程等的隔离。

2001 Linux 也发布自己的容器技术 Linux VServer,2004 Solaris 也发布了 Solaris Containers,两者都将资源进行划分,形成一个个 zones,又叫做虚拟服务器。

2005 年推出 OpenVZ,它通过对 Linux 内核进行补丁来提供虚拟化的支持,每个 OpenVZ 容器完整支持了文件系统、用户及用户组、进程、网络、设备和 IPC 对象的隔离。

2007 年 Google 实现了 Control Groups( cgroups ),并加入到 Linux 内核中,这是划时代的,为后期容器的资源配额提供了技术保障。

2008 年基于 cgroups 和 linux namespace 推出了第一个最为完善的 Linux 容器 LXC。

2013 年推出到现在为止最为流行和使用最广泛的容器 Docker,相比其他早期的容器技术,Docker 引入了一整套容器管理的生态系统,包括分层的镜像模型,容器注册库,友好的 Rest API。

2014 年 CoreOS 也推出了一个类似于 Docker 的容器 Rocket,CoreOS 一个更加轻量级的 Linux 操作系统,在安全性上比 Docker 更严格。

2016 年微软也在 Windows 上提供了容器的支持,Docker 可以以原生方式运行在 Windows 上,而不是需要使用 Linux 虚拟机

未来趋势:

我认为container技术目前已经发展的相对成熟了,它和服务器虚拟化都属于虚拟化的技术,且目标都是为了将一套应用程序所需的执行环境打包起来,建立一个孤立环境,方便在不同的硬件中移动,但为什么我认为container技术发展会更有前景。简单来说,常见的传统虚拟化技术如 vSphere 或 Hyper-V 是以操作系统为中心,而 Container 技术则是一种以应用程序为中心的虚拟化技术。最明显的差别是虚拟机需要安装操作系统(安装 Guest OS)才能执行应用程序,而 Container 内不需要安装操作系统就能执行应用程序。container简化了应用在开发测试部署环节的复杂度,相比虚拟机资源开销更小,起停速度更快,且container推出轻量级组件化的架构,为互联网应用提供更好的弹性。

injection

javava EE CDI主要使用@Inject批注,以便将托管bean的依赖注入执行到其他容器托管资源。使用依赖注入的思想是应用程序用到Foo类,Foo类需要Bar类,Bar类需要Bim类,那么先创建Bim类,再创建Bar类并把Bim注入,再创建Foo类,并把Bar类注入,再调用Foo方法,Foo调用Bar方法,接着做些其它工作。

关于injection的其他资料没有搜集到太多。。。。

原文地址:https://www.cnblogs.com/vision-xixi/p/10548875.html

时间: 2024-08-01 11:44:21

为什么会出现container、injection技术?发展历史及未来发展趋势的相关文章

Web开发技术发展历史

Web开发技术发展历史 来自:天码营 原文:http://www.tianmaying.com/tutorial/web-history Web的诞生 提到Web,不得不提一个词就是"互联网".Web是World Wide Web的简称,中文译为万维网."万维网"和我们经常说的"互联网"是两个联系极其紧密但却不尽相同的概念.今天"互联网"三个字已经承载了太多的内涵,提到互联网,我们通常想到的一种战略思维,或者是一种颠覆传统的商

智能投顾的发展现状和未来发展趋势

2017-3-6 10:05  来自: 36kr  "These violent delights have violent ends"(狂暴的欢愉必将有狂暴的结局)--<西部世界>里这句出自莎翁笔下的经典台词,用来形容近几年国内P2P市场的火爆与乱象恰到好处.从余额宝引发的欢愉,到招财宝"侨兴债"违约带来的阵痛,P2P从最初的野蛮生长到最近的反思整顿,完成了一个周期,市场反复教育投资者:收益和风险正相关,只有根据自己的风险偏好进行分散配置才是健康的理财

淘宝技术发展

转载 http://blog.csdn.net/kobejayandy/article/details/8685271 目录 一.引言 二.个人网站 三.Oracle/支付宝/旺旺 四.淘宝技术发展(Java时代:脱胎换骨) 五.淘宝技术发展(Java时代:坚若磐石) 六.淘宝技术发展(Java时代:创造技术-TFS) 七.淘宝技术发展(分布式时代:服务化) 作者:赵超 一.引言 光棍节的狂欢 “时间到,开抢!”坐在电脑前早已等待多时的小美一看时间已到 2011 年 11 月 11 日零时,便迫

python 学习之电脑的发展历史

电脑的发展历史 电脑的学名叫计算机,电脑是用来做计算的.在古时候,人们最早使用的计算工具可能是手指,英文单词“digit”既有“数字”的意思,又有“手指“的意思.古人用石头打猎,所以还有可能是石头来辅助计算.  缺点:手指和石头太低效了 后来出现了”结绳 “记事.   缺点:结绳慢,绳子还有长度限制. 又不知过了多久,许多国家的人开始使用”筹码“来计数,最有名的就要数咱们中国商周时期出现的算筹了.古代的算筹实际上是一根根同样长短和粗细的小棍子,大约二百七十几枚为一束; 多用竹子制成,也有用木头.

选一种你比较熟悉的软件,并点评它的优缺点,并描述此类软件的发展历史

windows操作系统, 优点:图形化界面能够更加便捷的对文件进行处理 缺点:容易被黑客破解从而导致信息的丢失 发展历史: 1.Windows是由微软在1983年11月宣布,并在两年后(1985年11月)发行的. 2.Windows版本2.0是在1987.11正式在市场上推出的.该版本对使用者界面做了一些改进.2.0版本还增强了键盘和鼠标界面,特别是加入了功能表和对话框. 3.Windows3.0是在1990年5月22日发布的,它将Win/286和Win/386结合到同一种产品中.Windows

让你提前认识软件开发(24):C语言的发展历史和主要特点

第1部分 重新认识C语言 C语言的发展历史和主要特点 作为一门众所周知的计算机编程语言,C语言是谁发明的呢?它是如何演进的?它有何特点?到底有多少人在使用它? 1. C语言之父 C语言是1972年由美国贝尔实验室的计算机科学家Dennis Ritchie(丹尼斯·里奇)设计发明的.因此,Dennis Ritchie被誉为"C语言之父"(他已于2011年10月9日去世,享年70岁).图1中的人物就是Dennis Ritchie. 图1 "C语言之父" Dennis R

(原创)我对未来的人类的发展,以及AI技术发展的一些思考。

最近AI非常的火,不仅仅是阿尔法狗的成功,因为它击败了人类最强的大脑,颠覆了人类几千年来的对传统的认识,也让人类意识 到了一个问题:天外有天,人外有AI. 那么AI究竟会对人类的未来造成什么深远的影响呢?它又将怎么改变人类的生活呢?我来列举几个阶段性的东西,希望能给大家一些思考和启发. 近期:AI其实我个人感觉10年前并不是很火,但是最近突然火了起来,主要的发展还是在图片识别了文字识别方面,比如最明显的东西就是谷歌翻译现在越来越准了,这都可以理解为深度学习的一些成功. 第一个100年 1.我个人

web前端入坑第五篇:秒懂Vuejs、Angular、React原理和前端发展历史

秒懂Vuejs.Angular.React原理和前端发展历史 2017-04-07 小北哥哥 前端你别闹 今天来说说 "前端发展历史和框架" 「前端程序发展的历史」 「 不学自知,不问自晓,古今行事,未之有也 」 我们都知道如今流行的框架:Vue.Js.AngularJs.ReactJs.已经逐渐应用到各个项目和实际应用中,它们都是MVVM数据驱动框架系列的一种. 在了解MVVM之前,我们先回想一下前端发展的历史阶段,做到心中有数,才会更好理解. 这段回想历史.由于网上就可查不少资料,

存储网络接口技术发展跟踪(2015.01)

搞存储的,不懂存储接口,那简直是笑谈,本文将跟踪当今业界主流的存储接口.关于存储接口的详细技术细节,可以在后续文章中描述. 存储网络接口 设备数 最远距离(M) 线缆类型 接口设备 传输速率(MB/sec) 接口属性 FC 16M 10 (铜)           10KM+ (光纤) 铜: 光纤 HBA 100, 200, 400, 800, 1600 双口 FCoE 16M 10 (铜)           非常长(光纤) 铜: 光纤 CNA           10GbE NIC 1150