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

知名的摄影网站有哪些金华市建设监理协会网站

知名的摄影网站有哪些,金华市建设监理协会网站,高校门户网站开发,长沙cms建站模板消息中间件: 消息中间件基于队列模式实现异步 / 同步传输数据作用:可以实现支撑高并发、异步解耦、流量削峰、降低耦合 传统的 HTTP 请求存在的缺点: HTTP 请求基于响应的模型,在高并发的情况下,客户端发送大量的请求…
  1. 消息中间件:
    1. 消息中间件基于队列模式实现异步 / 同步传输数据
    2. 作用:可以实现支撑高并发、异步解耦、流量削峰、降低耦合
  2. 传统的 HTTP 请求存在的缺点:
    1. HTTP 请求基于响应的模型,在高并发的情况下,客户端发送大量的请求达到服务器端可能会导致我们服务器处理请求堆积
    2. Tomcat 服务器处理每个请求都有自己独立的线程,如果超过最大线程数会将该请求缓存到队列中,如果请求堆积过多的情况下,可能会导致 Tomcat 服务器崩溃的问题
    3. 所以一般都会在 nginx 入口实现限流熔断。网关整合 Sentinal,整合服务保护框架
    4. HTTP 请求处理业务逻辑比较耗时的情况下,容易造成客户端一直等待,阻塞等待过程中会导致客户端超时发生重试策略,可能会引发幂等性问题
    5. 注意事项:接口是 HTTP 协议的情况下,最好不要处理比较耗时的业务逻辑,耗时的业务逻辑应该单独交给线程或者是 MQ 处理
  3. MQ 应用场景:
    1. 异步发送短信
    2. 异步发送新人优惠券
    3. 处理比较耗时的操作
    4. 方式:
      1. 单线程方式:用户需要等待四秒才会执行完毕,体验感极差
        @RestController
        public class MemberService {@RequestMapping("/mq")public String addMember(){// 1.向数据库插入数据System.out.println("注册会员");sms();return "用户注册成功";}public String sms(){System.out.println("发送短信");try {System.out.println("正在发送短信");Thread.sleep(3000);}catch (Exception e){e.printStackTrace();}System.out.println("发送优惠券");System.out.println("短信发送成功");return "短信发送成功";}
        }
    5. 多线程方式:
      1. 创建异步类:
        @RestController
        public class MemberService {@AutowiredMemberServiceAsync memberServiceAsync;@RequestMapping("/mq")public String addMember(){// 1.向数据库插入数据System.out.println("注册会员");//sms();memberServiceAsync.sms();return "用户注册成功";}
        }
      2. 主线程调用副线程:
        @Component
        public class MemberServiceAsync {@Async  //异步注解public String sms(){System.out.println("发送短信");try {System.out.println("正在发送短信");Thread.sleep(3000);}catch (Exception e){e.printStackTrace();}System.out.println("发送优惠券");System.out.println("短信发送成功");return "短信发送成功";}}
      3. 在启动类加上注解:
      4. 多线程启动方式,用户体验感提升,用户注册完毕会员之后不用等待发送短信和优惠券的时间,就可执行别的操作
  4. 多线程处理逻辑:
    1. 用户向数据库中插入一条数据之后,在单独开启一个线程异步发送短信和优惠券操作
    2. 用户只需等待 1 秒
    3. 优点:适合于小项目实现异步
    4. 缺点:可能会消耗服务器 CPU 资源
  5. MQ 处理业务逻辑:
    1. 先向数据库中插入一条会员数据,让后向 MQ 中投递一条数据,MQ 服务器端在将消息推送给消费者异步解耦处理发送短信和优惠券
  6. MQ 与多线程之间的区别:
    1. MQ 可以实现异步 / 解耦 / 流量削峰问题
    2. 多线程也可以实现异步,但是消耗 CPU 资源,没有实现解耦
  7. MQ 消息中间件名词:
    1. Producer 生产者:投递消息到 MQ 服务器端
    2. Consumer 消费者:从 MQ 服务端获取消息处理业务逻辑
    3. Broker:MQ 服务器端
    4. Topic 主题:分类业务逻辑发送短信主题、发送优惠券主题
    5. Queue:存放消息模型、队列
      1. 先进后出,后进先出原则
      2. 底层由数组和链表实现
  8. 主流 MQ 区别对比:
http://www.yayakq.cn/news/289346/

相关文章:

  • 做i网站网站开发敬请期待
  • 网站核验单智慧门店管理服务平台
  • 繁体网站模板不备案的网站能上去吗
  • 小学网站建设实施方案跑车网页制作素材
  • 网站做行测题我图网
  • 网站开发设计公石家庄企业名录大全
  • 博客内容跟网站相关吗上海有什么大企业
  • 洛阳网站建设 恒凯科技怎么做免费的产品网站
  • 网站建设设计师招募江西宜春市城市建设档案馆网站
  • 宜兴做网站哪家好网站导航栏高度
  • 长春做网站的适合医药公司做网站的图片
  • 微信网站开发哪家好知名企业口号
  • 网站建设总结体会国外专门做视频翻译网站
  • 中国矿井建设相关媒体网站怀化网站优化多少钱
  • 东莞建设网站综合服务平台电子商务网站怎么做素材包
  • 东营网站推广公司深圳公司注册代理公司排名
  • 襄阳网站建设关于飞鱼色91Av做爰网站
  • 青岛网站建设系统新媒体培训
  • 网站建设违约责任条款成都网站建设树莓
  • 长沙建网站培训江苏宜安建设有限公司网站
  • 简述建设iis网站的基本过程6建设网站的协议范本
  • 吴志国网站建设工作室新增网站和新增接入
  • 如何查看网站是否降权电商网站建设思路
  • 比较有特色的网站私密浏览器免费版
  • 大多数网站开发现状那个网站专门做二手衣服
  • 长沙哪家网站公司优质院校 建设网站
  • 网站兼容设置谷歌seo济南
  • 网站空间虚拟主机四川省住房建设厅网站
  • 响应式网站制作公司网站js特效
  • 汉沽集团网站建设上海网站制作公司哪家好