02 2018 档案
摘要:IoC(Inversion of Control): (1)IoC(Inversion of Control)是指容器控制程序对象之间的关系,而不是传统实现中,由程序代码直接操控。控制权由应用代码中转到了外部容器,控制权的转移是所谓反转。对于Spring而言,就是由Spring来控制对象的生命周期和
阅读全文
摘要:http://txlcn.org
阅读全文
摘要:1、什么是REST? 1、什么是REST? REST(RepresentationalState Transfer)是Roy Fielding 提出的一个描述互联系统架构风格的名词。REST定义了一组体系架构原则,您可以根据这些原则设计以系统资源为中心的Web 服务,包括使用不同语言编写的客户端如何
阅读全文
摘要:淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Kafka这个优秀的消息中间件,淘宝中间件团队在对Kafka做过充分Review之后,Kafka无限消息堆
阅读全文
摘要:摘要:本文要实现的是一种使用redis来实现分布式锁。 1、分布式锁 分布式锁在是一种用来安全访问分式式机器上变量的安全方案,一般用在全局id生成,秒杀系统,全局变量共享、分布式事务等。一般会有两种实现方案,一种是悲观锁的实现,一种是乐观锁的实现。悲观锁的并发性能差,但是能保证不会发生脏数据的可能性
阅读全文
摘要:本文使用redis来实现乐观锁,并以秒杀系统为实例来讲解整个过程。 乐观锁 大多数是基于数据版本(version)的记录机制实现的。即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个”version”字段来实现读取出数据时,将此版本号一同读出,之后更新时,对此版本
阅读全文
摘要:MySQL中select * for update锁表的问题 由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例) ,否则MySQL将会执行Table Lock (将整个资料表单给锁住)。 举个例子: 假设有个表
阅读全文
摘要:1.实现分布式锁的几种方案 1.Redis实现 (推荐) 2.Zookeeper实现 3.数据库实现 2.Redis分分布式锁的代码实现 1.定义锁接口 2.定义锁实现 3.分布式锁验证 4.结果验证: 在Controller中模拟了1000个线程,通过线程池方式提交,每次20个线程抢占分布式锁,抢
阅读全文
摘要:http://blog.didispace.com/springcloud6/ https://www.jianshu.com/p/df9393755a05 http://www.ityouknow.com/springcloud/2017/05/12/eureka-provider-constom
阅读全文