Consul是什么?
在计算机技术日新月异的今天,Docker在国内发展的如火如荼 。 特别是在一线互联网公司Docker的使用是十分普遍的,甚至成为了一些企业面试的加分项 , 那么今天我们继续关于Docker的精华问答 。

文章图片
1
Q:Consul是什么?
A:
【Consul是什么?】Consul是一个分布式、高可用的系统 , 是一个为了解决在生产环境中服务注册 , 服务发现 , 服务配置的一个工具 , 它有多个组件 , 提供如下几个关键功能:
服务发现:Consul的某些客户端可以提供一个服务 , 例如api或者mysql , 其它客户端可以使用Consul去发现这个服务的提供者 。 使用DNS或者HTTP , 应用可以很容易的找到他们所依赖的服务 。
健康检查:Consul客户端可以提供一些健康检查 , 这些健康检查可以关联到一个指定的服务(服务是否返回200OK) , 也可以关联到本地节点(内存使用率是否在90%以下) 。 这些信息可以被一个操作员用来监控集群的健康状态 , 被服务发现组件路由时用来远离不健康的主机 。
键值存储:应用可以使用Consul提供的分层键值存储用于一些目的 , 包括动态配置、特征标记、协作、leader选举等等 。 通过一个简单的HTTPAPI可以很容易的使用这个组件 。
多数据中心:Consul对多数据中心有非常好的支持 , 这意味着Consul用户不必担心由于创建更多抽象层而产生的多个区域 。

文章图片
2
Q:为什么要用它?
A:现在企业应用都向微服务化方向发展 , 当把我们的系统功能拆分成一个一个的微服务后 , 存在以下问题
需要配置N个服务的网络位置 , 加大配置的复杂性
服务的网络位置变化 , 都需要改变每个调用者的配置
集群的情况下 , 难以做负载(反向代理的方式除外)

文章图片
3
Q:Docker构架
A:
Docker使用C/S架构 , Client通过接口与Server进程通信实现容器的构建 , 运行和发布 。 client和server可以运行在同一台集群 , 也可以通过跨主机实现远程通信 。

文章图片

文章图片
4
Q:DockervsVM
A:
VM是一个运行在宿主机之上的完整的操作系统 , VM运行自身操作系统会占用较多的CPU、内存、硬盘资源 。 Docker不同于VM , 只包含应用程序以及依赖库 , 基于libcontainer运行在宿主机上 , 并处于一个隔离的环境中 , 这使得Docker更加轻量高效 , 启动容器只需几秒钟之内完成 。 由于Docker轻量、资源占用少 , 使得Docker可以轻易的应用到构建标准化的应用中 。 但Docker目前还不够完善 , 比如隔离效果不如VM , 共享宿主机操作系统的一些基础库等;网络配置功能相对简单 , 主要以桥接方式为主;查看日志也不够方便灵活 。

文章图片
Docker在容器的基础上 , 进行了进一步的封装 , 从文件系统、网络互联到进程隔离等等 , 极大的简化了容器的创建和维护 。 使得Docker技术比虚拟机技术更为轻便、快捷 。
作为一种新兴的虚拟化方式 , Docker跟传统的虚拟化方式相比具有众多的优势 。 Docker容器的启动可以在秒级实现 , 这相比传统的虚拟机方式要快得多;Docker对系统资源的利用率很高 , 一台主机上可以同时运行数千个Docker容器 。

文章图片
5
Q:多个Docker容器之间共享数据怎么办?
A:
如果是同一个宿主 , 那么可以绑定同一个数据卷 , 当然 , 程序上要处理好并发问题 。 如果是不同宿主 , 则可以使用分布式数据卷驱动 , 让分布在不同宿主的容器都可以访问到的分布式存储的位置 。 如S3之类 。
推荐阅读
- 数字人民币试点地区展开测试 集中在餐饮、零售、充值等小范围场景
- 科学探索|为什么科学会在需要时让我们失望?
- 多所在京大学录取线来了 各校设置多条投档线
- 旅行在路上啊|成都反差最大景区,一边是游客专属一边本地人最爱,门票相差4倍
- 四川绵竹民警连夜在外抗洪 返回时派出所被洪水淹没
- 珠海生活资讯交流|推动琴澳旅游合作, 大横琴文旅展示中心18日在横琴口岸正式开放
- 上蔡知事|上蔡又一旅游景点曝光,你知道在哪吗?
- 这些星座女最容易在感情里遭遇渣男,赶紧进来避避难吧!
- 两岸情与湾区梦——一位在粤台生的别样毕业季
- 艾泰洗车机|还在排队高价洗车?艾泰智能洗车机,小米都不敢这么玩
