摘要:
业务中很多需求都会用到类似feed流的架构。例如 微信朋友圈 微博 动态 1对N消息。 一般feed流的架构实现有下面几种。假如现在的业务场景是微博,然后当前的数据情况是: 用户A关注了用户B和C,用户D关注了用户B用户B发了微博A,B,用户C发了微博C,D 1. 拉 数据表 微博表(字段有:微博I 阅读全文
摘要:
1、内容简介 本文将简要介绍 WebSocket 的由来、原理机制以及服务端/客户端实现,并以实际客户案例指导并讲解了如何使用 WebSocket 解决实时响应及服务端消息推送方面的问题。本文适用于熟悉 HTML 协议规范和 J2EE Web 编程的读者,旨在帮助读者快速熟悉 HTML5 WebSo 阅读全文
摘要:
两个基本的概念 安全实体:系统需要保护的具体对象数据 权限:系统相关的功能操作,例如基本的CRUD Shiro 首先Shiro较之 Spring Security,Shiro在保持强大功能的同时,还在简单性和灵活性方面拥有巨大优势。 Shiro是一个强大而灵活的开源安全框架,能够非常清晰的处理认证、 阅读全文
摘要:
7.0 driver模块 2018-11-10 22:30:19 6,053 4 driver,顾名思义为驱动。熟悉jdbc编程的同学都知道,当项目中需要操作数据库(oracle、sqlserver、mysql等)时,都需要在项目中引入对应的数据库的驱动。以mysql为例,我们需要引入的是mysql 阅读全文
摘要:
5.0 store模块 2018-10-08 23:14:58 8,328 7 1 store模块简介 store模块用于binlog事件的存储 ,目前开源的版本中仅实现了Memory内存模式。官方文档中提到"后续计划增加本地file存储,mixed混合模式”,这句话大家不必当真,从笔者最开始接触c 阅读全文
摘要:
3.0 server模块 server模块的核心接口是CanalServer,其有2个实现类CanalServerWithNetty、CanalServerWithEmbeded。关于CanalServer,官方文档中有有以下描述: 下图是笔者对官方文档的进一步描述: 左边的图 表示的是Canal独 阅读全文
摘要:
1.0 canal源码分析简介 canal是阿里巴巴开源的mysql数据库binlog的增量订阅&消费组件。项目github地址为:https://github.com/alibaba/canal。 本教程是从源码的角度来分析canal,适用于对canal有一定基础的同学。本教程使用的版本是1.0. 阅读全文
摘要:
背景 Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Mar 阅读全文