作者|张磊阿里云容器平台高级技术专家,CNCF官方大使一、为什么需要Pod容器的基本概念我们知道Pod是Kubernetes项目里面一个非常重要的概念,也是非常重要的一个原子调度单位,但是为什么我们会需要这样一个概念呢?在使用容器Docker的时候,也没有这个说法。其实,如果想要理解Pod,首先要理解容器,所以来回顾一下容器的概念:容器的本质实际上是一个进程,是一个视图被隔离,资源受限的进程。容器
分类:
其他好文 时间:
2019-09-19 19:15:52
阅读次数:
62
在并发编程中很容易出现并发安全问题,最简单的例子就是多线程更新变量i=1,多个线程执行i++操作,就有可能获取不到正确的值,而这个问题,最常用的方法是通过Synchronized进行控制来达到线程安全的目的。但是由于synchronized是采用的是悲观锁策略,并不是特别高效的一种解决方案。实际上, ...
分类:
编程语言 时间:
2019-09-18 13:11:55
阅读次数:
109
1.轻量级锁(Lock)与重量级锁(synchronized):都是可重入锁 2.可重入锁(递归锁):方法中嵌套方法,锁可传递 3.读写锁(ReentrantReadWriteLock)--读写分离 读锁(获取该值信息)和写锁(对该值操作) 4.乐观锁 本质没有锁,效率比较高、无阻塞、无等待、重试。 ...
分类:
其他好文 时间:
2019-09-15 14:14:55
阅读次数:
130
第1章 课程导学【征途*扬帆起航】没有梦想,何必远方?本小结将站在更高的起点,从项目演示开始 ,然后到本课程适用人群定位,再到通过思维导图介绍课程内容体系,接着到分析收获,最后到学习本课程的一些前置要求,为你的学习征途扬帆起航做保证。第2章 红包业务概述&系统建模【磨刀不误砍柴工】或许大家体验过抢红 ...
分类:
微信 时间:
2019-09-10 00:44:07
阅读次数:
475
常用多线程方法 可重入锁 ? ReentrantLock类、synchronized关键字,属于悲观锁。 ? 可重入锁,即递归锁。指在同一线程内,外层函数获得锁之后,内层递归函数仍然可以获得该锁。 ? 作用:防止在同一线程中多次获取锁而导致死锁发生。 自旋锁 ? java.util.concurre ...
分类:
编程语言 时间:
2019-09-09 21:09:47
阅读次数:
131
前言 CAS,即 Compare And Swap(比较与交换),是一种无锁算法,基于硬件原语实现,能够在不使用锁的情况下实现多线程之间的变量同步。jdk中的java.util.concurrent.atomic包中的原子类就是通过CAS来实现了乐观锁。 CAS算法过程 算法涉及到三个操作数: 需要 ...
分类:
编程语言 时间:
2019-09-03 22:39:46
阅读次数:
118
1、悲观锁(Pessimistic Concurrency Control),第一眼看到它,相信每个人都会想到这是一个悲观的锁。没错,它就是一个悲观的锁。 那这个悲观体现在什么地方呢?悲观是我们人类一种消极的情绪,对应到锁的悲观情绪,悲观锁认为被它保护的数据是极其不安全的,每时每刻都有可能变动,一个 ...
分类:
其他好文 时间:
2019-09-03 09:23:33
阅读次数:
80
一、ES并发控制原理1.1、ES并发冲突问题1.2、悲观锁与乐观锁并发控制图解ES内部基于_version进行乐观锁并发控制:二、并发控制实践2.1、基于_version进行乐观锁并发控制 ...
分类:
其他好文 时间:
2019-09-02 17:10:27
阅读次数:
228
前言 分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细 ...
分类:
编程语言 时间:
2019-09-02 15:43:59
阅读次数:
114
锁的分类 自旋锁: 线程状态及上下文切换消耗系统资源,当访问共享资源的时间短,频繁上下文切换不值得。jvm实现,使线程在没获得锁的时候,不被挂起,转而执行空循环,循环几次之后,如果还没能获得锁,则被挂起。 阻塞锁:阻塞锁改变了线程的运行状态,让线程进入阻塞状态进行等待,当获得相应的信号(唤醒或者时间 ...
分类:
编程语言 时间:
2019-09-01 10:57:54
阅读次数:
82