Spring Boot+SQL/JPA实战悲观锁和乐观锁

    悲观锁适合写多读少的场景。因为在使用的时候该线程会独占这个资源,在本文的例子来说就是某个id的文章,如果有大量的评论操作的时候,就适合用悲观锁,否则用户只是浏览文章而没什么评论的话,用悲观锁就会经常加锁,增加了加锁解锁的资源消耗。 乐观锁适合写少读多的场景。由于乐观锁在发生冲突的时候会回滚或者重试,如果写的请求量很大的话,就经常发生冲突,经常的回滚和重试,这样对系统资源消耗也是非常大。

    2018-12-20 16:06:29

    Zookeeper的Leader选举原理及产生的问题,你还在用zookeeper做服务发现吗?

    我们来比较一下,在CAP理论中,zk更看重C和P,即一致性和分区容错性。但Eureka更在意的是A和P,A为高可用。zk中有master和follower区别,当进入选举模式时,就无法正常对外提供服务。但Eureka中,集群是对等的,地位是相同的,虽不能保证一致性,但至少可以提供注册服务。

    2018-12-16 23:07:57

    为什么kubernetes天然适合Spring Cloud

    在容器出现之前,这三种架构往往通过虚拟机云平台的方式解决。当容器出现之后,容器的各种良好的特性让人眼前一亮,它的轻量级、封装、标准、易迁移、易交付的特性,使得容器技术迅速被广泛使用。

    2018-12-07 14:29:08

    Java伪共享问题及最简单的解决方案

    CPU缓存系统中是以缓存行(cache line)为单位存储的。目前主流的CPU Cache的Cache Line大小都是64Bytes。在多线程情况下,如果需要修改“共享同一个缓存行的变量”,就会无意中影响彼此的性能,这就是伪共享(False Sharing)。

    2018-12-07 14:11:09

    写了这么多年代码,你真的了解Java各种“锁”吗?

    Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。

    2018-12-07 13:54:18

    高并发系列:亿级流量并发系统之HTTP缓存

    浏览器缓存是指当我们使用浏览器访问一些网站页面或者http服务时,根据服务端返回的缓存设置响应头将响应内容缓存到浏览器,下次可以直接使用缓存内容或者仅需要去服务端验证内容是否过期即可。这样的好处可以减少浏览器和服务端之间来回传输的数据量,节省带宽提升性能。

    2018-12-05 23:37:53

×
  • 用户登录
  • 注册新用户