微店陈建:运维工程师眼中的移动端优化之路
创始人
2025-01-29 14:01:27
0次

本文是WOT2016互联网运维与开发者大会的现场干货,  新一届主题为WOT2016企业安全技术峰会将在2016年6月24日-25日于北京珠三角JW万豪酒店隆重召开!

陈建是微店的运维工程师,主要从事移动运维和运维自动化方向的一些工作。

 

[[167110]]

从2003年以来,微店可以通过手机为用户提供去网络中心化的服务,完成类似淘宝或者第三方开店的大部分功能,并可以随时分享店铺信息给好友或者到微信朋友圈。用户也可以通过PC版微店完成店铺地理位置标注、工商执照申请等操作。同时现在还有类似于口袋购物、买家版全球购、今日半价,还有海外版的U-shop等功能。

相比其他的演讲,陈建的话题更偏向于运维方面,主要从技术的角度来总结。他从基础服务、自动化和监控等角度展开解读:

基础服务

基础服务这一块,陈建是从NGINX、PHP、DNS、TOMCAT等方面解读微店移动端是如何搭建、如何优化的。

NGINX。NGINX的服务很多,通过它可以在NAT模式下如何通过remote_addr获取真实IP,Header增加请求链路信息,Location rewrite 顺序优化,废弃域名更优雅的跳转,实现全局跨域支持等等。大部分国内的服务都是在NGINX下构建的。

PHP。PHP是后端编程语言的核心,所有承担外部服务API接口是用PHP写的。以上是PHP的常用参数。

我们通过实时分析可以看到一些监控数据,能通过这些可以发现哪些接口可能有问题,不管是由开发造成的还是下游服务造成的,***时间发现一些慢请求。

DNS,现在还是跟传统一些互联网一样,优先使用DNS来做内网解析,但是在DNS前面挂了一层DNSmasq。先说一下配置,默认时间改成了1秒,最小值也是1秒,总共是配了一个本地加三个主DNS。原来DNS在做压力测试的时候会明显感觉很多接口性会比较差,后来通过改造之后,内网DNS比原来健壮了很多,而且对DNS主站的压力也减轻了很多。这个服务在装机的时候默认会配置好,通过程序把它启动起来,一旦它挂了会自动拉起,但是到目前为止是没有遇到过主动挂的情况。

TOMCAT,各个公司根据自己的业务情况都存在不同的调优。在TOMCAT这块主要做了这些:端口做了一下自己的自定义,把它的范围控制在2200-2300之间,单机我们容许一个机器上不超过十个TOMCAT,一旦某个程序有问题不会影响到别的服务。现在新的架构全部都是一台机器单实力、单TOMCAT这样去跑的,走的是类似于KM这样的程序。首先先取到本机的IP,这个值用来做JMX监控,我们会通过动态脚本制作方式把这个机器的监控权加起来,包括TOMDIR取出来,这个变量后面会用到,主要用来删除缓存键,保证每次TOMCAT只要重启都是一个完全干净的环境。

网络优化。首先核心网络是BGP,另外有联通、电信,还有移动专线。好多人可能会觉得为什么有BGP之后还要用其它线路,成本考虑是一方面,更多的是BGP现在没有我们想象中那么好,尤其是涉及到网间结算时,对一些地方的网络会影响比较大。在没有做自动域名链路拆分的时候,每天可能都有几个投诉说微店打不开,或者某一个活动详尽页有问题。后来对所有的链路进行全部拆开,然后多机房多链路全部都打开。微店发展到今天也就是三年左右的时间,我们的规模可能跟大部分大型的互联网公司相比还是差很多,目前这样的结构对我们来说是相对比较合理的一个方案。

陈建从HTTPDNS、HTTPS内容拦截、图画优化以及自动化等方面来阐述微店构建过程中遇到的问题以及后续是如何解决的。

审批机制。对于开发来说每天上线时间是工作日的早晨9点到下午6点,这段时间是可以提交代码的,某些项目,像核心服务会要求完全审批。

监控。监控对于运维来说是非常重要的事情,基础监控就不说了,主要说一说目前在做的应用级别的监控。

这是一个分钟级监控,实际上每个图有两根线。在手机端的监控页面,好多时候我们跟用户沟通,想知道一些基础信息,类似于你的IP是多少,DNS是多少,包括现在访问的CDN节点是多少,这些信息实际上是非常难获取的。后来想办法开发了一套类似这样的监控系统,用户只需要在微信或者是浏览器里面访问这个地址,就能取到这些基础信息。

大数据监控系统。我们每一个业务都是由接口,所有的UL组成。选一个UL之后就可以知道这个UL一些基础信息,错误率包括QUVS等,这是大数据方面正在做的事情。

演讲视频:http://edu.51cto.com/lesson/id-100754.html

【讲师简介】

 [[167112]]

讲师简介:陈建,微店运维专家,***批次加入微店的人员,见证了微店的发展史,也一直努力在为微店的"稳定"、"高效"、"安全"在不听的奋斗,对网络、操作系统及应用等都非常精通,目前主要致力于微店的访问的持续优化。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...