现在位置: 首页 > 云计算 > 文章
2020年02月21日 云计算 ⁄ 共 3179字 评论关闭
  自从Docker在2013年初上线以来,就与程序员及系统管理员之间产生了一种爱恨交加的奇妙关系。虽然与我交谈过的一些经验丰富的的开发人员都非常不喜欢容器化(稍后会详细介绍), 但是为什么许多大公司,包括eBay、Twitter、Spotify和Lyft在内,都在他们的生产环境中采用了Docker呢?   Docker究竟是做什么的呢?   不知道您是否曾使用过VMware、VirtualBox、Parallels或任何其他的虚拟化软件呢?Docker和这些软件差不多(尽管...
阅读全文
2020年02月20日 云计算 ⁄ 共 2904字 评论关闭
  Fatal Error:Allowed memory size of xxxxxx bytes exhausted,相信大家在服务器上会经常看到这个报错,这个究竟是什么意思?要如何解决呢?   服务器很多自动任务的php脚本占用服务内存过多,并且程序不在运行了。   解决方法:   在运行PHP程序,通常会遇到“Fatal Error:Allowed memory size of xxxxxx bytes exhausted”的错误, 这个意味着PHP脚本使用了过多的内存,并超出了系统对其设置的允许最大内存。解决这...
阅读全文
2020年02月19日 云计算 ⁄ 共 6004字 评论关闭
  和 Flexvolume 类似,CSI 也是为第三方存储提供数据卷实现的抽象接口。   有了 Flexvolume,为何还要 CSI 呢?   Flexvolume 只是给 kubernetes 这一个编排系统来使用的,而 CSI 可以满足不同编排系统的需求,比如 Mesos,Swarm。   其次 CSI 是容器化部署,可以减少环境依赖,增强安全性,丰富插件的功能。我们知道,Flexvolume 是在 host 空间一个二进制文件,执行 Flexvolum 时相当于执行了本地的一个 shell 命令,...
阅读全文
2020年02月19日 云计算 ⁄ 共 2712字 评论关闭
  Flexvolume 是 Volume Plugins 的一个扩展,主要实现 Attach/Detach/Mount/Unmount 这些接口。我们知道这些功能本是由 Volume Plugins 实现的,但是对于某些存储类型,我们需要将其扩展到 Volume Plugins 以外,所以我们需要把接口的具体实现放到外面。   我们可以看到,Volume Plugins 其实包含了一部分 Flexvolume 的实现代码,但这部分代码其实只有一个 “Proxy”的功能。   比如当 AD Controller 调用插件的一个 Atta...
阅读全文
2020年02月19日 云计算 ⁄ 共 7987字 评论关闭
  容器存储是 Kubernetes 系统中提供数据持久化的基础组件,是实现有状态服务的重要保证。Kubernetes 默认提供了主流的存储卷接入方案(In-Tree),同时也提供了插件机制(Out-Of-Tree),允许其他类型的存储服务接入 Kubernetes 系统服务。本文将从 Kubernetes 存储架构、存储插件原理、实现等方面进行讲解,希望大家有所收获。   Kubernetes 存储体系架构   引例: 在 Kubernetes 中挂载一个 Volume   首先以一个 Volume ...
阅读全文
2020年02月19日 云计算 ⁄ 共 1082字 评论关闭
  Charles 是一款运行在 PC 端的 Web 代理工具,它支持 Windows,Mac,Linux 操作系统。通过配置代理,Charles 可以记录和展示我们的设备和 Internet 之间交流的所有数据。因此使用它我们可以调试分析我们的应用程序接口,抓取接口传输的数据。   Charles主要具备如下特色功能:   支持 Https 协议;   限制带宽,模拟延迟效果;   支持 JSON 和 XML 格式化展示效果;   树形展示数据消息;   重发网络请求;   更改...
阅读全文
2020年02月19日 云计算 ⁄ 共 830字 评论关闭
  有一天隔壁组的小王灰头土脸的跑过来,问我说:“李哥,你会设计微服务网关系统吗?”。我一愣,小王怎么突然问这么抽象的问题,关键是我们最近也没有这样的需求。吃午饭的时候,在我旁敲侧击的追问下,小王招供了,原来小王偷偷跑去阿里面试了。技术一面挺顺利的,结果在技术二面的时候卡住了,面试官问了小王关于网关的问题。对话大致如下:   面试官:“你们的微服务有统一的网关吗?”。   小王:“有呀,我们使用了 Sprin...
阅读全文
2020年02月19日 云计算 ⁄ 共 1718字 评论关闭
  你已经知道管程 synchronized 是通过锁对象所关联的 Monitor 对象的计数来标识线程对锁的占有状态,那么你知道 ReentrantLock 是如何来控制锁的占有状态吗?   Lock 锁采用了与 Monitor 对象计数完全不同的一种方式,它依赖了并发包中的 AbstractQueuedSynchronizer (队列同步器简称 AQS ) 来实现在多线程情况下对锁状态的控制。那么 AQS 是如何保证在多线程场景中锁状态可以正常控制呢。   主要使用了如下 3 个技术点:...
阅读全文
2020年02月19日 云计算 ⁄ 共 1094字 评论关闭
  ConcurrentHashMap 是如何进行管理它的容量的,也就是当我们调用它的 size 方法的时候发生了什么?   毕竟是要支持并发,ConcurrentHashMap 的扩容操作比较复杂,我们将从以下几点来带讨论一下它的扩容。   触发扩容   1. 添加新元素后,元素个数达到扩容阈值触发扩容。   2. 调用 putAll 方法,发现容量不足以容纳所有元素时候触发扩容。   3. 某个槽内的链表长度达到 8,但是数组长度小于 64 时候触发扩容。  ...
阅读全文
2020年02月18日 云计算 ⁄ 共 2330字 评论关闭
  生成模型和迁移文件   php artisan make:model Models/Shoping/Category -m   app/Models/Shoping/Category.php   < ?php   namespace App\Models\Shoping;   use Encore\Admin\Traits\AdminBuilder;   use Encore\Admin\Traits\ModelTree;   use Illuminate\Database\Eloquent\Model;   /**   *   * Class Category   * @package App\Models\Shoping   */   class Category extends M...
阅读全文