服务发现

容器化思维推荐以微服务的形式构建容器化应用。在以微服务方式构建的应用中,服务发现、服务发布和订阅等模块发挥了连接各个微服务的重要作用。在同一个分布式集群中的进程或服务,互相感知并建立连接,这就是服务发现。目前,有很多工具已经实现了服务发现的功能,例如Zookeeper、etcd、Consul等,基本上所有的SOA和微服务架构的分布式应用都是利用这些工具为分布式系统提供服务发现功能的。随着Docker容器的流行,多种微服务共同协作构成一个功能相对强大的架构的案例越来越多,透明化地动态添加这些服务的需求也日益强烈,关于Docker做服务发现,较为常见的解决方案是使用etcd

Read More

容器技术

容器技术是一种轻量级的虚拟化解决方案,自Docker开源之后,容器技术受到了广泛的关注和讨论。在云技术方面,相对于传统的虚拟机,容器技术有着明显的优势,比如减少对磁盘空间的占用、提高服务器的资源利用率。更重要的是,容器尤其适用于在PaaS云中管理并协调应用,因为在PaaS云技术中,可以把容器作为应用程序的打包机制,使管理应用更加方便,更加高效。本文中将分析以Docker为代表的容器技术,以及PaaS云技术向容器生态系统的演变的现状和必要性。

Read More

Docker创建镜像文件

容器是通过images启动的,如何自己创建images就是一个很重要问题。Docker中创建images包括两种方法。一种是利用base images,在一个镜像的基础上创建,另一种是使用dockerfile,基于描述文件创建。以下内容分别进行描述。

Read More

SOA与Web Services

大多数企业经过多年发展,都会在软件系统开发和维护方面投入大量资金,例如一些企业使用传统的信息系统来存储大量的重要数据。当业务发生变化或者有所增加时,直接废弃现有的系统是不切实际的,但是对现有系统进行改进和完善又要付出更大的代价。针对这种情况,SOA(Service Oriented Architecture)被提出来,提供了一个较为划算的解决方案。
1996年,Gartner最早提出SOA的概念,目的是让企业业务更加敏捷,软件系统变得更有弹性,使企业能快速响应需求的变化,而对于企业已经普遍存在的遗留系统来说,这无疑是办不到的,不但办不到,而且遗留系统本身还存在信息孤岛问题。从资源利用的角度,企业为实现利益最大化,遗留系统的问题需要解决,新建系统的弹性更需要解决,就在这样的环境下SOA被提出来。
从SOA概念的提出到企业实用,只有短短几年时间,这段时期,在厂商、研究人员和标准化组织的共同努力下,已经制定出一大批SOA标准和规范,发展十分迅速。最初基于SOA思想的实现原则、架构模型、参考模型等等,发展至今已经成为一种编程模型。

Read More

Docker典型API

在操作系统中部署好docker的相关环境之后,可以通过内置的docker的相关命令还对容器进行管理,也可以通过restful API在其他机器上对当前机器上的容器进行相关的管理。以下内容介绍一些基本的Docker API。
docker run从镜像启动一个容器,当指明某个镜像 docker首先会在本机上的镜像文件中进行查找 如果没有找到就从docker Hub 中下载一个。具体的命令格式如下:
sudo docker run + 参数信息 + 镜像的名称 + 可以运行的指令
-i保持对于容器的stdin为打开的状态,-t 为这个容器分配一个虚拟的终端,一般 -i 与 -t 参数都是结合在一起使用的,这样交互比较方便一点。-d让docker容器在后台中运行。-v挂载命令,可以把本机上的一个文件目录挂载到容器中,这样数据共享就会非常方便。-name指定由镜像所生成的container的名称。—rm这个参数表明当容器退出后自动删除容器。-p参数可以运行很多次来指定多个服务的映射关系。要是直接-p :8080的话,这样系统会找一个没有被占用的host端口来映射到容器的8080端口上面,在多个用户使用同样一个服务的情况下这样还是比较好一点的。-P表示的是将任何容器内部所需要的网络端口号映射到我们的host上,对于web应用肯定要加上这个参数。

Read More