微信域名检测,这是近一年来兴起来的一种网络服务,可以通过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. docker 容器网络基础

    ======================== docker缺省自带的网络 ======================== host 网络, This enables a container to ...

  2. 开放源代码的设计层面框架Spring——day02

    spring第二天     一.基于注解的IOC配置         1.1写在最前             学习基于注解的IOC配置,大家脑海里首先得有一个认知,即注解配置和xml配置要实现的功能是 ...

  3. 【译】使用 Flutter 实现跨平台移动端开发

    作者: Mike Bluestein   | 原文地址:[https://www.smashingmagazine.com/2018/06/google-flutter-mobile-developm ...

  4. Linux的快捷键一

  5. PHP 【六】

    命名空间 教学网站的内容不知道再怎么“笔记化”,用之即可 面向对象 类定义 创建对象  $xxx = new 类名: 调用成员方法  $xxx->方法名(参数): 举例: <?php cl ...

  6. appniu踩坑

    1.pyCharm识别不到appnium-python-client 解决:新建项目注意选择环境,查看Project Interpreter中是否识别到了appnium-python-client 还 ...

  7. Marshal.PtrToStringAnsi中文乱码

    出错代码: string dec = Marshal.PtrToStringAnsi(audioOutput.psz_description);//输出 鎵0鍣?(Realtek High Defi ...

  8. QT windeployqt

    qt发布release版本时需要打包一些dll,需要哪些呢?请看截图: 在qt的安装包下找到这些文件,放在release文件夹下即可,当然有些时候也会需要一些其他的,比如含有串口的程序还需要加入Qt5 ...

  9. QT删除非空文件夹

    int choose; choose = QMessageBox::warning(NULL,"warning","确定删除该文件?",QMessageBox: ...

  10. MySQL 的安装与使用(一)

    一.Windows 上安装 MySQL 1.Windows 上安装 MySQL 相对来说会较为简单,地那就链接 https://cdn.mysql.com//Downloads/MySQL-8.0/m ...