分布式开发
william199912
服务器端开发,自然语言处理,爬虫
展开
-
数据库与缓存一致性问题
文章目录方案1:Cache Aside Pattern为什么要删除缓存而不是更新方案2:先删除缓存再修改数据库方案3:读请求和写请求串行化解决方案缺点方案1:Cache Aside Pattern读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。更新的时候,先更新数据库,然后再删除缓存。为什么要删除缓存而不是更新1.在复杂点的缓存场景,缓存不单单是数据库中直接取出来的值。比如可能更新了某个表的一个字段,然后其对应的缓存,是需要查询另外两个表的数据并进行运算,原创 2020-10-14 19:28:00 · 128 阅读 · 0 评论 -
spring boot集成Rabbitmq
准备工作maven引用 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>application.propertiesspring.rabbitmq.host=servicei原创 2020-09-12 18:01:30 · 214 阅读 · 0 评论 -
分布式系统session方案
文章目录方案一:Session复制方案二:Session Sticky方案三:基于浏览器Cookie的Session共享方案四:集中式存储database存放SessionRedis,Memcache,Tair存放Session方案一:Session复制利用Websphere Application Server等在服务器间复制session,缺点是复杂的同步机制引入一系列问题方案二:Ses...原创 2019-02-15 21:58:06 · 426 阅读 · 0 评论 -
消息队列的选型
Kafka kafka最初的目的不是数据的存储或者处理,而是用做数据交换。原创 2019-02-27 21:04:54 · 117 阅读 · 0 评论 -
定时任务解决方案
文章目录quartzTBScheduleelastic-jobElastic-Job-Lite-ConsoleSaturncron在很多应用系统中我们常常要定时执行一些任务。比如,订单系统的超时状态判断、定时发短信,定时同步数据等等。常见的处理方式有线程的while(true) 和sleep组合、使用Timer定时器触发任务又或者是使用quartz框架。有些时候为了系统的高可用性,避免单机系统...原创 2019-03-07 11:38:14 · 897 阅读 · 0 评论 -
Redis常用命令
Redis常用命令原创 2017-02-21 10:04:35 · 243 阅读 · 0 评论