SpringBoot集成RocketMQ实现各种消息类型 使用RocketMQ有两种方式,一种是引入rocketmq-client需要自己创建生产者和消费者,相对来说比较繁琐;另一种是引入rocketmq-spring-boot-starter(对rocketmq-client进行了封装),发消息和消费消息都比较简洁。这里采用的集成方式是。
Springboot+RocketMQ(7):实现事务消息 分布式事务通俗来说,一次操作由若干分支组成,这些分支操作分属于不同的应用,分布在不同的服务器上,分布式事务需要保证这些操作,分支事务与普通事务一样,就是为了保证操作结果的一致性。
Springboot+RocketMQ(6):实现消息过滤 1.Tag过滤说明:消息发送时可以指定该消息的Tag号,消息存储到CommitLog后会异步转发构建ConsumeQueue,ConsumeQueue条目中包含消息Tag的hashcode值,消费者消费消息会从broker拉取消息,拉取时指定消息必须带有目标Tag值,那么遍历ConsumeQueue条目时会判断条目中Tag的hashcode值是否等于目标Tag的hashcode值,如果相等,说明可能是消费者感兴趣的消息。
Springboot+RocketMQ(5):实现批量消息 1.批量发送消息:批量发送消息能显著提高传递小消息的性能。限制是这些批量消息应该有相同的 topic,相同的 waitStoreMsgOK,而且不能是延时消息。此外,这一批消息的总大小不应超过 4MB。2.批量接收消息:批量接收消息能提高传递小消息的性能,同时与顺序消息配合的情况下,还能根据业务主键对顺序消息进行去重(是否可去重,需要业务来决定),减少消费者对消息的处理3.批量消息使用场景。
Springboot+RocketMQ(4):实现延时消息 对于消息中间件来说,producer 将消息发送到mq的服务器上,但并不希望这条消息马上被消费,而是推迟到当前时间节点之后的某个时间点,再将消息投递到 queue 中让 consumer 进行消费。,例如定时 5s, 10s, 1m 等。其中,level=0 级表示不延时,level=1 表示 1 级延时,level=2 表示 2 级延时,以此类推。类上要加上@RocketMQMessageListener注解,指定topic主题test-topic-delay,以及消费者组test-delay。
Springboot+RocketMQ(3):实现广播消息 RocketMQ消息模式主要有两种:广播模式、集群模式(负载均衡模式)是每个消费者,都会消费消息;是每一个消费只会被某一个消费者消费一次;我们业务上一般用的是负载均衡模式,当然一些特殊场景需要用到广播模式,比如;我们可以通过@的属性值来设置,是广播模式,是默认集群负载均衡模式;下面来介绍下 springboot+rockermq 整合实现 广播消息。
Springboot+RocketMQ(2):实现顺序消息的发送与消费 默认发送的消息是进入多个消息队列,然后消费端多线程并发消费,所以默认情况,不是順序消费消息的;有時候,我们需要顺序消费一批消息,比如电商系统 订单创建、支付、完成操作,需要順序执行;RocketMQTemplate给我们提供了SendOrderly方法(有多個重载),来实现发送顺序消息;,发送同步顺序消息;,发送异步顺序消息;,发送单向顺序消息;一般我们用syncSendOrderly方法发送同步顺序消息。参数一:topic 如果想添加tag,可以使用"topic:tag"的写法。
Springboot+RocketMQ(1):实现简单的消息发送与接收 在这里插入图片描述](https://img-blog.csdnimg.cn/52631e687c594000a8659318b2cd5d71.pn。类上要加上**@RocketMQMessageListener**注解,指定topic主题test-topic,以及消费者组test。SpringBoot给我们提供了RocketMQTemplate模板类,我们利用这个类可以以多种形式发送消息。普通消息的发送方式有3种:单向发送、同步发送和异步发送。发送方法指定Topic主题test-topic。
Tomcat系列——Tomcat运行模式连接数和线程池 Connector的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据;然后分配线程让Engine(也就是Servlet容器)来处理这个请求,并把产生的Request和Response对象传给Engine。当Engine处理完请求后,也会通过Connector将响应返回给客户端。根据协议的不同,Connector可以分为HTTP Connector、AJP Connector等,本文只讨论HTTP Connector。一、三种运行模式Nio、Bio、APR1、Conn
ElasticSearch集群搭建 ES集群搭建(ES-7.12.0)Linux系统参数配置# 文件句柄vi /etc/security/limits.conf* soft nofile 65536* hard nofile 65536* soft nproc 2048* hard nproc 4096# 我选择锁住swapping因此需要在这个配置文件下再增加两行代码* soft memlock unlimited* hard memlock unlimited # 虚拟内存设置sysctl -w vm.max_m
Zookeeper集群搭建 zookeeper集群搭建前提条件至少三台服务器,并且是奇数安装好JDK并配置好环境变量官网下载#解压tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz新建data和log存放日志创建一个dataDir(需要在conf配置中指定位置)目录用于存放数据新建myid#在dataDir目录下创建一个myid文件用于记录该zookeeper在集群中的id(保证唯一就行)#在其他服务器一次执行同样的步骤,比如A服务器myid指定为1,B服务器myid指
Skywalking集群搭建 JDK安装及配置环境变量老生常谈,这个就去问下度娘吧ES集群安装详情见博客ES集群安装:ZK集群安装详情见博客ZK集群安装:Skywalking-oap集群安装官网下载安装包 apache-skywalking-apm-es7-8.5.0.tar.gztar -zxvf apache-skywalking-apm-es7-8.5.0.tar.gz -C /data/install/path修改config/application.yml配置修改注册中心配置# 修改 selector
XSS攻击过滤器实现 一、XSS简介百度百科的解释: XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户游览器的控制,获取用户的一些信息。二、XSS分类xss攻击可以分成两种类型:非持久型攻击持久型攻
SkyWalking 后端服务存储配置 SkyWalking 后端服务存储配置版本:7.0.0描述采集的数据需要存储,提供给相关人员查看系统调用链路信息,因此需要配置存储项。一般在本地尝鲜可以使用默认的h2数据库。可以很快的部署SkyWalking服务,体验相关功能。开发环境可以使用MySQL数据库。测试和生产环境建议使用elasticsearch。配置在application.yml里面,配置storage模块。具体配置项如下:selector:存储选择器elasticsearch:elasticsearch6.X以下配
Spring框架中的afterPropertiesSet方法 一、简单介绍1、init-method方法,初始化bean的时候执行,可以针对某个具体的bean进行配置。init-method需要在applicationContext.xml配置文档中bean的定义里头写明。例如:这样,当TestBean在初始化的时候会执行TestBean中定义的init方法。2、afterPropertiesSet方法,初始化bean的时候执行,可以针对某个具体的bean进行配置。afterPropertiesSet 必须实现 InitializingBean接口。实现 Ini