金沙澳门官网技术学习

作者: 网络编程  发布:2019-06-24

  用一了段时间NSQ还是很稳定的。除了稳定,还有一个特别值的说的就是部署非常简单。总想写点什么推荐给大家使用nsq来做一些东西。但是就是因为他太简单易用,文档也比较简单易懂。一直不知道要写啥!!!!!

Docker 技术学习

  nsq官网: 

  • Docker 简介

  • 什么是容器 :

  • 是一种虚拟化的方案,与传统的虚拟机不同,传统的虚拟机是将一台或者多台独立的机器虚拟于独立的硬件之上,而容器是直接运行在操作系统内核之上的内核空间,容器虚拟化也被称为操作系统虚拟化。

  • 操作系统级别的虚拟化

  • 只能运行相同或者相似内核的操作系统

  • 依赖与Linux内核特性:Namespace 和Cgroups(Control Group)

  • 容器技术优点 :

  金沙澳门官网 1

金沙澳门官网 2image.png

  为了容灾需要对nsqd多机器部属,有了Docker后,快速扩还是很方便的。

1.虚拟机对内存和CPU的损耗相当大

  部署完后我会用go和c#写一些代码方便大家学习。

2.Docker磁盘占用空间更少,虚拟机需要包含完整的操作系统。

 

3.容器技术,只需要包含应用及其依赖的库。

  准备工作:

  • 什么是Docker ?

  • 将应用程序自动部署到容器的开源引擎

  • Go语言开源引擎,Github 地址

  • 2013年初 dotCloud(现在的Docker公司) 基于Apache 2.0 开源授权协议发行

  • 应用程序部署引擎,目标就是提供一个轻量快速的引擎。

  • Docker 的目标

  • 提供简单轻量的建模方式 :docker非常容易上手,用户只需要几分钟就可以把自己的程序docker化,大多数的docker容器只需要不到1s就可以运行起来。

  • 职责的逻辑分离:使用docker开发人员只要关心容器中运行的应用程序,而运维人员只需要关心如何管理容器 ,Docker的设计目的就是加强开发人员写代码的开发环境与应用程序运行和部署的环境的一致性。

  • 快速高效的开发生命周期: 缩短代码到开发、测试、部署上线运行的周期。让你的应用程序具备可一致性。在容器中开发,以容器的模式交付和分发。

  • 鼓励使用面向服务的架构: docker推荐一个容器只运行一个应用程序或者进程,这样就形成了分布式的应用程序模型,应用程序或者服务就可以表示为一些了内部互相的应用程序。高内聚、低耦合,单一任务。分布式应用程序是的扩展或者活调试应用程序变得简单。避免在同一服务器上部署不同服务时可能带来的不同服务之间的不同影响, 这样在运行过程中出现问题比较容易定位问题所在。

  • Docker的使用场景

  • 使用docker容器开发、测试、部署服务。docker本身比较轻量化,开发人员可以可以开发、分享容器,容器可以在开发环境中创建,然后提交给测试和进入生产环境。

  • 创建隔离的运行环境.

  • 搭建测试环境:开发者利用docker在本地搭建测试环境。搭建用来测程序在不同系统下的兼容性,

  • 构建多用户的平台级服务基础设施

  • 提供软件级服务应用程序

  • 高性能、超大规模的宿主机部署。 目的巨大部分的公有云服务都提供了对docker的支持。

  • Docker 的基本组成

  • Docker Client 客户端:

  • Docker Daemon 守护进程

  • Docker Image 镜像

  • Docker Container 容器

  • Dcoker Registry 仓库

    Docker 客户端/守护进程 , 是C/S 架构程序, 客户端想守护进程 发送请求,客户端对服务器端的访问既可以是通过本地也可以通过远程,即 本地/远程 。Docker的CS架构 如下图:

  》两台服务器:192.168.0.49; 192.168.0.105.

金沙澳门官网 3image.png

  》需要在两台机器上安装好Docker

Docker image 镜像:镜像是容器的基石,容器基于镜像启动和运行,镜像好比容器的源代码,保存了基于容器的各种条件,docker镜像是有个层叠的只读文件系统, 最低端是一个引导文件系统bootfs (好比linux的引导文件系统),docker用户几乎不可能跟引导文件有交互,到一个容器启动后,将会被已到内容中而引导文件系统将会被卸载。docker镜像的第二层是rootfs,root文件系统。 docker将这样的文件系统称为镜像。一个镜像可以放到另一个镜像的顶部,位于下面的镜像称为父镜像。

  》两台机器上镜像的拉取 

金沙澳门官网 4image.png

docker pull nsqio/nsq

Docker Container 容器:通过镜像来启动:docker的容器是docker的执行单元 ,容器中可以运行客户的一个或者多个进程,如果说镜像是docker安装包的构建和打包阶段,那么容器则是启动和执行阶段。启动和执行阶段写时负责(copy on write)

  我们在105上启动lookup, nsqd和客户端都需要连接这个lookup。  

金沙澳门官网 5image.png

docker run --name lookupd -p 4160:4160 -p 4161:4161 nsqio/nsq /nsqlookupd

Docker Registry 仓库:docker 用仓库来保存用户构建的镜像,仓库分为公用和私有。docker公司自己通过了一个共有仓库Docker Hub ,

金沙澳门官网 6

金沙澳门官网 7image.png

  

Docker 在线演示地址:

  在105和49上启动nsqd, lookup的地址要写105

docker run --name nsqd -p 4150:4150 -p 4151:4151     nsqio/nsq /nsqd     --broadcast-address=192.168.0.105     --lookupd-tcp-address=192.168.0.105:4160

docker run --name nsqd -p 4150:4150 -p 4151:4151     nsqio/nsq /nsqd     --broadcast-address=192.168.0.49     --lookupd-tcp-address=192.168.0.105:4160

 

 金沙澳门官网 8

 

  到了这一步就可以写代码发送和接收信息了。但是还有一个管理系统需要启动一下。nsqadmin 

docker run --name nsqadmin -p 4171:4171 nsqio/nsq /nsqadmin --lookupd-http-address=192.168.0.105:4161

金沙澳门官网 9

 

   用浏览器看一下管理端:  和 192.168.0.49。其他的你可以点开看看。

金沙澳门官网 10

本文由金沙澳门官网发布于网络编程,转载请注明出处:金沙澳门官网技术学习

关键词: 金沙澳门官网