- 博客(9)
- 资源 (63)
- 收藏
- 关注
原创 CentOS6.5 安装MongoDB
mongodb作为一款noqsql类型的非关系文档型数据库,在某些业务场景中如果选择恰当,可以大大优化和提升程序的性能,下面演示一下单机环境下怎么在linux中安装mongodb;1、环境准备,centos6.5,mongodb-linux-x86_64-4.0.9.tar.gz,为了方便我提前在官网下载的安装包,大家可以通过如下命令下载,要看网速,wget https://fastdl.mo...
2019-05-28 23:04:10 28318 1
原创 RocketMq 事务消息使用
在Mq中,由于消息从producer发送出去到最终被消费者消费,中间需要经过mq的服务器进行中转,在rocketMq中即为broker,rabbitmq中为exchange,意思差不多,这样一来消息的投递就有了不确定性,因此在rocketMq中,引入了事务性消息这一概念;1、RocketMq事务消息是保证事务的最终一致性;2、半消息,producer消息投递出去了,到达了broker,但是...
2019-05-26 23:01:53 12643 7
原创 rocketMq 顺序消费
什么是顺序消费?消息有序指的是一类消息消费时,能按照发送的顺序来消费。例如:一个订单产生了 3 条消息,分别是订单创建、订单付款、订单完成。消费时,要按照这个顺序消费才有意义。与此同时多笔订单之间又是可以并行消费的。rocketmq是怎么实现顺序消费的呢?①rocketmq保证同一个订单的消息,一定要发送到同一个队列②并且该队列只有一个消费者,也就是说 同一个队列,不能出现多个消费者并行消...
2019-05-25 18:27:34 2064
原创 RocketMq 消费消息的两种方式 pull 和 push
在RocketMQ中一般有两种获取消息的方式,一个是拉(pull,消费者主动去broker拉取),一个是推(push,主动推送给消费者)区别是:push方式里,consumer把轮询过程封装了,并注册MessageListener监听器,取到消息后,唤醒MessageListener的consumeMessage()来消费,对用户而言,感觉消息是被推送过来的。pull方式里,取消息的过程需要...
2019-05-25 16:28:12 29043 6
原创 RocketMq发送延迟消息
什么是延迟消息?对于消息中间件来说,producer将消息发送到mq的服务器,但并不期望这条消息马上被消费,而是推迟到当前时间点之后的某个时间点后再投递到queue中让consumer进行消费,延迟消息的使用场景很多,一种比较常见的场景就是在电商系统中,订单创建后,会有一个等待用户支付的时间窗口,一般为30分钟,30分钟后consumer收到这条订单消息,然后程序去订单表中检查当前这条订单的支付...
2019-05-25 10:59:51 25663 3
原创 rabbitmq消息确认机制及死信队列的使用
关于rabbitmq的基本概念和相关的理论这里就不做过多介绍了,在之前的篇幅中有过相应的介绍,也可以查询一些资料详细了解一下rabbitmq的基础知识,下面要介绍的点主要包括两个方面,1、rabbitmq的消息确认机制;2、rabbitmq的延时队列,也称作为死信队列的一些研究心得分享为什么会产生消息确认这个概念呢?其实rabbitmq的模式是我们熟悉的典型的观察者模式的具体实现,或者说是监...
2019-05-18 19:11:01 30828 6
原创 java使用百度人脸识别API
随着人工智能和大数据分析技术越来越广泛,众多的生活场景都存在着这些技术的身影,比如像现在比较流行的人脸识别技术,其底层的算法实现的支撑,为众多的业务场景铺垫了基础,像支付宝的刷脸支付,我们在火车站安检经过闸机口时的刷脸识别等,都是上层应用对于这类技术的具体应用,那么其实现原理是怎样的呢?大体来说,我把理解整理成如下步骤,1、用户注册,即首次刷脸之前需通过应用层向人脸数据库提交个人原始照片;...
2019-05-15 23:14:53 15713 7
原创 Spring Boot + SpringSecurity + JWT 实现简单的 restful Api 权限控制
对于前后端分离的项目,后端对于接口访问的权限控制是必须要做的,也就是需要根据用户的权限进行控制,这样才能对我们的接口资源进行一定程度的保护,在一个web项目中,我们的通常做法是,允许登录后的用户进行接口资源的访问,否则就需要进行拦截,比较成熟也比较流行的做法如下图所示,我们大致梳理一下这个认证的流程如下,1、用户访问后端某个接口,或者是需要操作web页面某个功能,如果没有认证,需要进行页面跳...
2019-05-12 22:11:51 16018 1
原创 SpringBoot整合redisson分布式锁
1、为什么要使用分布式锁在分布式场景下为了保证数据最终一致性。在单进程的系统中,存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步(lock—synchronized),使其在修改这种变量时能够线性执行消除并发修改变量。但分布式系统是多部署、多进程的,开发语言提供的并发处理API在此场景下就无能为力了。2.分布式锁的使用场景电商网站用下单操作时需要使用,秒杀活动更...
2019-05-08 23:11:50 54715 6
spring aop实现接口参数变更前后对比和日志记录
2024-05-12
springcloud集成skywalking实现全链路追踪的完整代码
2024-01-07
springboot对接skywalking详解
2023-12-31
spring webflux使用的详细代码
2023-10-26
springboot适配多数据源,多类型数据库代码
2023-07-01
springboot通用限流代码
2023-07-01
springcloud同时整合dubbo与openfeign
2023-05-20
springboot整合sharding-jdbc完整代码
2023-05-14
springboot整合mongodb changestream代码
2022-02-23
SSO案例源码.zip
2021-06-16
fastjson与springboot整合.zip
2021-06-16
spring-IOC代码
2021-06-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人