zoukankan      html  css  js  c++  java
  • 消息队列理解笔记

    消息队列解决的是将突发大量请求转换为后端能承受的队列请求,比如你的服务器一秒能处理100个订单,但秒杀活动1秒进来1000个订单,持续10秒,在后端能力无法增加的情况下,你可以用消息队列将总共10000个请求压在队列里,后台consumer按原有能力处理,100秒后处理完所有请求(而不是直接宕机丢失订单数据)

    所谓队列,就是按照队首先出的规则建立的数据结构,消息队列就是根据消息到来后按照一定的规则进行排序,但一定是队首的消息先得到应答的队列。
    比如:

    public static String do_post(String url, List<NameValuePair> name_value_pair) throws IOException {
    String body = "{}";
    DefaultHttpClient httpclient = new DefaultHttpClient();
    try {
    HttpPost httpost = new HttpPost(url);
    httpost.setEntity(new UrlEncodedFormEntity(name_value_pair, StandardCharsets.UTF_8));
    HttpResponse response = httpclient.execute(httpost);
    HttpEntity entity = response.getEntity();
    body = EntityUtils.toString(entity);
    } finally {
    httpclient.getConnectionManager().shutdown();
    }
    return body;
    }
    public static String do_get(String url) throws ClientProtocolException, IOException {
    String body = "{}";
    DefaultHttpClient httpclient = new DefaultHttpClient();
    try {
    HttpGet httpget = new HttpGet(url);
    HttpResponse response = httpclient.execute(httpget);
    HttpEntity entity = response.getEntity();
    body = EntityUtils.toString(entity);
    } finally {
    httpclient.getConnectionManager().shutdown();
    }
    return body;
    }

  • 相关阅读:
    idea 使用jedis连接不上 redis解决办法
    EFCore 连接 MySql 间歇性报错:你的主机中的软件中止了一个已建立的连接
    初学Ansible(管理Window主机)
    茹炳晟-API自动化测试笔记
    Xpath路径
    kibana Dev Tools --常用命令
    kibana Dev Tools--修改语句示例
    kibana Dev Tools--增删改查语句
    记一次出名记录
    脚本:bat实现自动转换windows远程端口
  • 原文地址:https://www.cnblogs.com/huangwentian/p/6896990.html
Copyright © 2011-2022 走看看