前言 最近一直奔波于面试,面了几家公司的研发.有让我受益颇多的面试经验,也有让我感觉浪费时间的面试经历~因为疫情原因,最近宅在家里也没事,就想着使用Redis配合事件总线去实现下具体的业务. 需求 一个简单的电商,有几个重要的需求点 商品下单后TODO 存储订单信息 锁定商品库存 消息推送商家端 订单支付后TODO 存储订单支付信息 商品库存减少 消息推送商家端 会员积分调整 技术思路 这里用控制台实现上面的业务功能外,自行编写一个基于C#反射特性的事件总线,方便具体业务事件的后续扩展,比如订单…
前言 上一篇博客上已经实现了使用EventBus对具体事件行为的分发处理,某种程度上也算是基于事件驱动思想编程了.但是如上篇博客结尾处一样,我们源码的执行效率依然达不到心里预期.在下单流程里我们明显可以将部分行为进行异步处理,提升下单操作的执行效率. Redis基础命令 Redis有两种方式可支持我们实现MQ功能,1.使用列表(List)相关命令特性:2.使用publish.subscribe命令特性: 这里我是采取列表相关命令实现. 使用列表(List)相关命令的特性实现 压入数据(发布消息)…
上篇文章讲了在实际项目里的哪些业务场景用到Redis发布订阅,这篇文章就讲一下,在Java中如何实现的. 图解代码结构 发布订阅的理论以及使用场景大家都已经有了大致了解了,但是怎么用代码实现发布订阅呢?在这里给大家分享一下实现方式. 我们以第三种使用场景为例,先来看一下整体实现类图吧. 解释一下,这里我们首先定义一个统一接口`ICacheUpdate`,只有一个`update`方法,我们令`Service`层实现这个方法,执行具体的更新操作. 我们再来看`RedisMsgPubSub`,它继承`…
近日,在开发过程中,写了一个标签 <li id="a1" onclick="doSomething()">...</li> 在js页面中,使用了 $.("#a1").click = function(){ //执行 } 本意想点击时同时触发两个方法,做不同的事情, 后来才发现js中$.("#a1")的方法未执行,问了才得知这样可能会产生方法调用冲突, 解决办法: 1.再写一个标签,两个onclick事件…
一.kafka 简介 今社会各种应用系统诸如商业.社交.搜索.浏览等像信息工厂一样不断的生产出各种信息,在大数据时代,我们面临如下几个挑战: 如何收集这些巨大的信息 如何分析它 如何及时做到如上两点 以上几个挑战形成了一个业务需求模型,即生产者生产(produce)各种信息,消费者消费(consume)(处理分析)这些信息,而在生产者与消费者之间,需要一个沟通两者的桥梁-消息系统.从一个微观层面来说,这种需求也可理解为不同的系统之间如何传递消息. kafka是一种高吞吐量的分布式发布订阅消息系统…
最近给客户做了基于SQLServer的发布订阅的“读写分离”功能,但是某些表数据很大,经常发生某几条数据丢失的问题,导致订阅无法继续进行.但是每次发现问题重新做一次发布订阅又非常消耗时间,所以还得根据“复制监视器”的提示,找到丢失的数据,手工处理. 定位缺失数据 首先,找到出问题的同步语句,在发布服务器的“复制监视器”上事务订阅的详细信息里面,找到出错的信息 尝试的命令: rollback tran (事务序列号: ) 错误消息: 应用复制的命令时在订阅服务器上找不到该行. (源: MSSQLS…
Kafka系统架构Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交日志服务. kafka的架构包括以下组件:话题(Topic):是特定类型的消息流.消息是字节的有效负载(Payload),话题是消息的分类名或种子(Feed)名.生产者(Producer):是能够发布消息到话题的任何对象.服务代理(Broker):已发布的消息保存在一组服务器中,它们被称…
配置发布订阅手册 不同版本须知:https://www.sqlmanager.net/en/articles/1548 向后兼容性:参考https://docs.microsoft.com/zh-cn/sql/relational-databases/replication/replication-backward-compatibility?view=sql-server-2017 1.环境介绍 两台在同一局域网的PC机,这里PC1是作为分发服务器,PC2作为订阅服务器 2.操作前准备 检查几…
(转载)sqlserver关于发布订阅replication_subscription的总结 来自 “ ITPUB博客 ” ,原文地址:http://blog.itpub.net/30126024/viewspace-2639648/,如需转载,请注明出处,否则将追究法律责任. 官方文档https://docs.microsoft.com/zh-cn/sql/relational-databases/replication/subscribe-to-publications?view=sql-s…
      最近在配置SQL 2008的发布订阅功能时,遇到了几个小错误,顺便归纳总结一下(以后碰到各类关于发布订阅的错误都将收录.更新到这篇文章),方便自己在以后碰到这类问题时,能够迅速解决问题.毕竟人的记忆能力有时效性,时间久了,有可能有些东西就模糊了或忘了,好记性不如烂笔头. 错误1:在数据库服务器上新建本地发布服务时报错.                                                         (图1) 报错的具体细节如下所示: TITLE: Ne…