简单了解Docker、Dubbo

简单了解Docker、Dubbo

以Docker为例的容器

Docker是什么


  1. 主要体现在1.隔离2.开销小。
  2. Docker的组件有哪些。Docker Client用来管理本地或远程的服务器,Docker Daemon是安装完Docker之后就有的一个本地守护线程,接收Docker Client发来的指令,并对服务器做具体的操作。Docker Image就是Docker的镜像,Docker Container就是装在images的容器。Docker Registry是Docker的仓库,类似于github的仓库,可以上传分享自己的image。

Docker的原理

  1. 传统虚拟机的解决方案。Hypervisor(虚拟机监视器),VM在物理机器的操作系统上建立一个中间软件层Hypervisor,Hypervisor利用物理机器的资源,虚拟出多个新虚拟的硬件环境,这些硬件环境可以共享宿主机的资源。
  2. Docker怎么做。Docker利用linux的技术,不去虚拟化任何硬件,而是让硬件资源在不同的docker container之间做隔离。隔离使得每个docker container之间拥有了不同的环境(磁盘空间、网络、系统的工具包),并且共享需要的硬件资源(CPU、内存、系统内核)。
  3. Docker的Linux核心如下
    • AUFS 用来建立不同的操作系统和隔离运行的硬盘空间
    • Namespace 用来隔离container的执行空间
    • Cgroup 分配不同的硬件资源
    • SELinux 用来保护linux的网络安全
    • Netlink 让不同的container之间的进程保持通信
    • Netfilter 建立contianer为基础的网络防火墙分包过滤
    • AppArmor 保护container的网络及执行安全
    • Linux Bridge 让不同的container或不同主机上的container能够连通
  4. AUFS:Another Union File System,联合文件系统。AUFS可以让多个文件union成一个新的目录,并且对这个新的目录进行读写操作。uniton a b,那么a具有可读写权限,b具有只读权限,所有对b中文件的写操作,都会在a中新建一个文件夹然后做对应的改变。

    在Docker中,image是分层的,而且要实现一个image能在不同container中运行的要求,因此用AUFS技术让image和不同的container目录进行union,此时只有最上层的container是rw的,image是只读的,因此无论在container1中如何修改,都不会改变container2中的数据,因为底层的image都是只读的。
  5. Namespace. 对资源进行隔离,包括进程ID、主机名、用户ID、网络访问、进程间通讯和文件系统。
  6. Cgroup. 对资源进行限制。必入限制某个资源组只能用CPU的20%之类的。

以Dubbo为例的RPC调用框架

如何理解REST、RPC

  1. REST叫表现层状态转移,这个词我原来没办法理解,现在理解了,顿觉茅塞顿开啊。表现层表述资源,状态转移表示从一个节点到另一个节点,所以REST就是以HTTP的API和某些约定,使得资源从A服务到B服务,而RPC是远程进程调用,是在本机上调用远程机器上的进程。这两者本质上都是A远程调用B。
  2. REST是来自HTTP的,因此是无状态的,请求之间没有持久的会话信息,一致性要通过HTTP的特性保证。RPC一般传递的是JSON数据,可以理解成跨语言跨平台的服务调用。相对于REST,RPC通常使用url作为方法名,用HTTP的query string或body表示方法想调用的参数,比如下面这个:

Dubbo是什么

  1. Dubbo的官方说要解决什么?
  2. 简单的电商架构如下图:

    当服务越来越多之后,服务之间的依赖关系更加复杂,管理URL配置等变得非常困难(服务发现),还要统计服务的调用量用于后续分析(服务治理)。此时就要用到dubbo,dubbo的RPC是手段,目的就是服务发现和服务治理。
  3. dubbo的架构包括provider服务提供方,consumer服务消费者,registry注册中心,monitor监控中心。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值