跟大家谈一谈:涛舅舅家的微信域名检测api的心路历程
微信域名检测,这是近一年来兴起来的一种网络服务,可以通过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的心路历程的更多相关文章
- 从一张图开始,谈一谈.NET Core和前后端技术的演进之路
从一张图开始,谈一谈.NET Core和前后端技术的演进之路 邹溪源,李文强,来自长沙.NET技术社区 一张图 2019年3月10日,在长沙.NET 技术社区组织的技术沙龙<.NET Core和 ...
- 浅谈Virtual Machine Manager(SCVMM 2012) cluster 过载状态检测算法
在我们使用scvmm2012的时候,经常会看到群集状态变成了这样 点开看属性后,我们发现是这样 . 发现了吗?Over-committed,如果翻译过来就是资源过载,或者说资源过量使用了,那么这个状态 ...
- 谈一谈Java8的函数式编程(二) --Java8中的流
流与集合 众所周知,日常开发与操作中涉及到集合的操作相当频繁,而java中对于集合的操作又是相当麻烦.这里你可能就有疑问了,我感觉平常开发的时候操作集合时不麻烦呀?那下面我们从一个例子说起. 计 ...
- 谈一谈泛型(Generic)
谈一谈泛型 首先,泛型是C#2出现的.这也是C#2一个重要的新特性.泛型的好处之一就是在编译时执行更多的检查. 泛型类型和类型参数 泛型的两种形式:泛型类型( 包括类.接口.委托和结构 没有泛型枚 ...
- 极速创建 IOS APP !涛舅舅苹果 IOS APP自助生成系统正式上线
经过大量的测试和开发工作,涛舅舅苹果 IOS APP自助生成系统正式上线! 本系统主要功能: 1.用最最简单的方式将H5网站打包生成一个苹果APP 2.只需要提供APP标题,H5网站首页url地址,一 ...
- 极速创建 IOS APP !涛舅舅苹果 IOS APP自助生成系统!不用证书、不用越狱、永久可用
不用签名将网页封装成苹果APP,无需苹果企业签名,IPA签名,ios签名,免越狱安装 (本方法只支持网站封装app,原生的用不了,详细请咨询客服) 近期很多朋友问我把网站变成app的方法,原因很多种, ...
- 谈一谈Elasticsearch的集群部署
Elasticsearch天生就支持分布式部署,通过集群部署可以提高系统的可用性.本文重点谈一谈Elasticsearch的集群节点相关问题,搞清楚这些是进行Elasticsearch集群部署和拓 ...
- 谈一谈iOS事件的产生和传递
谈一谈iOS事件的产生和传递 1.事件的产生 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中. UIApplication会从事件队列中取出最前面的事件,并将事件 ...
- 谈一谈对MySQL InnoDB的认识及数据库事物处理的隔离级别
介绍: InnoDB引擎是MySQL数据库的一个重要的存储引擎,和其他存储引擎相比,InnoDB引擎的优点是支持兼容ACID的事务(类似于PostgreSQL),以及参数完整性(有外键)等.现在Inn ...
随机推荐
- docker 容器网络基础
======================== docker缺省自带的网络 ======================== host 网络, This enables a container to ...
- 开放源代码的设计层面框架Spring——day02
spring第二天 一.基于注解的IOC配置 1.1写在最前 学习基于注解的IOC配置,大家脑海里首先得有一个认知,即注解配置和xml配置要实现的功能是 ...
- 【译】使用 Flutter 实现跨平台移动端开发
作者: Mike Bluestein | 原文地址:[https://www.smashingmagazine.com/2018/06/google-flutter-mobile-developm ...
- Linux的快捷键一
- PHP 【六】
命名空间 教学网站的内容不知道再怎么“笔记化”,用之即可 面向对象 类定义 创建对象 $xxx = new 类名: 调用成员方法 $xxx->方法名(参数): 举例: <?php cl ...
- appniu踩坑
1.pyCharm识别不到appnium-python-client 解决:新建项目注意选择环境,查看Project Interpreter中是否识别到了appnium-python-client 还 ...
- Marshal.PtrToStringAnsi中文乱码
出错代码: string dec = Marshal.PtrToStringAnsi(audioOutput.psz_description);//输出 鎵0鍣?(Realtek High Defi ...
- QT windeployqt
qt发布release版本时需要打包一些dll,需要哪些呢?请看截图: 在qt的安装包下找到这些文件,放在release文件夹下即可,当然有些时候也会需要一些其他的,比如含有串口的程序还需要加入Qt5 ...
- QT删除非空文件夹
int choose; choose = QMessageBox::warning(NULL,"warning","确定删除该文件?",QMessageBox: ...
- MySQL 的安装与使用(一)
一.Windows 上安装 MySQL 1.Windows 上安装 MySQL 相对来说会较为简单,地那就链接 https://cdn.mysql.com//Downloads/MySQL-8.0/m ...