linux – 对于memcached实例,Docker容器有什么好处?

其中一个Docker示例适用于配置了Memcached的容器.我想知道为什么人们会想要这个与配置Memcached的VM相比?我猜测在同一主机下运行多个memcached docker容器是没有意义的,唯一真正的优点是在docker容器中“压缩”memcached堆栈与通过VM在Memcached中“快速” .它是否正确?

另外,如何设置docker容器中memcached使用的内存?如果在一个主机下有两个或更多具有Memcached的docker容器,这将如何工作? (我再假设两个或两个以上没有意义).

最佳答案

I’m wondering why one would want this versus a VM configured with Memcached?

安全性:如果有人破坏了memcached和特洛伊木马的文件系统,那没关系 – 当你开始一个新的memchached时,文件系统会被丢弃.

隔离:您可以对每个容器进行硬限制,以防止它使用太多RAM.

标准化:目前,每个应用程序/数据库/缓存/负载均衡器必须记录要安装的内容,配置内容和运行内容.没有标准(并且没有木偶,厨师等工具).但是这些工具非常复杂,并非真正独立于操作系统(尽管他们声称),并且从开发到部署都具有相同的复杂性.

使用docker,一切都只是一个以BLAH运行的容器.如果你的应用程序有5层,你只需要运行5个容器,顶部有一点编排.开发人员永远不需要“查看容器”,除非他们在该层开发.

资源:您可以在普通的PC上启动1000个docker容器,但是您可能无法启动100个VM.限制是CPU和RAM. Docker容器只是“增强型”chroot中的进程.在VM上,有许多后台进程(cron,logrotation,syslog等),但是docker没有额外的进程.

I’m guessing that it would make no sense to have more than one memcached docker container running under the same host

这取决于.在某些情况下,您希望将RAM拆分为parcel而不是全局. (想象一下,如果你想将20%的缓存用于缓存用户,将40%的缓存用于缓存文件等)

此外,大多数分片方案很难扩展,因此人们通常从许多“虚拟”分片开始,然后在需要时扩展到物理盒.因此,您可以从您的应用程序开始,了解大约20个memcached实例(根据对象ID选择).首先,所有20个在一台物理服务器上运行.但是后来你将它们分成2台服务器(10/10),然后分成5台服务器(4/4/4/4),最后分成20台物理服务器(每台1台memcached).因此,您可以通过移动虚拟机而不是更改应用来扩展您的应用20倍.

the only real advantage is speed advantage of “spinning up” the memcached stack in a docker container vs Memcached via a VM. Is this correct?

不,这只是一个小小的好处.往上看.

Also,how does one set the memory to be used by memcached in the docker container?

在docker run命令中,只需使用-m.

How would this work if there were two or more docker containers with Memcached under one host? (I’m assuming again that two or more would not make sense).

同样的方式.如果没有设置内存限制,那就像在主机上运行2个memcached进程一样. (如果填满内存,两者都会出现内存错误.)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失
在192.168.80.100要联网关闭防火墙及SElinuxsystemctlstopfirewalld//关闭防火墙setenforce0//关闭监控memcached服务器:上传源码包和插件包:yuminstalllrz*-y把memcached-1.5.6.tar.gzlibevent-2.1.8-stable.tar.gz软件包拉入
Redis与Memcache对比:1.Memcache是一个分布式的内存对象缓存系统而redis是可以实现持久存储2.Memcache是一个LRU的缓存redis支持更多的数据类型3.Memcache是多线程的redis是单线程的4.二者性能几乎不相上下,实际上redis会受到硬盘持久化的影响,但是性能仍然保持在与Memcache不相上下,
安装Mencache:关闭防火墙及SElinuxsystemctl  stop  firewalldsetenforce  0memcached服务器:上传源码包和插件包:yum install  lrz*  -ymemcached-1.5.9.tar.gzlibevent-2.1.8-stable.tar.gz解压tarxfmemcached-1.5.6.tar.gz-C/optarxflibevent-2.1.8-stabl
#安装php的yaf模块,参考https://www.cnblogs.com/shifu204/p/6743578.htmlhttps://www.cnblogs.com/jiqing9006/p/9646872.htmlCentOS用phpize安装PHP扩展出现Can'tfindPHPheadersin/usr/include/php原因:https://wangzq-phper.iteye.com/blog/2297792#php的memcache的
win10下安装配置apache、php、mysql、redis、memcache资源官网下载亲测可用。名称版本下载地址网盘提取码apache2.4.38-x64下载地址33h4mysql5.5.62下载地址zicrphp7.1.26-ts-x64下载地址6ar6redis4.0.2.3-x64下载地址bnpkmemcache1.4.
使用理由:就是为了频繁查询数据库。并且数据有多!那么存到memcached内存就能够避免数据库的不断被訪问,从而提速一、安装memcachememcached在windows7上的安装问题 如今安装包:http://download.csdn.net/detail/qq1355541448/7587663或者 http://www.jb51.net/softs/448
https://www.cnblogs.com/xrq730/p/4948707.htmlMemCache是什么理解memcached的内存存储机制SlabAllocator内存分配机制Memcached默认情况下采用了名为SlabAllocator的机制分配、管理内存。0.之前内存分配的弊端在该机制出现以前,内存的分配是通过对所有记录简单地进行malloc和
 转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10923221.html 一:Memcache是什么,为什么要用它 二:Memcache指令有哪些 三:Memcache使用实例 四:Memcache深入解读
memcache讲解和在.net中初使用2017年10月17日22:51:36 等待临界 阅读数:503  前言传统数据库面临的问题数据库死锁磁盘IO正文了解memcache原理基本命令memcache与memcachedmemcache的适用范围memcache的客户端和服务端memcache与redis异同
前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失
一、概念讲解1.memcache是一个高性能的分布式的内存对象缓存系统,用于动态web应用以减轻数据库负担2.memcache通过在内存里维护一个统一的巨大的hash表,来存储经常被读写的一些数组与文件,从而极大的提高网站的运行效率。3.memcache是一种内存缓存技术,是一种缓存手段,要看情况
前戏Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象减少读取数据库的次数,从而减小数据库的压力,提高动态,数据库网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程是用C编写的,但是客户端可以用任
一.配置环境1.安装jdk和tomcat并将其放至/usr/local目录下[root@server1~]#ls[root@server1~]#tarzxfjdk-7u79-linux-x64.tar.gz-C/usr/local[root@server1~]#tarzxfapache-tomcat-7.0.37.tar.gz-C/usr/local2.为了升级的时候只升级软链接,所以对jdk和tom
一、    缓存系统静态web页面:1、在静态Web程序中,客户端使用Web浏览器(IE、FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给Web服务器,之后WEB服务器根据用户的需要,从文件系统(存放了所有静态页面
session//php文件中ini_set("session.save_handler","memcache");ini_set("session.save_path","tcp://127.0.0.1:11211");session_start();$_SESSION['TEST']='AreyouOK?';echosession_id();不建议在php.
废话少说,直接上代码<?php//实例化memcache类$mem=newmemcache();//连接memcache$mem->connect('localhost','11211');/**判断缓存中是否有数据如果有,就读取,没有,在查询时候,就把查询的数据存入memcache中*///获取缓存数据$
一、概念1、什么是memcacheMemcached是一个自由开源的,高性能,分布式内存对象缓存系统Memcached是以LiveJournal旗下DangaInteractive公司的BradFitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要
关于Redis和Memcache在应用中,都可以实现缓存的功能,但是,具体使用情况需要根据具体业务场景,尤其是对缓存数据有特性要求时,需要选择对应的缓存机制。共同点:都是基于内存的数据库,可用作缓存机制区别:1、关于数据类型:Memcache只支持简单的Key/Value数据结构;Redis支持的数据结构相
ThedefaultcachegroupisloadedbasedontheCache::$defaultsetting.Itissettothefiledriverasstandard,howeverthiscanbechangedwithinthe/application/boostrap.phpfile//ChangethedefaultcachedrivertomemcacheCache::$default='me