微信域名检测,这是近一年来兴起来的一种网络服务,可以通过api接口来对域名进行批量检测,以确认该域名有没有被微信拦截(见红),然后通过编程来实现域名切换保障链接可以正常打开。

涛舅舅工作室从事微信域名检测api这块业务已经有两年多的时间,当初要开发这个api的初衷就是为了配合微信裂变程序。熟悉涛舅舅的都知道,我们是专业作“微信裂变程序”的,通过几年的行业验经和真金白银的测试我们已开发上线了近13套不同的微信裂变程序。微信裂变程序要想自动化跑起来,就必须要内置微信域名检测的模块,所以,我们投入了大量的人力和财力去开发微信域名检测api,并且作到了行业领先水准。

微信域名检测api这块服务,对于后台的技术要求是比较高的,虽然它就是通过一些不同的手段作模拟去微信检测的结果,但这其中要求的技术还是比较多,而且比较复杂。

我们从开始作这块业务已经两年多,但我们的开发迭代工作也同样进行了两年多,并不是想象中的一劳永逸,为什么?因为我们用户多,请求量巨大!

我们作微信域名检测这块起步很早,虽然不是第一家,但我们一直把服务的稳定性要求放在首位,所以很快赢得了第一批用户,我们第一批用户直接是开放了“至尊vip”权限,所谓“至尊vip”就是终身不限时间不限频率使用我们的服务!正因为我们一直信守契约,保证服务质量和后期维护,形成了很好的口碑,这批至尊vip客户一直在为我们推荐新的用户。

随着客户量的不断上升,我们的服务器受到了越来越大的挑战,因为高并发的访问调用,cpu的线程严重吃紧,cpu一度在90%~100%左右徘徊!我们不断的增加cpu的数量和升级内存容量,但这只能是维持一段时间,在不断有新用户加入的情况下,很快又会被顶满,请求的返回速度也明显变慢。

团队上下达成一致结果,要不惜一切代价,保证客户的服务!

我们的工程师日夜不断探索各种可以平衡负载的方式,尝试了各种分流的方式,前后购置了腾讯云8cpu 16g内存的服务器 共8台 100M带宽,每个月服务器的费用就在8万元以上。通过这样的服务器量级,加上各种负载均衡的配置,再加上7*18小时的专人维护,我们现在完全可以满足目前所有用户的快速请求了。我们目前请求量级在千万次/天,每天生产的log文件就达到10G以上!

连我们的工程师都发出感叹,这个项目虽小,但背后要处理的东西太多了!因为我们的用户量请求确实太大了!并且,我们的api是作为裂变程序的内置接口使用,裂变程序的用户请求量本身也很大,所以给我们的压力也很大。目前我们已克服技术上的重重难关,保障了服务的稳定性!!

涛舅舅域名检测官网http://domain.tao-jiujiu.com/

涛舅舅的简书:https://www.jianshu.com/u/e3515c4113ac

跟大家谈一谈:涛舅舅家的微信域名检测api的心路历程的更多相关文章

  1. 从一张图开始,谈一谈.NET Core和前后端技术的演进之路

    从一张图开始,谈一谈.NET Core和前后端技术的演进之路 邹溪源,李文强,来自长沙.NET技术社区 一张图 2019年3月10日,在长沙.NET 技术社区组织的技术沙龙<.NET Core和 ...

  2. 浅谈Virtual Machine Manager(SCVMM 2012) cluster 过载状态检测算法

    在我们使用scvmm2012的时候,经常会看到群集状态变成了这样 点开看属性后,我们发现是这样 . 发现了吗?Over-committed,如果翻译过来就是资源过载,或者说资源过量使用了,那么这个状态 ...

  3. 谈一谈Java8的函数式编程(二) --Java8中的流

    流与集合    众所周知,日常开发与操作中涉及到集合的操作相当频繁,而java中对于集合的操作又是相当麻烦.这里你可能就有疑问了,我感觉平常开发的时候操作集合时不麻烦呀?那下面我们从一个例子说起. 计 ...

  4. 谈一谈泛型(Generic)

    谈一谈泛型 首先,泛型是C#2出现的.这也是C#2一个重要的新特性.泛型的好处之一就是在编译时执行更多的检查. 泛型类型和类型参数 ​ 泛型的两种形式:泛型类型( 包括类.接口.委托和结构 没有泛型枚 ...

  5. 极速创建 IOS APP !涛舅舅苹果 IOS APP自助生成系统正式上线

    经过大量的测试和开发工作,涛舅舅苹果 IOS APP自助生成系统正式上线! 本系统主要功能: 1.用最最简单的方式将H5网站打包生成一个苹果APP 2.只需要提供APP标题,H5网站首页url地址,一 ...

  6. 极速创建 IOS APP !涛舅舅苹果 IOS APP自助生成系统!不用证书、不用越狱、永久可用

    不用签名将网页封装成苹果APP,无需苹果企业签名,IPA签名,ios签名,免越狱安装 (本方法只支持网站封装app,原生的用不了,详细请咨询客服) 近期很多朋友问我把网站变成app的方法,原因很多种, ...

  7. 谈一谈Elasticsearch的集群部署

      Elasticsearch天生就支持分布式部署,通过集群部署可以提高系统的可用性.本文重点谈一谈Elasticsearch的集群节点相关问题,搞清楚这些是进行Elasticsearch集群部署和拓 ...

  8. 谈一谈iOS事件的产生和传递

    谈一谈iOS事件的产生和传递 1.事件的产生 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中. UIApplication会从事件队列中取出最前面的事件,并将事件 ...

  9. 谈一谈对MySQL InnoDB的认识及数据库事物处理的隔离级别

    介绍: InnoDB引擎是MySQL数据库的一个重要的存储引擎,和其他存储引擎相比,InnoDB引擎的优点是支持兼容ACID的事务(类似于PostgreSQL),以及参数完整性(有外键)等.现在Inn ...

随机推荐

  1. python学习05

    数据类型之字典dict.set集合 1).字典dict 1. dict_1={'name':'tom','age':18} 是以键值对(key-value)的方式,其中键是可hash值的,即表示键是唯 ...

  2. 深入理解display属性——前端布局常用重要属性

    小注:display属性在网页布局中非常常见,但经常用到的仅仅是block.inline-block.inline和none等寥寥几个属性值,下面本人将详细介绍display属性的各个方面 定义 di ...

  3. BCM芯片FP原理及相关SDK数据结构介绍

    BCM芯片有几个大的模块: VLAN.L2.L3和FP等几个,其中FP的使用也最为灵活,能解析匹配数据包文的前128字节比特级的内容,动作包括转发.丢弃.结合qos修改相应字段.分配vid.流镜像.流 ...

  4. 关于lnmp下 phalcon和tp框架下的nginx文件配置

    vim /etc/nginx/sites-available/default   进入修改目录 1.正常项目配置 server { listen 80 default_server; listen [ ...

  5. 手把手使用Git?

    下载和安装:Git下载和安装教程 学习使用Git:学习Git 安装TortoiseGit:教程 TortoiseGit与Git生成SSH密钥添加到GitHub账号的简单方法:解决方法

  6. Java位运算原理及使用讲解

    前言日常开发中位运算不是很常用,但是巧妙的使用位运算可以大量减少运行开销,优化算法.举个例子,翻转操作比较常见,比如初始值为1,操作一次变为0,再操作一次变为1.可能的做法是使用三木运算符,判断原始值 ...

  7. php获取脚本执行的参数

    在看PHP文档到预定义变量时碰到了$argc和$argv,顺手记录下 getopt()从命令行参数列表中获取选项 $arg = getopt('d:n:'); //只接收d n之后的参数 $num = ...

  8. DEV控件GridControl常用属性设置(转)

      1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView. ...

  9. openssl 1.1.1 reference

    openssl 1.1.1 include/openssl aes.h: # define HEADER_AES_H aes.h: # define AES_ENCRYPT 1 aes.h: # de ...

  10. Python爬取指定重量的快递价格

    目录 一.获取查询接口 二.获取相关数据 三.编写爬虫脚本 四.查看查询效果 背景:现在这个时代,快递横飞.我们想寄一个快递,给出的选择也是多种多样的(根据快递的大小.送达的时间.寄送的距离及价格.公 ...