zoukankan      html  css  js  c++  java
  • Analysis of container and Injection in Java, their history and future.

    Container:

    发展历程:

    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方法,接着做些其它工作。

  • 相关阅读:
    SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)
    麦咖啡导致电脑不能上网
    SharePoint 2013 Central Admin 不能打开
    SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API)
    SharePoint 2013 APP 开发示例 系列
    synthesize(合成) keyword in IOS
    Git Cmd
    简单的正则匹配
    Dropbox
    SQL Server Replication
  • 原文地址:https://www.cnblogs.com/wudidd/p/10549527.html
Copyright © 2011-2022 走看看