上一页 1 ··· 156 157 158 159 160 161 162 163 164 ··· 234 下一页

2019年1月15日

分布式锁的几种实现方式

摘要: 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两 阅读全文

posted @ 2019-01-15 18:39 ExplorerMan 阅读(155) 评论(0) 推荐(0)

mysql事务,select for update,及数据的一致性处理

摘要: 在MySQL的InnoDB中,预设的Tansaction isolation level 为REPEATABLE READ(可重读) 在SELECT 的读取锁定主要分为两种方式: SELECT ... LOCK IN SHARE MODE SELECT ... FOR UPDATE 这两种方式在事务 阅读全文

posted @ 2019-01-15 18:00 ExplorerMan 阅读(211) 评论(0) 推荐(0)

MySQL的SELECT ...for update

摘要: 最近的项目中,因为涉及到Mysql数据中乐观锁和悲观锁的使用,所以结合项目和网上的知识点对乐观锁和悲观锁的知识进行总结。 悲观锁介绍 悲观锁是对数据被的修改持悲观态度(认为数据在被修改的时候一定会存在并发问题),因此在整个数据处理过程中将数据锁定。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据 阅读全文

posted @ 2019-01-15 17:27 ExplorerMan 阅读(478) 评论(0) 推荐(0)

秒杀场景,异步扣减库存解决超卖的问题

摘要: 1、限流2、将库存放到redis中、接收用户请求的时候。从redis取库存,判断库存量是否大于本次订单购买量库存大于本次购买量:扣减redis中的库存、并且将订单信息推送到MQ;库存小于本次购买量:直接返回、数量不足。3、MQ消费者获取消息:1):更新数据库库存(乐观锁)2):生成订单信息,扣除用户 阅读全文

posted @ 2019-01-15 16:53 ExplorerMan 阅读(1294) 评论(0) 推荐(0)

秒杀核心设计(减库存部分)-防超卖与高并发

摘要: 商品详情页面的静态化,varnish加速,秒杀商品库独立部署服务器这种就略过不讲了。只讨论库存部分的优化 mysql配置层面的优化可以参考我的这篇文章 《关于mysql innodb引擎性能优化的一点心得》 重点设计在数据库层面。 2张表: 第一张:判重表(buy_record),该用户有没秒杀过该 阅读全文

posted @ 2019-01-15 16:51 ExplorerMan 阅读(2204) 评论(0) 推荐(0)

简单的聊聊,分布式里商品的超卖和电商秒杀

摘要: 商品减库存的线程安全问题(商品的超卖问题)。 提到线程安全我们就想到了同步问题,但是由于这里是分布式的微服务,可能还要搭集群,以前的一台服务器下的代码可以加同步锁现在服务器都不一样,那么这种方案肯定行不通。 其实也可以考虑分布式锁去解决这个问题,但是由于是电商项目 执行效率的问题肯定是首先要考虑的。 阅读全文

posted @ 2019-01-15 16:47 ExplorerMan 阅读(289) 评论(0) 推荐(0)

2019年1月14日

rabbitmq集群部署及配置

摘要: 消息中间件rabbitmq,一般以集群方式部署,主要提供消息的接受和发送,实现各微服务之间的消息异步。本篇将以rabbitmq+HA方式进行部署。 一、原理介绍 rabbitmq是依据erlang的分布式特性(RabbitMQ底层是通过Erlang架构来实现的,所以rabbitmqctl会启动Erl 阅读全文

posted @ 2019-01-14 20:31 ExplorerMan 阅读(623) 评论(0) 推荐(0)

RabbitMQ用户角色及权限控制(不错)

摘要: ########################用户角色####################### RabbitMQ的用户角色分类:none、management、policymaker、monitoring、administrator RabbitMQ各类角色描述:none不能访问 manag 阅读全文

posted @ 2019-01-14 20:19 ExplorerMan 阅读(681) 评论(0) 推荐(0)

RabbitMQ 权限分离&HA操作文档

摘要: 概要 默认情况下,使用帐号guest帐号登陆MQ,所有用户的queue信息,全部创建在根目录/的virtual host下,而这样,就会导致,任一用户登录后,都能看到其他用户的queue信息。 针对以上情况,就需要各个用户的权限进行分离。 一、配置步骤(假设想要分离的用户为colander,即,使用 阅读全文

posted @ 2019-01-14 19:06 ExplorerMan 阅读(419) 评论(0) 推荐(0)

rabbitmq的vhost与用户管理

摘要: 当我们在创建用户时,会指定用户能访问一个虚拟机,并且该用户只能访问该虚拟机下的队列和交换机,如果没有指定,默认的是”/”;一个rabbitmq服务器上可以运行多个vhost,以便于适用不同的业务需要,这样做既可以满足权限配置的要求,也可以避免不同业务之间队列、交换机的命名冲突问题,因为不同vhost 阅读全文

posted @ 2019-01-14 18:58 ExplorerMan 阅读(253) 评论(0) 推荐(0)

上一页 1 ··· 156 157 158 159 160 161 162 163 164 ··· 234 下一页

导航