当前位置: 首页 > news >正文

手机免费制作自己的网站怎么用手机建网站

手机免费制作自己的网站,怎么用手机建网站,沈阳便宜做网站的,唐山哪个公司可以制作网站MQ 同步通信 异步通信 事件驱动优势#xff1a; 服务解耦 性能提升#xff0c;吞吐量提高 服务没有强依赖#xff0c;不担心级联失败问题 流量消峰 ​ 小结: 大多情况对时效性要求较高#xff0c;所有大多数时间用同步。而如果不需要对方的结果#xff0c;且吞吐…MQ 同步通信 异步通信 事件驱动优势 服务解耦 性能提升吞吐量提高 服务没有强依赖不担心级联失败问题 流量消峰 ​ 小结: 大多情况对时效性要求较高所有大多数时间用同步。而如果不需要对方的结果且吞吐量并发量较高则需要使用异步通信 MQ常见框架 MQ(MessageQueue)消息队列字面来看就是存放消息的队列也就是事件驱动架构中的Broker 消息就是事件比如支付成功了这个事件在MQ中就是一个消息 RabbitMQ,RocketMQ 适合处理业务若需要优化定制则选Rocket因为用Java写的 Kafka 适合处理日志海量数据且对数据安全性要求不高的场景ActiveMQ用的较少 RabbitMQ RabbitMQ概述与安装 RabbitMQ是基于Erlang语言面向并发的语言天生为分布式系统而设计的开发的开源消息通信中间件官网地址https://www.rabbitmq.com/ 参考课前资料(链接https://pan.baidu.com/s/1JuVKKFpUXg8TFxa_FoV3Gg 提取码1468) 来安装RabbitMQ 之后在浏览器输入http://192.168.83.130:15672/ 进入RabbitMQ管理页面按docker run中设置的账号密码进行登录 结果如下 mq整体架构 小结 常见消息模型 HelloWorld 案例 动手实践 案例 完成官方Demo中的hello world案例(链接https://pan.baidu.com/s/1JuVKKFpUXg8TFxa_FoV3Gg 提取码1468) 打开项目将ip调成自己的rabbitmq使用虚拟机或电脑的ip再运行一次PublisherTest中的 testSendMessage() 方法 发送一条消息。再运行ConsumerTest 中main方法来接收消息。 小结 SpringAMQP AMOP(Advanced Message Queuing Protocol)高级消息队列协议大大简化消息发送和接收的代码量且与语言无关 SpringAmqp的官方地址https://spring.io/projects/spring-amqp AMQP依赖 !--AMQP依赖包含RabbitMQ-- dependency groupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId /dependency在配置文件中添加mq连接信息 spring:rabbitmq:host: 192.168.83.130 # 主机名port: 5672 # 端口virtual-host: / # 虚拟主机 username: itcast # 用户名password: 123321 # 密码Basic Queue 简单队列模型 案例利用SpringAMQP实现HelloWorld中的基础消息队列功能 流程如下 1.在父工程中引入spring-amqp的依赖以及在publisher服务中编写配置 2.在publisher服务中利用RabbitTemplate的convertAndSend方法发送消息到simple.queue这个队列 SpringAMQP发送消息步骤引入依赖和设置配置----利用RabbitTemplate的convertAndSend方法 3.在consumer中编写代码接收消息 SpringAMQP接收消息步骤引入依赖和设置配置—》定义类添加Component注解类中声明方法添加RabbitListener注解 Work Queue 工作队列模型 Work queue工作队列可以提高消息处理速度避免队列消息堆积 比如队列 一秒来50条消息 一个消费者一秒处理40条消息那么需要两个消费者才能使得队列中消息被处理不丢失 案例实现一个队列绑定多个消费者 问题rabbitMQ消息预取会将50条消息平均分给消费者1和消费者2但消费者2处理速度慢因此在1s内处理不完publisher发过来的50条消息 解决方案让能者多劳设置preFetch,控制预取消息的上限 小结 发布、订阅模型-Fanout 注意exchange负责消息路由而不是存储queue负责存储路由失败则消息丢失 Fanout Exchange 会将接收到的消息路由到每一个跟其绑定的queue(广播) 案例利用SpringAMQP演示FanoutExchange的使用 step1 在consumer服务中声明Exchange、Queue、Binding绑定关系 step2 在consumer服务声明两个消费者 在consumer服务的SpringRabbitListener类中添加两个方法分别监听fanout.queue1和fanout.queue2 RabbitListener(queues fanout.queue1) public void listenFanoutQueue1(String msg) {System.out.println(消费者1接收到Fanout消息【 msg 】); }RabbitListener(queues fanout.queue2) public void listenFanoutQueue2(String msg) {System.out.println(消费者2接收到Fanout消息【 msg 】); }step3 在publisher服务发送消息到FanoutExchange 在publisher服务的SpringAmqpTest类中添加测试方法 Test public void testFanoutExchange() {// 队列名称 String exchangeName itcast.fanout; // 消息String message hello, everyone!;// 发送消息参数分别是交互机名称、RoutingKey暂时为空、消息 rabbitTemplate.convertAndSend(exchangeName, , message); }小结 发布、订阅模型-Direct 案例利用SpringAMQP演示DirectExchange的使用 步骤一 在consumer服务声明Exchange、Queue 1.在consumer服务中编写两个消费者方法分别监听direct.queue1和direct.queue2 2.并利用RabbitListener声明Exchange、Queue、RoutingKey RabbitListener(bindings QueueBinding(value Queue(name direct.queue1),exchange Exchange(name itcast.direct, type ExchangeTypes.DIRECT),key {red,blue} )) public void listenDirectQueue1(String msg){System.out.println(消费者1........接收到路由消息【 msg 】 LocalTime.now()); }RabbitListener(bindings QueueBinding(value Queue(name direct.queue2),exchange Exchange(name itcast.direct, type ExchangeTypes.DIRECT),key {red,yellow} )) public void listenDirectQueue2(String msg){System.out.println(消费者2........接收到消路由息【 msg 】 LocalTime.now()); }步骤二 在publisher服务发送消息到DirectExchange 在publisher服务的SpringAmqpTest类中添加测试方法 Test public void testDirectExchange() {//交换机名字String exchangeName itcast.direct;//消息String message 红色警报日本乱排核废水导致海洋生物变异惊现哥斯拉;//发送消息参数依次为交换机名称RoutingKey消息rabbitTemplate.convertAndSend(exchangeName, blue, message); }从blue-yellow-red 运行三次得到结果如下 小结 发布、订阅模型-Topic 案例 利用SpringAMQP演示TopicExchange的使用 步骤一在consumer服务声明Exchange、Queue 1.在consumer服务中编写两个消费者方法分别监听topic.queue1和topic.queue2 2.并利用RabbitListener声明Exchange、Queue、RoutingKey RabbitListener(bindings QueueBinding(value Queue(name topic.queue1),exchange Exchange(name itcast.topic, type ExchangeTypes.TOPIC),key china.# )) public void listenTopicQueue1(String msg){System.out.println(消费者1........接收到路由消息【 msg 】 LocalTime.now()); }RabbitListener(bindings QueueBinding(value Queue(name topic.queue2),exchange Exchange(name itcast.topic, type ExchangeTypes.TOPIC),key #.news )) public void listenTopicQueue2(String msg){System.out.println(消费者2........接收到消路由息【 msg 】 LocalTime.now()); }步骤二在publisher服务发送消息到TopicExchange 在publisher服务的SpringAmqpTest类中添加测试方法 Test public void testTopicExchange() {//交换机名字String exchangeName itcast.topic;//消息String message 喜报孙悟空大战哥斯拉胜!;//发送消息参数依次为交换机名称RoutingKey消息rabbitTemplate.convertAndSend(exchangeName, china.news, message); }小结 消息转化器 Spring的对消息对象的处理是由org.springframework.amqp.support.converter.MessageConverter来处理的。而默认实现是SimpleMessageConverter基于JDK的ObjectOutputStream完成序列化。如果要修改只需要定义一个MessageConverter 类型的Bean即可。推荐用JSON方式序列化步骤如下 ​ 在publisher服务引入依赖 dependency groupIdcom.fasterxml.jackson.core/groupId artifactIdjackson-databind/artifactId /dependency​ 在publisher服务声明MessageConverter。原本应该放到配置类中但启动类也是配置类所以可以放启动类中 Bean public MessageConverter jsonMessageConverter(){return new Jackson2JsonMessageConverter(); }案例 测试发送Object类型消息 结果如下(没有更改JDK序列化方式) 使用json序列化器之后 consumer接收消息过程 step1加jackson依赖依赖上面已经放父工程中就不用做了 step2: 将pulisher中相同的MessageConverter放入consumer 启动类中发送方与接收方必须相同 Bean public MessageConverter jsonMessageConverter(){return new Jackson2JsonMessageConverter(); }step3: 定义一个消费者监听object.queue队列并消费消息 RabbitListener(queues object.queue) public void listenObjectQueue(MapString,Object msg){System.out.println(消费者........接收到对象消息【 msg 】 LocalTime.now()); }
http://www.hkea.cn/news/14283878/

相关文章:

  • ui网站建设站评价简单的网站建设方案
  • 定制型网站建设推广百度收录是什么意思
  • 温州建设工程监理管理学会网站wordpress 封ip段
  • 网站开发与设计岗位秦皇岛优化营商环境
  • 南阳网站怎么推广如何做线上销售和推广
  • 四川建设网网网站维护电话深圳seo
  • 四川外国语大学网站建设广州安全教育平台初始密码
  • 科技服务网站建设内容九江网站开发公司
  • 做电商网站用什么系统郑州网约车资格证
  • 小说网站如何建设WordPress文章发布模块
  • 织梦网站 防黑免备案域名注册
  • 做产品网站营销推广南通制作网页多少钱
  • 计算机机应用网站建设与维护免费软件下载网站排行
  • 西安网站制作资源建筑网官网下载
  • 建设银行网站看不到e商网站规划的基本内容不包括
  • 社交网站备案建筑公司100强
  • 招聘网站花钱做的简历有用没wordpress保存帖子数据
  • 精品课程网站建设方案wordpress菜单链接关系
  • 山西省建设厅招标网站首页无锡新区做网站公司
  • 建设企业网站初始必备的六大功能菏泽外贸网站建设公司
  • 小型的电商网站有哪些建设一个网站需要考虑什么
  • 大连市平台网站青岛同拓网站建设有限公司
  • 网站开发计划书模板sina app engine wordpress
  • 巨鹿网站建设wordpress 早起文章
  • 网站建设过程总结wordpress 通讯录
  • diy做网站网站开发从哪开始学
  • 可建网站广州建设行业信息网站
  • 长沙网站建设制作国外网站设计师
  • 做的比较好的分享网站宁波seo运营推广平台排名
  • 自己做网站能赚到广告费吗亚马逊商标备案是否必须做网站