当前位置:主页 > 微信运营 > 我的微信连三界

我的微信连三界

尹家三哥头像
创始人 尹家三哥seo
2019-08-02 22:52 阅读 正文:

  我的微信连三界如何改造微信系统 ?

  如何把微信页面改造成适合缓存的静态页面呢?就是通过前面提及的去除影响因素的方法,即通过动静分离把这些因素独立出来。下面以详情系统(Detail)为例介绍如何做动静分离。

  UrL唯一一化。详情系统天然地就可以做到URL统一化,如每个商品都用ID标识,那么h:/:itm.toa com/itm.htm?d-=xxx就可以作为唯一-的 URL标识。

  分离浏览者相关的因素。浏览者相关的因素包括是否登录以及登录身份等信息,我的微信连三界我们可以把它们单独拆分出来,通过动态请求来获取。分离时间因素。通过动态请求获取服务端输出的时间。

  异步化地域因素。以异步方式获取详情系统上与地域相关的信息。

  去掉Cookie。可以通过代码软件删除服务端输出页面中包含的Cookie,如可以通过unset req.http.cookie命令去掉Varnish中的Cookie.

  分离出动态内容以后,如何组织这些内容也是非常关键的,因为页面中其他模块会用到这些动态内容(比如判断该用户是否登录等)。通过把这些信息JSON化,前端可以很方便地获取它们。

  知道了分离哪些内容,又我的微信连三界知道怎么组织它们,现在的问题就是如何获取它们并把它们和静态文件组装在一起。我们可以通过两种方式获取动态内容: ESI (Edge Side Includes)和CSI ( Client Side Includes )。

  ESI。即在Web代理服务器上做动态内容请求,并将请求插人静态页面中,当用户拿到页面时已经是一个完整的页面。如现在的详情系统就是采用这种方式。这种方式对服务端性能有些影响,但是用户体验较好。

  CSI。即发起一个异步JS请求,单独向微信运营服务端获取动态内容。这种方式下的服务端性能更佳,但是用户端页面略有延时,体验稍差。

  我的微信连三界微信页面系统能解决什么问题

  静态化之前我们围绕Java层面做了很多优化,改进的思路也大多是尽量让应用本身更快地获取数据,更快地计算出结果,然后把结果返给用户。我们做了一个极端的测试:将系统全部的数据缓存,再直接返回所有的请求结果,在这种情况下压测Java系统,结果性能未能满足期望一即达到 2000甚至上万次的QPS-因此在 Java系统上不可能达成目标。

  据此,我们判断Java系统本身已经达到瓶颈,它天生就存在不擅长处理大量连接请求、每个连接消耗的内存较多和Servlet容器解析HTTP协议较慢等弱点。在这种情况下,我们必须跳出Java系统,也就是使请求尽量不经过Java系统,而在前面的Web服务器层就直接返回。于是,我们自然就想到了静态化的架构,微信页面系统成为必然的选择。

  系统静态化为何能达到Java 系统无法达到的高性能呢?系统静态化的优势在于:改变了缓存方式。直接缓存HTTP连接而不是仅仅缓存数据,Web代理服务器根据请求URL直接取出对应的HTTP响应头和响应体并直接返回,这个响应连HTTP协议都不用重新组装,同样也不一定需要解析HTTP请求头,所以能最快地获取数据。

  改变了缓存的位置。我的微信连三界不是在Java层面而是直接在Web服务器层上做缓存,屏蔽了Java层面的一些弱点,深圳微信运营Web服务器(如Ngix、Apache、 Vamish) 都擅长处理大并发的静态文件请求。

热门关键词:   微信公众平台   
预约成都SEO优化师添加微信号:13980934500 了解更多优化技巧
? 著作权归作者所有
上一篇:微信公众号 下一篇:微信网页版登录
尹家三哥seo简介
尹家三哥seo创始人
6年网络营销经验,深度研究营销型SEO,熟悉高难度词SEO优化。
精通白帽SEO优化/黑帽SEO优化/网站建设/老域名注册/网络推广/微信运营等,全方位网络营销服务,让您只需坐在家里等着大量的优质客户流量!
时时彩技巧与攻略 股票配资 配股宝配资 富鑫策略 股票融资100万一天多少利息 贵州十一选五 3d开机号 三种股票指数 新浪股票行情查询 台州股票配资 深圳风采 二分彩 分分彩 深圳风采 辽宁35选7 黑龙江22选5 二分彩