??xml version="1.0" encoding="utf-8" standalone="yes"?>浙江福彩快乐12:BlogJava - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/all专注于Java技?/description>zh-cnTue, 16 Oct 2018 04:08:09 GMTTue, 16 Oct 2018 04:08:09 GMT60MySQLClient 模块安装失败解决办法 - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/waterjava/archive/2018/10/16/433441.html狼爱上狸狼爱上狸Tue, 16 Oct 2018 03:00:00 GMT//www.ot7t.com.cn/waterjava/archive/2018/10/16/433441.html通过pip安装mysqlclient失败报错,报错代码有一大堆。。?我就不上图了?/p>

 

到下面链接安装相应的版本。例?python3.6 就下载cp36

https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient



狼爱上狸 2018-10-16 11:00 发表评论
]]>
2018.10.15 - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/lukelyx/archive/2018/10/15/433440.html逐水而居逐水而居Mon, 15 Oct 2018 12:44:00 GMT//www.ot7t.com.cn/lukelyx/archive/2018/10/15/433440.html//www.ot7t.com.cn/lukelyx/comments/433440.html//www.ot7t.com.cn/lukelyx/archive/2018/10/15/433440.html#Feedback0//www.ot7t.com.cn/lukelyx/comments/commentRss/433440.html//www.ot7t.com.cn/lukelyx/services/trackbacks/433440.html

逐水而居 2018-10-15 20:44 发表评论
]]>
新手入门:零基础理解大型分布式架构的演进历史、技术原理、最佳实?/title><link>//www.ot7t.com.cn/jb2011/archive/2018/10/15/433439.html</link><dc:creator>Jack Jiang</dc:creator><author>Jack Jiang</author><pubDate>Mon, 15 Oct 2018 02:57:00 GMT</pubDate><guid>//www.ot7t.com.cn/jb2011/archive/2018/10/15/433439.html</guid><wfw:comment>//www.ot7t.com.cn/jb2011/comments/433439.html</wfw:comment><comments>//www.ot7t.com.cn/jb2011/archive/2018/10/15/433439.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.ot7t.com.cn/jb2011/comments/commentRss/433439.html</wfw:commentRss><trackback:ping>//www.ot7t.com.cn/jb2011/services/trackbacks/433439.html</trackback:ping><description><![CDATA[<p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">本文引用了阿豪的微信公众号文章分享,感谢原作者的分享?/p><h1>浙江福彩快乐12:1、前言</h1><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">随着社会的发展、互联网技术的进步,以前的大型机服务端架构很显然由于高成本、难维护等原因渐渐地变得不再那么主流了,替代它的就是当下最火的互联网分布式架构?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">从若干年前大行其道的传统大型机到如今的分布式架构,技术发展已经经历了好几个阶段,我们只有弄明白典型互联网架构在各个阶段的演进,才能更好地理解和体会分布式架构的好处,从而有助于我们序设计适合于自已公司、产品或项目的架构(也包括设计即时通讯网专注的IM和消息推送这类系统,因为技术思路的原理都是一脉相承的)。那么本文我们就来聊聊分布式架构的演进过程,希望能给大家带来眼前一亮的感觉?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;"><span style="box-sizing: border-box; font-weight: 700;">点评?/span>即时通讯网作为IM和推送技术研究、学习和分享的社区,整理了大量的跟IM和推广技术有关的基础技术资料(比如网络基础、通信理论、架构基础等),本文内容虽然看起来跟IM和推送技术没有直接的关联性,但因为设计IM和推送系统的技术思路和原理跟典型大型互联网分布式架构都是一脉相承的,因而读懂本文内容对于IM和推送系统的架构设计同样大有裨益?/p><div style="box-sizing: border-box; padding-bottom: 25px; width: 700px; margin-left: -40px; text-align: center; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff;"><div style="box-sizing: border-box; position: relative; z-index: 100; background-color: transparent; transition: background-color 0.1s linear 0s; margin: 0px auto; max-width: 625px; max-height: 214px;"><div style="box-sizing: border-box; z-index: 50; padding-bottom: 214px;"></div><div data-width="625" data-height="214" style="box-sizing: border-box; position: absolute; top: 0px; left: 0px; width: 625px; height: 214px; overflow: hidden;"><img data-original-src="//upload-images.jianshu.io/upload_images/1500839-e1f6a65631bb4982.jpg" src="//upload-images.jianshu.io/upload_images/1500839-e1f6a65631bb4982.jpg" data-original-width="625" data-original-height="214" data-original-format="image/jpeg" data-original-filesize="55677" style="box-sizing: border-box; border: 0px; vertical-align: middle; transition: all 0.15s linear 0s; z-index: 100; opacity: 1; max-width: 100%; height: auto; cursor: zoom-in; display: block; filter: blur(0px);" alt="" /></div></div></div><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;"><span style="box-sizing: border-box; font-weight: 700;">学习交流?/span></p><blockquote style="box-sizing: border-box; padding: 20px; margin: 0px 0px 25px; font-size: 16px; border-left-width: 6px; border-left-color: #b4b4b4; background-color: #f7f7f7; line-height: 30px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; word-break: break-word !important;"><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">- 即时通讯开发交?群:<a target="_blank" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">185926912</a>[推荐]</p><p style="box-sizing: border-box; margin: 0px; line-height: 1.7; word-break: break-word !important;">- 移动端IM开发入门文章:?a target="_blank" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">新手入门一篇就够:从零开发移动端IM</a>?/p></blockquote><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">(本文同步发布于?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">//www.52im.net/thread-2007-1-1.html</a>?/p><h1 class="yibqv">2、相关文?/h1><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">如果你已完全掌握本文的相关知识,请移步继续阅读即时通讯网整理的另一篇:?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">腾讯资深架构师干货总结:一文读懂大型分布式系统设计的方方面?/a>》,该文适合对互联网架构知识有一定了解的程序员阅读和学习,都是不可能多得的技术干货?/p><h1 class="yibqv">3、技术背景说?/h1><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">我们都知道一个成熟的大型网站的系统架构并非一开始就设计的非常完美,也没有一开始就具备高性能、高并发、高可用、安全性等特性,而是随着用户量的增加、业务功能的扩展逐步演变过来的,慢慢的完善的?在这个过程中,开发模式、技术架构等都会随着迭代发生非常大的变化?而针对不同业务特征的系统,各自都会有自己的侧重点,例如像淘宝这类的网站,要解决的重点问题就是海量商品搜索、下单、支付等问题; 像腾讯这类的网站,要解决的是数亿级别用户的实时消息传?而像百度这类的公司所要解决的又是海量数据的搜索。每一个种类的业务都有自己不同的系统架构?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">为了方便展开本文要讲解的内容,我们来简单模拟一个架构演变过程: 我们?javaweb 为例,来搭建一个简单的电商系统,从这个系统中来看系统的演变过程。要注意的是接下来的演示模型?关注的是数据量、访问量提升,网站结构的变化?而不关注具体业务的功能点。其次,这个过程是为了让大家能更好的了解网站演进过程中的一些问题和应对策略?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;"><span style="box-sizing: border-box; font-weight: 700;">假如我们要设计的互联网系统需要具备以下功?</span></p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">1)用户模块:用户注册和管理;</p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">2)商品模?商品展示和管理;</p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">3)交易模?创建交易及支付结算?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">请带着上述3个技术点,继续深入阅读本文的正文内容。干货马上开始了。。?/p><h1 class="yibqv">4、架构演进阶段一:单应用架构</h1><div style="box-sizing: border-box; padding-bottom: 25px; width: 700px; margin-left: -40px; text-align: center; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff;"><div style="box-sizing: border-box; position: relative; z-index: 100; background-color: transparent; transition: background-color 0.1s linear 0s; margin: 0px auto; max-width: 352px; max-height: 320px;"><div style="box-sizing: border-box; z-index: 50; padding-bottom: 320px;"></div><div data-width="352" data-height="320" style="box-sizing: border-box; position: absolute; top: 0px; left: 0px; width: 352px; height: 320px; overflow: hidden;"><img data-original-src="//upload-images.jianshu.io/upload_images/1500839-3d2d90961f60bd0f.jpg" src="//upload-images.jianshu.io/upload_images/1500839-3d2d90961f60bd0f.jpg" data-original-width="352" data-original-height="320" data-original-format="image/jpeg" data-original-filesize="27794" style="box-sizing: border-box; border: 0px; vertical-align: middle; transition: all 0.15s linear 0s; z-index: 100; opacity: 1; max-width: 100%; height: auto; cursor: zoom-in; display: block; filter: blur(0px);" alt="" /></div></div></div><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">如上图所示,这个阶段是网站的初期,也可以认为是互联网发展的早期,系统架构如上图所示。我们经常会在单台服务器上运行我们所有的程序和软件?把所有软件和应用都部署在一台机器上,这样就完成一个简单系统的搭建,这个阶段的讲究的是效率。效率决定生死?/p><h1 class="yibqv">5、架构演进阶段二:应用服务器和数据库服务器分?/h1><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">随着网站的上线,访问量逐步上升,服务器的负载慢慢提高,我们应该在服务器还没有超载的时候就做好规划、提升网站的负载能力。假若此时已经没办法在代码层面继续优化提高,那么在单台机器的性能遇到瓶颈的时候,增加机器是一个比较简单好用的方式,投入产出比相当高。这个阶段增加机器的主要目的是将 web 服务器和 数据库服务器拆分开来,这样做的话不仅提高了单机的负载能力,也提高了整个系统的容灾能力?/p><div style="box-sizing: border-box; padding-bottom: 25px; width: 700px; margin-left: -40px; text-align: center; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff;"><div style="box-sizing: border-box; position: relative; z-index: 100; background-color: transparent; transition: background-color 0.1s linear 0s; margin: 0px auto; max-width: 492px; max-height: 350px;"><div style="box-sizing: border-box; z-index: 50; padding-bottom: 350px;"></div><div data-width="492" data-height="350" style="box-sizing: border-box; position: absolute; top: 0px; left: 0px; width: 492px; height: 350px; overflow: hidden;"><img data-original-src="//upload-images.jianshu.io/upload_images/1500839-a2de5f5f47a06f3c.jpg" src="//upload-images.jianshu.io/upload_images/1500839-a2de5f5f47a06f3c.jpg" data-original-width="492" data-original-height="350" data-original-format="image/jpeg" data-original-filesize="39337" style="box-sizing: border-box; border: 0px; vertical-align: middle; transition: all 0.15s linear 0s; z-index: 100; opacity: 1; max-width: 100%; height: auto; cursor: zoom-in; display: block; filter: blur(0px);" alt="" /></div></div></div><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">这个阶段的系统架构如上图所示,应用服务器和数据库服务器完全隔离开来,相互互不影响,大大减少了网站宕机的风险,此阶段我们已经开始关注到应用服务器的管理了?nbsp;</p><h1 class="yibqv">6、架构演进阶段三:应用服务器集群</h1><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">这个阶段,随着访问量的继续不断增加,单台应用服务器已经无法满足我们的需求?假设我的数据库服务器还没有遇到性能问题,那我们可以通过增加应用服务器的方式来将应用服务器集群化,这样就可以将用户请求分流到各个服务器中,从而达到继续提升系统负载能力的目的。此时各个应用服务器之间没有直接的交互,他们都是依赖数据库各自对外提供服务?/p><div style="box-sizing: border-box; padding-bottom: 25px; width: 700px; margin-left: -40px; text-align: center; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff;"><div style="box-sizing: border-box; position: relative; z-index: 100; background-color: transparent; transition: background-color 0.1s linear 0s; margin: 0px auto; max-width: 622px; max-height: 319px;"><div style="box-sizing: border-box; z-index: 50; padding-bottom: 319.016px;"></div><div data-width="622" data-height="319" style="box-sizing: border-box; position: absolute; top: 0px; left: 0px; width: 622px; height: 319px; overflow: hidden;"><img data-original-src="//upload-images.jianshu.io/upload_images/1500839-5bd6aacd75564e8c.jpg" src="//upload-images.jianshu.io/upload_images/1500839-5bd6aacd75564e8c.jpg" data-original-width="622" data-original-height="319" data-original-format="image/jpeg" data-original-filesize="48699" style="box-sizing: border-box; border: 0px; vertical-align: middle; transition: all 0.15s linear 0s; z-index: 100; opacity: 1; max-width: 100%; height: auto; cursor: zoom-in; display: block; filter: blur(0px);" alt="" /></div></div></div><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;"><span style="box-sizing: border-box; font-weight: 700;">系统架构发展到这个阶段,各种问题也会接踵而至?/span></p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">1)用户请求交由谁来转发到具体的应用服务器?谁来负责负载均衡)?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">2)用户如果每次访问到的服务器不一样,那么如何维护session,达到session共享的目的?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">那么此时,系统架构又会变成如下方式:</p><div style="box-sizing: border-box; padding-bottom: 25px; width: 700px; margin-left: -40px; text-align: center; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff;"><div style="box-sizing: border-box; position: relative; z-index: 100; background-color: transparent; transition: background-color 0.1s linear 0s; margin: 0px auto; max-width: 673px; max-height: 556px;"><div style="box-sizing: border-box; z-index: 50; padding-bottom: 556.031px;"></div><div data-width="673" data-height="556" style="box-sizing: border-box; position: absolute; top: 0px; left: 0px; width: 673px; height: 556px; overflow: hidden;"><img data-original-src="//upload-images.jianshu.io/upload_images/1500839-3f8539e13254f731.jpg" src="//upload-images.jianshu.io/upload_images/1500839-3f8539e13254f731.jpg" data-original-width="673" data-original-height="556" data-original-format="image/jpeg" data-original-filesize="46966" style="box-sizing: border-box; border: 0px; vertical-align: middle; transition: all 0.15s linear 0s; z-index: 100; opacity: 1; max-width: 100%; height: auto; cursor: zoom-in; display: block; filter: blur(0px);" alt="" /></div></div></div><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">负载均衡又可以分为软负载和硬负载。软负载我们可以选择Nginx、Apache等,硬负载我们可以选择F5等。而session共享问题我们可以通过配置tomcat的session共享解决?/p><h1 class="yibqv">7、架构演进阶段四:数据库压力变大,数据库读写分离</h1><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">架构演变到上面的阶段,并不是终点。通过上面的设计,应用层的性能被我们拉上来了, 但数据库的负载也在逐渐增大,那如何去提高数据库层面的性能呢?有了前面的设计思路以后,我们自然也会想到通过增加服务器来提高性能。但假如我们单纯的把数据库一分为二,然后对于数据库的请求,分别负载到两台数据库服务器上,那必定会造成数据库数据不统一的问题?nbsp;</p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">所以我们一般先考虑将数据库读写分离,如下图所示?/p><div style="box-sizing: border-box; padding-bottom: 25px; width: 700px; margin-left: -40px; text-align: center; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff;"><div style="box-sizing: border-box; position: relative; z-index: 100; background-color: transparent; transition: background-color 0.1s linear 0s; margin: 0px auto; max-width: 700px; max-height: 676px;"><div style="box-sizing: border-box; z-index: 50; padding-bottom: 676.047px;"></div><div data-width="760" data-height="734" style="box-sizing: border-box; position: absolute; top: 0px; left: 0px; width: 700px; height: 676px; overflow: hidden;"><img data-original-src="//upload-images.jianshu.io/upload_images/1500839-89ff21ca22421c6b.jpg" src="//upload-images.jianshu.io/upload_images/1500839-89ff21ca22421c6b.jpg" data-original-width="760" data-original-height="734" data-original-format="image/jpeg" data-original-filesize="65241" style="box-sizing: border-box; border: 0px; vertical-align: middle; transition: all 0.15s linear 0s; z-index: 100; opacity: 1; max-width: 100%; height: auto; cursor: zoom-in; display: block; filter: blur(0px);" alt="" /></div></div></div><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;"><span style="box-sizing: border-box; font-weight: 700;">这个架构设计的变化会带来如下几个问题?/span></p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">1)主从数据库之间的数据需要同?可以使用 mysql 自带?master-slave 方式实现主从复制 )?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">2)应用中需要根据业务进行对应数据源的选择( 采用第三方数据库中间件,例如 mycat )?/p><h1 class="yibqv">8、架构演进阶段五:使用搜索引擎缓解读库的压力</h1><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">我们都知道数据库常常对模糊查找效率不是很高,像电商类的网站,搜索是非常核心的功能,即使是做了读写分离,这个问题也不能得到有效解决。那么这个时候我们就需要引入搜索引擎了,使用搜索引擎能够大大提升我们系统的查询速度,但同时也会带来一 些附加的问题,比如维护索引的构建、数据同步到搜索引擎等?/p><div style="box-sizing: border-box; padding-bottom: 25px; width: 700px; margin-left: -40px; text-align: center; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff;"><div style="box-sizing: border-box; position: relative; z-index: 100; background-color: transparent; transition: background-color 0.1s linear 0s; margin: 0px auto; max-width: 700px; max-height: 581px;"><div style="box-sizing: border-box; z-index: 50; padding-bottom: 581.766px;"></div><div data-width="882" data-height="733" style="box-sizing: border-box; position: absolute; top: 0px; left: 0px; width: 700px; height: 581px; overflow: hidden;"><img data-original-src="//upload-images.jianshu.io/upload_images/1500839-50f72efdb31c4118.jpg" src="//upload-images.jianshu.io/upload_images/1500839-50f72efdb31c4118.jpg" data-original-width="882" data-original-height="733" data-original-format="image/jpeg" data-original-filesize="78316" style="box-sizing: border-box; border: 0px; vertical-align: middle; transition: all 0.15s linear 0s; z-index: 100; opacity: 1; max-width: 100%; height: auto; cursor: zoom-in; display: block; filter: blur(0px);" alt="" /></div></div></div><h1 class="yibqv">9、架构演进阶段六:引入缓存机制缓解数据库的压?/h1><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">然后,随着访问量的持续不断增加,逐渐会出现许多用户访问同一内容的情况,那么对于这些热点数据,没必要每次都从数据库重读取,这时我们可以使用到缓存技术,比如 redis、memcache 来作为我们应用层的缓存?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">另外在某些场景下,如我们对用户的某些 IP 的访问频率做限制?那这个放内存中就又不合适,放数据库又太麻烦了,那这个时候可以使?Nosql 的方式比?mongDB 来代替传统的关系型数据库?/p><div style="box-sizing: border-box; padding-bottom: 25px; width: 700px; margin-left: -40px; text-align: center; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff;"><div style="box-sizing: border-box; position: relative; z-index: 100; background-color: transparent; transition: background-color 0.1s linear 0s; margin: 0px auto; max-width: 700px; max-height: 536px;"><div style="box-sizing: border-box; z-index: 50; padding-bottom: 536.547px;"></div><div data-width="925" data-height="709" style="box-sizing: border-box; position: absolute; top: 0px; left: 0px; width: 700px; height: 536px; overflow: hidden;"><img data-original-src="//upload-images.jianshu.io/upload_images/1500839-954710e120ff7cbe.jpg" src="//upload-images.jianshu.io/upload_images/1500839-954710e120ff7cbe.jpg" data-original-width="925" data-original-height="709" data-original-format="image/jpeg" data-original-filesize="81274" style="box-sizing: border-box; border: 0px; vertical-align: middle; transition: all 0.15s linear 0s; z-index: 100; opacity: 1; max-width: 100%; height: auto; cursor: zoom-in; display: block; filter: blur(0px);" alt="" /></div></div></div><h1 class="yibqv">10、架构演进阶段七:数据库的水?垂直拆分</h1><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">我们的网站演进的变化过程,交易、商品、用户的数据都还在同一 个数据库中,尽管采取了增加缓存,读写分离的方式,但是随着?据库的压力持续增加,数据库的瓶颈仍然是个最大的问题。因此我 们可以考虑对数据的垂直拆分和水平拆分?/p><div style="box-sizing: border-box; padding-bottom: 25px; width: 700px; margin-left: -40px; text-align: center; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff;"><div style="box-sizing: border-box; position: relative; z-index: 100; background-color: transparent; transition: background-color 0.1s linear 0s; margin: 0px auto; max-width: 700px; max-height: 546px;"><div style="box-sizing: border-box; z-index: 50; padding-bottom: 546.125px;"></div><div data-width="919" data-height="717" style="box-sizing: border-box; position: absolute; top: 0px; left: 0px; width: 700px; height: 546px; overflow: hidden;"><img data-original-src="//upload-images.jianshu.io/upload_images/1500839-586915dbf7b1ab89.jpg" src="//upload-images.jianshu.io/upload_images/1500839-586915dbf7b1ab89.jpg" data-original-width="919" data-original-height="717" data-original-format="image/jpeg" data-original-filesize="86148" style="box-sizing: border-box; border: 0px; vertical-align: middle; transition: all 0.15s linear 0s; z-index: 100; opacity: 1; max-width: 100%; height: auto; cursor: zoom-in; display: block; filter: blur(0px);" alt="" /></div></div></div><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">垂直拆分:把数据库中不同业务数据拆分到不同的数据库;</p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">水平拆分:把同一个表中的数据拆分到两个甚至更多的数据库中,水平拆分的原因是某些业务数据量已经达到了单个数据库的瓶颈,这时可以采取将表拆分到多个数据库中?/p><div style="box-sizing: border-box; padding-bottom: 25px; width: 700px; margin-left: -40px; text-align: center; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff;"><div style="box-sizing: border-box; position: relative; z-index: 100; background-color: transparent; transition: background-color 0.1s linear 0s; margin: 0px auto; max-width: 700px; max-height: 538px;"><div style="box-sizing: border-box; z-index: 50; padding-bottom: 538.781px;"></div><div data-width="916" data-height="705" style="box-sizing: border-box; position: absolute; top: 0px; left: 0px; width: 700px; height: 538px; overflow: hidden;"><img data-original-src="//upload-images.jianshu.io/upload_images/1500839-129ed1bb7db0ccd1.jpg" src="//upload-images.jianshu.io/upload_images/1500839-129ed1bb7db0ccd1.jpg" data-original-width="916" data-original-height="705" data-original-format="image/jpeg" data-original-filesize="88949" style="box-sizing: border-box; border: 0px; vertical-align: middle; transition: all 0.15s linear 0s; z-index: 100; opacity: 1; max-width: 100%; height: auto; cursor: zoom-in; display: block; filter: blur(0px);" alt="" /></div></div></div><h1 class="yibqv">11、架构演进阶段八:应用的拆分</h1><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">随着业务的发展,业务量越来越大,应用的压力越来越大。工程规模也越来越庞大。这个时候就可以考虑将应用拆分,按照领域模型将我们的用户、商品、交易拆分成多个子系统?/p><div style="box-sizing: border-box; padding-bottom: 25px; width: 700px; margin-left: -40px; text-align: center; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff;"><div style="box-sizing: border-box; position: relative; z-index: 100; background-color: transparent; transition: background-color 0.1s linear 0s; margin: 0px auto; max-width: 700px; max-height: 549px;"><div style="box-sizing: border-box; z-index: 50; padding-bottom: 549.906px;"></div><div data-width="919" data-height="722" style="box-sizing: border-box; position: absolute; top: 0px; left: 0px; width: 700px; height: 549px; overflow: hidden;"><img data-original-src="//upload-images.jianshu.io/upload_images/1500839-fdc3933212712ca2.jpg" src="//upload-images.jianshu.io/upload_images/1500839-fdc3933212712ca2.jpg" data-original-width="919" data-original-height="722" data-original-format="image/jpeg" data-original-filesize="100402" style="box-sizing: border-box; border: 0px; vertical-align: middle; transition: all 0.15s linear 0s; z-index: 100; opacity: 1; max-width: 100%; height: auto; cursor: zoom-in; display: block; filter: blur(0px);" alt="" /></div></div></div><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">这样拆分以后,可能会有一些相同的代码,比如用户操作,在商品和交易都需要查询,所以会导致每个系统都会有用户查询访问相关操作。这些相同的操作一定是要抽象出来,否则就是一个坑。所以通过走服务化路线的方式来解决?/p><div style="box-sizing: border-box; padding-bottom: 25px; width: 700px; margin-left: -40px; text-align: center; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff;"><div style="box-sizing: border-box; position: relative; z-index: 100; background-color: transparent; transition: background-color 0.1s linear 0s; margin: 0px auto; max-width: 700px; max-height: 544px;"><div style="box-sizing: border-box; z-index: 50; padding-bottom: 544.109px;"></div><div data-width="916" data-height="712" style="box-sizing: border-box; position: absolute; top: 0px; left: 0px; width: 700px; height: 544px; overflow: hidden;"><img data-original-src="//upload-images.jianshu.io/upload_images/1500839-067d257e12ab743c.jpg" src="//upload-images.jianshu.io/upload_images/1500839-067d257e12ab743c.jpg" data-original-width="916" data-original-height="712" data-original-format="image/jpeg" data-original-filesize="98993" style="box-sizing: border-box; border: 0px; vertical-align: middle; transition: all 0.15s linear 0s; z-index: 100; opacity: 1; max-width: 100%; height: auto; cursor: zoom-in; display: block; filter: blur(0px);" alt="" /></div></div></div><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">那么服务拆分以后,各个服务之间如何进行远程通信? 通过 RPC 技术,比较典型的有:dubbo、webservice、hessian、http、RMI 等等。前期通过这些技术能够很好的解决各个服务之间通信问题,但是, 互联网的发展是持续的,所以架构的演变和优化也还在持续?/p><h1 class="yibqv">12、本文小?/h1><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">通过本文,我们通过一个电商的案例,就了解到了分布式架构的演进过程,一环套一环,环环紧密相扣。都是通过业务量和访问量的提升来考虑重构架构设计,以便能够适应当前的环境。不可一蹴而就,也急不来,初创企业必须稳扎稳打,一步一个脚印的走出一条专属自己的路?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">本文主要针对的是零基础初学者,如果您想深入了解相关知识,请继续阅读?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">腾讯资深架构师干货总结:一文读懂大型分布式系统设计的方方面?/a>》?/p><h1 class="yibqv">附录:更多架构方面的技术文?/h1><blockquote style="box-sizing: border-box; padding: 20px; margin: 0px 0px 25px; font-size: 16px; border-left-width: 6px; border-left-color: #b4b4b4; background-color: #f7f7f7; line-height: 30px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; word-break: break-word !important;"><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">浅谈IM系统的架构设?/a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">简述移动端IM开发的那些坑:架构设计、通信协议和客户端</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">一套海量在线用户的移动端IM架构设计实践分享(含详细图?</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">一套原创分布式即时通讯(IM)系统理论架构方案</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">从零到卓越:京东客服即时通讯系统的技术架构演进历?/a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">蘑菇街即时通讯/IM服务器开发之架构选择</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">腾讯QQ1.4亿在线用户的技术挑战和架构演进之路PPT</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">微信后台基于时间序的海量数据冷热分级架构设计实践</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">微信技术总监谈架构:微信之道——大道至简(演讲全文)</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">如何解读《微信技术总监谈架构:微信之道——大道至简?/a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">快速裂变:见证微信强大后台架构??的演进历程(一?/a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">17年的实践:腾讯海量产品的技术方法论</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">移动端IM中大规模群消息的推送如何保证效率、实时性?</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">现代IM系统中聊天消息的同步和存储方案探?/a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">IM开发基础知识补课(?:如何设计大量图片文件的服务端存储架构?</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">IM开发基础知识补课(?:快速理解服务端数据库读写分离原理及实践建议</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">IM开发基础知识补课(?:正确理解HTTP短连接中的Cookie、Session和Token</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">WhatsApp技术实践分享:32人工程团队创造的技术神?/a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">微信朋友圈千亿访问量背后的技术挑战和实践总结</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">王者荣耀2亿用户量的背后:产品定位、技术架构、网络方案等</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">IM系统的MQ消息中间件选型:Kafka还是RabbitMQ?/a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">腾讯资深架构师干货总结:一文读懂大型分布式系统设计的方方面?/a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">以微博类应用场景为例,总结海量社交系统的架构设计步?/a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">快速理解高性能HTTP服务端的负载均衡技术原?/a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">子弹短信光鲜的背后:网易云信首席架构师分享亿级IM平台的技术实?/a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">知乎技术分享:从单机到2000万QPS并发的Redis高性能缓存实践之路</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">IM开发基础知识补课(?:通俗易懂,正确理解并用好MQ消息队列</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">微信技术分享:微信的海量IM聊天消息序列号生成实践(算法原理篇)</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">微信技术分享:微信的海量IM聊天消息序列号生成实践(容灾方案篇)</a>?/p><p style="box-sizing: border-box; margin: 0px 0px 25px; line-height: 1.7; word-break: break-word !important;">?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">新手入门:零基础理解大型分布式架构的演进历史、技术原理、最佳实?/a>?/p><p style="box-sizing: border-box; margin: 0px; line-height: 1.7; word-break: break-word !important;">>> <a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">更多同类文章 ……</a></p></blockquote><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; font-size: 16px; background-color: #ffffff; word-break: break-word !important;">(本文同步发布于?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">//www.52im.net/thread-2007-1-1.html</a>?/p><img src ="//www.ot7t.com.cn/jb2011/aggbug/433439.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.ot7t.com.cn/jb2011/" target="_blank">Jack Jiang</a> 2018-10-15 10:57 <a href="//www.ot7t.com.cn/jb2011/archive/2018/10/15/433439.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Chrome浏览器所有页面全部崩?崩溃啦!(解决办法) - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/void241/archive/2018/10/12/433436.htmlvoidvoidFri, 12 Oct 2018 03:06:00 GMT//www.ot7t.com.cn/void241/archive/2018/10/12/433436.html//www.ot7t.com.cn/void241/comments/433436.html//www.ot7t.com.cn/void241/archive/2018/10/12/433436.html#Feedback0//www.ot7t.com.cn/void241/comments/commentRss/433436.html//www.ot7t.com.cn/void241/services/trackbacks/433436.htmlChrome浏览器一进入就全面崩溃,包括设置页面?/span>

解决办法?/span>

原因就是 C:\Windows\System32\drivers\bd0001.sys 这个文件

可以把这个文件删除,或者重命名,删除或者重命名后一定要重启电脑,再打开Chrome就OK了?/span>



void 2018-10-12 11:06 发表评论
]]>
Samba - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/javavle/archive/2018/10/11/433433.htmlvieryvieryThu, 11 Oct 2018 05:43:00 GMT//www.ot7t.com.cn/javavle/archive/2018/10/11/433433.html//www.ot7t.com.cn/javavle/comments/433433.html//www.ot7t.com.cn/javavle/archive/2018/10/11/433433.html#Feedback0//www.ot7t.com.cn/javavle/comments/commentRss/433433.html//www.ot7t.com.cn/javavle/services/trackbacks/433433.html阅读全文

viery 2018-10-11 13:43 发表评论
]]>
微信技术分享:微信的海量IM聊天消息序列号生成实践(算法原理篇) - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/jb2011/archive/2018/10/10/433431.htmlJack JiangJack JiangWed, 10 Oct 2018 07:16:00 GMT//www.ot7t.com.cn/jb2011/archive/2018/10/10/433431.html//www.ot7t.com.cn/jb2011/comments/433431.html//www.ot7t.com.cn/jb2011/archive/2018/10/10/433431.html#Feedback0//www.ot7t.com.cn/jb2011/comments/commentRss/433431.html//www.ot7t.com.cn/jb2011/services/trackbacks/433431.html阅读全文

Jack Jiang 2018-10-10 15:16 发表评论
]]>
Btrfs介绍与使?/title><link>//www.ot7t.com.cn/javavle/archive/2018/10/10/433430.html</link><dc:creator>viery</dc:creator><author>viery</author><pubDate>Wed, 10 Oct 2018 05:08:00 GMT</pubDate><guid>//www.ot7t.com.cn/javavle/archive/2018/10/10/433430.html</guid><wfw:comment>//www.ot7t.com.cn/javavle/comments/433430.html</wfw:comment><comments>//www.ot7t.com.cn/javavle/archive/2018/10/10/433430.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.ot7t.com.cn/javavle/comments/commentRss/433430.html</wfw:commentRss><trackback:ping>//www.ot7t.com.cn/javavle/services/trackbacks/433430.html</trackback:ping><description><![CDATA[     摘要:   <a href='//www.ot7t.com.cn/javavle/archive/2018/10/10/433430.html'>阅读全文</a><img src ="//www.ot7t.com.cn/javavle/aggbug/433430.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.ot7t.com.cn/javavle/" target="_blank">viery</a> 2018-10-10 13:08 <a href="//www.ot7t.com.cn/javavle/archive/2018/10/10/433430.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MYSQL日志查询 - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/vickzhu/archive/2018/10/09/433429.html????Tue, 09 Oct 2018 08:59:00 GMT//www.ot7t.com.cn/vickzhu/archive/2018/10/09/433429.html//www.ot7t.com.cn/vickzhu/comments/433429.html//www.ot7t.com.cn/vickzhu/archive/2018/10/09/433429.html#Feedback0//www.ot7t.com.cn/vickzhu/comments/commentRss/433429.html//www.ot7t.com.cn/vickzhu/services/trackbacks/433429.html##通用查询日志:记录建立的客户端连接和执行的语?/div>
##慢查询日志:记录所有执行时间超过long_query_time值的所有查询或者不使用索引的查?/div>
##查看数据库版?/div>
SHOW VARIABLES LIKE '%version%';
##查看通用查询日志
SHOW VARIABLES LIKE '%general%';
##设置通用查询日志为开?/div>
SET GLOBAL general_log=ON;
##设置通用查询日志为关?/div>
SET GLOBAL general_log=OFF;
##查看当前慢查询日志输出的格式,可以是FILE(存储在数数据库的数据文件中的hostname.log),也可以是TABLE(存储在数据库中的mysql.general_log?/div>
SHOW VARIABLES LIKE '%log_output%';
##设置查询日志输出到文?/div>
SET GLOBAL log_output='file';
##设置慢查询日志保存的文件
SET GLOBAL slow_query_log_file="/var/lib/mysql/localhost-slow.log";
##查看慢查询相关设?/div>
SHOW VARIABLES LIKE '%slow_query%';
##设置慢查询阈值为1,默认为10
SET GLOBAL long_query_time=1;
##设置慢查询阈值为10,默认为10
SET GLOBAL long_query_time=10;
##查看慢查询的阈?/div>
SHOW GLOBAL VARIABLES LIKE '%long_query_time%';
##查看有多少慢查询
SHOW GLOBAL STATUS LIKE '%Slow_queries%';
##睡眠11秒,测试慢查?/div>
##select SLEEP(11);


?? 2018-10-09 16:59 发表评论
]]> 手把手教你读取Android版微信和手Q的聊天记?仅作技术研究学? - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/jb2011/archive/2018/10/08/433426.htmlJack JiangJack JiangMon, 08 Oct 2018 03:33:00 GMT//www.ot7t.com.cn/jb2011/archive/2018/10/08/433426.html//www.ot7t.com.cn/jb2011/comments/433426.html//www.ot7t.com.cn/jb2011/archive/2018/10/08/433426.html#Feedback0//www.ot7t.com.cn/jb2011/comments/commentRss/433426.html//www.ot7t.com.cn/jb2011/services/trackbacks/433426.html阅读全文

Jack Jiang 2018-10-08 11:33 发表评论
]]>
腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实?/title><link>//www.ot7t.com.cn/jb2011/archive/2018/09/29/433421.html</link><dc:creator>Jack Jiang</dc:creator><author>Jack Jiang</author><pubDate>Sat, 29 Sep 2018 03:05:00 GMT</pubDate><guid>//www.ot7t.com.cn/jb2011/archive/2018/09/29/433421.html</guid><wfw:comment>//www.ot7t.com.cn/jb2011/comments/433421.html</wfw:comment><comments>//www.ot7t.com.cn/jb2011/archive/2018/09/29/433421.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.ot7t.com.cn/jb2011/comments/commentRss/433421.html</wfw:commentRss><trackback:ping>//www.ot7t.com.cn/jb2011/services/trackbacks/433421.html</trackback:ping><description><![CDATA[     摘要: 1、概述本文来自腾讯视频云终端技术总监rexchang(常青)技术分享,内容分别介绍了微信小程序视音视频和WebRTC的技术特征、差异等,并针对两者的技术差异分享和总结了微信小程序视音视频和WebRTC互通的实现思路以及技术方案。希望能带给你启发。学习交流:- 即时通讯开发交?群:185926912[推荐]- 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM》(本文同步发布于:ht...  <a href='//www.ot7t.com.cn/jb2011/archive/2018/09/29/433421.html'>阅读全文</a><img src ="//www.ot7t.com.cn/jb2011/aggbug/433421.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.ot7t.com.cn/jb2011/" target="_blank">Jack Jiang</a> 2018-09-29 11:05 <a href="//www.ot7t.com.cn/jb2011/archive/2018/09/29/433421.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IM开发基础知识补课(?:通俗易懂,正确理解并用好MQ消息队列 - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/jb2011/archive/2018/09/26/433398.htmlJack JiangJack JiangWed, 26 Sep 2018 06:52:00 GMT//www.ot7t.com.cn/jb2011/archive/2018/09/26/433398.html//www.ot7t.com.cn/jb2011/comments/433398.html//www.ot7t.com.cn/jb2011/archive/2018/09/26/433398.html#Feedback0//www.ot7t.com.cn/jb2011/comments/commentRss/433398.html//www.ot7t.com.cn/jb2011/services/trackbacks/433398.html阅读全文

Jack Jiang 2018-09-26 14:52 发表评论
]]>
sed 批量改名 - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/javavle/archive/2018/09/22/433393.htmlvieryvierySat, 22 Sep 2018 09:24:00 GMT//www.ot7t.com.cn/javavle/archive/2018/09/22/433393.html//www.ot7t.com.cn/javavle/comments/433393.html//www.ot7t.com.cn/javavle/archive/2018/09/22/433393.html#Feedback0//www.ot7t.com.cn/javavle/comments/commentRss/433393.html//www.ot7t.com.cn/javavle/services/trackbacks/433393.html阅读全文

viery 2018-09-22 17:24 发表评论
]]>
微信自用高性能通用key-value组件MMKV已开源! - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/jb2011/archive/2018/09/22/433392.htmlJack JiangJack JiangSat, 22 Sep 2018 03:20:00 GMT//www.ot7t.com.cn/jb2011/archive/2018/09/22/433392.html//www.ot7t.com.cn/jb2011/comments/433392.html//www.ot7t.com.cn/jb2011/archive/2018/09/22/433392.html#Feedback0//www.ot7t.com.cn/jb2011/comments/commentRss/433392.html//www.ot7t.com.cn/jb2011/services/trackbacks/433392.html1、MMKV简?br style="box-sizing: border-box;" />

腾讯微信团队?018?月底宣布开?MMKV ,这是基?mmap 内存映射?key-value 组件,底层序列化/反序列化使用 protobuf 实现,主打高性能和稳定性。近期也已移植到 Android 平台,一并对外开源?/p>

MMKV 是基?mmap 内存映射?key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中至今,在 iOS 微信上使用已有近 3 年,其性能和稳定性经过了时间的验证。近期也已移植到 Android 平台,一并开源?/p>

MMKV最新源码托管地址?/span>https://github.com/Tencent/MMKV

2、MMKV 源起

在微信客户端的日常运营中,时不时就会爆发特殊文字引起系统?crash(请参见文章:?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">微信团队分享:iOS版微信是如何防止特殊字符导致的炸群、APP崩溃的?》、?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">微信团队分享:iOS版微信的高性能通用key-value组件技术实?/a>》),文章里面设计的技术方案是在关键代码前后进行计数器的加减,通过检查计数器的异常,来发现引起闪退的异常文字。在会话列表、会话界面等有大?cell 的地方,希望新加的计时器不会影响滑动性能;另外这些计数器还要永久存储下来——因为闪退随时可能发生?/p>

这就需要一个性能非常高的通用 key-value 存储组件,我们考察?SharedPreferences、NSUserDefaults、SQLite 等常见组件,发现都没能满足如此苛刻的性能要求。考虑到这个防 crash 方案最主要的诉求还是实时写入,?mmap 内存映射文件刚好满足这种需求,我们尝试通过它来实现一?key-value 组件?/p>

3、MMKV 原理

内存准备?/span>

通过 mmap 内存映射文件,提供一段可供随时写入的内存块,App 只管往里面写数据,由操作系统负责将内存回写到文件,不必担心 crash 导致数据丢失?/p>

数据组织?/span>

数据序列化方面我们选用 protobuf 协议,pb 在性能和空间占用上都有不错的表现?/p>

写入优化?/span>

考虑到主要使用场景是频繁地进行写入更新,我们需要有增量更新的能力。我们考虑将增?kv 对象序列化后,append 到内存末尾?/p>

空间增长?/span>

使用 append 实现增量更新带来了一个新的问题,就是不断 append 的话,文件大小会增长得不可控。我们需要在性能和空间上做个折中?/p>

更详细的设计原理参?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">MMKV 原理?/p>

4、iOS 指南

安装引入?/span>推荐使用 CocoaPods):

安装CocoaPods?/p>

打开命令?cd到你的项目工程目? 输入pod repo update?CocoaPods 感知最新的 MMKV 版本?/p>

打开 Podfile, 添加pod 'MMKV'到你?app target 里面?/p>

在命令行输入pod install?/p>

?Xcode 打开?CocoaPods 自动生成?xcworkspace文件?/p>

添加头文?import <MMKV/MMKV.h>,就可以愉快地开始你?MMKV 之旅了?/p>

更多安装指引参?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">iOS Setup?/p>

快速上手:

MMKV 的使用非常简单,无需任何配置,所有变更立马生效,无需调用synchronize:

MMKV *mmkv = [MMKV defaultMMKV];    [mmkvsetBool:YESforKey:@"bool"];BOOL bValue = [mmkvgetBoolForKey:@"bool"];    [mmkvsetInt32:-1024forKey:@"int32"];int32_t iValue = [mmkvgetInt32ForKey:@"int32"];    [mmkvsetObject:@"hello, mmkv"forKey:@"string"];NSString *str = [mmkvgetObjectOfClass:NSString.classforKey:@"string"];

更详细的使用教程参?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">iOS Tutorial?/p>

性能对比?/span>

循环写入随机的int1w 次,我们有如下性能对比?/p>

更详细的性能对比参?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">iOS Benchmark?/p>

5、Android 指南

安装引入?/span>

推荐使用 Maven?/p>

dependencies{implementation'com.tencent:mmkv:1.0.10'// replace"1.0.10"with any available version}

更多安装指引参?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">Android Setup?/p>

快速上手:

MMKV 的使用非常简单,所有变更立马生效,无需调用sync、apply??App 启动时初始化 MMKV,设?MMKV 的根目录(files/mmkv/),例如?MainActivity 里:

protectedvoidonCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);    String rootDir = MMKV.initialize(this);    System.out.println("mmkv root: "+ rootDir);//……}

MMKV 提供一个全局的实例,可以直接使用?/p>

importcom.tencent.mmkv.MMKV;//……MMKV kv = MMKV.defaultMMKV();kv.encode("bool",true);booleanbValue = kv.decodeBool("bool");kv.encode("int", Integer.MIN_VALUE);intiValue = kv.decodeInt("int");kv.encode("string","Hello from mmkv");String str = kv.decodeString("string");

MMKV 支持多进程访问,更详细的用法参?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">Android Tutorial?/p>

性能对比?/span>

循环写入随机的int1k 次,我们有如下性能对比?/p>

更详细的性能对比参?a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration-line: none; cursor: pointer;">Android Benchmark?/p>

Jack Jiang 2018-09-22 11:20 发表评论
]]>
脑残式网络编程入??:每天都在用的Ping命令,它到底是什么? - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/jb2011/archive/2018/09/21/433391.htmlJack JiangJack JiangFri, 21 Sep 2018 10:12:00 GMT//www.ot7t.com.cn/jb2011/archive/2018/09/21/433391.html//www.ot7t.com.cn/jb2011/comments/433391.html//www.ot7t.com.cn/jb2011/archive/2018/09/21/433391.html#Feedback0//www.ot7t.com.cn/jb2011/comments/commentRss/433391.html//www.ot7t.com.cn/jb2011/services/trackbacks/433391.html阅读全文

Jack Jiang 2018-09-21 18:12 发表评论
]]>
Ticket - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/cyhboy/archive/2018/09/20/433390.html萍水相?/dc:creator>萍水相?/author>Thu, 20 Sep 2018 01:49:00 GMT//www.ot7t.com.cn/cyhboy/archive/2018/09/20/433390.html//www.ot7t.com.cn/cyhboy/comments/433390.html//www.ot7t.com.cn/cyhboy/archive/2018/09/20/433390.html#Feedback0//www.ot7t.com.cn/cyhboy/comments/commentRss/433390.html//www.ot7t.com.cn/cyhboy/services/trackbacks/433390.html
HN FQ UN PS RE BODY1 REGX TIT LF BODY2 SF LUD WD CO SEQ ATN STS REGX1 REGX2 CATA ENDR REV1 REV2

Xx Xy EmXtctReq EmXtctReqNs ChkSent ChkFrom ChkPriority ChkFeq ChkSupport SybInsTkt
Xx Uz InsFlow
Xx Uz EmXtctAppr ChkSent ChkFrom InsFlow
Uz #iSprr InsAttribute EmMt



Xtct Xx EmXtctReq EmXtctReqNs #EmXtctScrpNs
Xtct Xx EmXtctReq EmXtctReqNs #EmXtctScrpNsCsp


#Dbo LstFilO Xj Xx Rd2Cmd SqlXtctIns RplFil #iCp

RfshTsk PttyRun
Um RfshTsk PttyLSLATEST Xm RfshTsk RfshTsk #PttyRegx
#PttyMv Um RfshTsk PttyLSFIRST


]]>直播产品技术架构(系列文章? - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/nkjava/archive/2018/09/19/433388.html草原上的骆驼草原上的骆驼Wed, 19 Sep 2018 08:37:00 GMT//www.ot7t.com.cn/nkjava/archive/2018/09/19/433388.html//www.ot7t.com.cn/nkjava/comments/433388.html//www.ot7t.com.cn/nkjava/archive/2018/09/19/433388.html#Feedback0//www.ot7t.com.cn/nkjava/comments/commentRss/433388.html//www.ot7t.com.cn/nkjava/services/trackbacks/433388.html网站的架构图近期会放出,是一系列的文章,请大家关注?br />

]]>
Linux(CentOS 6.7)下配置Mono和Jexus并且部署ASP.NET MVC3??和WebApi(跨平? - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/javavle/archive/2018/09/19/433387.htmlvieryvieryWed, 19 Sep 2018 02:21:00 GMT//www.ot7t.com.cn/javavle/archive/2018/09/19/433387.html//www.ot7t.com.cn/javavle/comments/433387.html//www.ot7t.com.cn/javavle/archive/2018/09/19/433387.html#Feedback0//www.ot7t.com.cn/javavle/comments/commentRss/433387.html//www.ot7t.com.cn/javavle/services/trackbacks/433387.html阅读全文

viery 2018-09-19 10:21 发表评论
]]>
知乎技术分享:从单机到2000万QPS并发的Redis高性能缓存实践之路 - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/jb2011/archive/2018/09/18/433386.htmlJack JiangJack JiangTue, 18 Sep 2018 04:31:00 GMT//www.ot7t.com.cn/jb2011/archive/2018/09/18/433386.html//www.ot7t.com.cn/jb2011/comments/433386.html//www.ot7t.com.cn/jb2011/archive/2018/09/18/433386.html#Feedback0//www.ot7t.com.cn/jb2011/comments/commentRss/433386.html//www.ot7t.com.cn/jb2011/services/trackbacks/433386.html阅读全文

Jack Jiang 2018-09-18 12:31 发表评论
]]>
正则表达式与三剑客的使用技?/title><link>//www.ot7t.com.cn/javavle/archive/2018/09/18/433384.html</link><dc:creator>viery</dc:creator><author>viery</author><pubDate>Tue, 18 Sep 2018 00:50:00 GMT</pubDate><guid>//www.ot7t.com.cn/javavle/archive/2018/09/18/433384.html</guid><wfw:comment>//www.ot7t.com.cn/javavle/comments/433384.html</wfw:comment><comments>//www.ot7t.com.cn/javavle/archive/2018/09/18/433384.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.ot7t.com.cn/javavle/comments/commentRss/433384.html</wfw:commentRss><trackback:ping>//www.ot7t.com.cn/javavle/services/trackbacks/433384.html</trackback:ping><description><![CDATA[     摘要:   <a href='//www.ot7t.com.cn/javavle/archive/2018/09/18/433384.html'>阅读全文</a><img src ="//www.ot7t.com.cn/javavle/aggbug/433384.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.ot7t.com.cn/javavle/" target="_blank">viery</a> 2018-09-18 08:50 <a href="//www.ot7t.com.cn/javavle/archive/2018/09/18/433384.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>迈向高阶:优秀Android程序员必知必会的网络基础 - 四川福利彩票快乐12快乐12开奖直播快乐12开奖辽宁福彩快乐12快乐彩12选5走势图//www.ot7t.com.cn/jb2011/archive/2018/09/17/433383.htmlJack JiangJack JiangMon, 17 Sep 2018 02:44:00 GMT//www.ot7t.com.cn/jb2011/archive/2018/09/17/433383.html//www.ot7t.com.cn/jb2011/comments/433383.html//www.ot7t.com.cn/jb2011/archive/2018/09/17/433383.html#Feedback0//www.ot7t.com.cn/jb2011/comments/commentRss/433383.html//www.ot7t.com.cn/jb2011/services/trackbacks/433383.html阅读全文

Jack Jiang 2018-09-17 10:44 发表评论
]]>
keepalived高可用配?/title><link>//www.ot7t.com.cn/javavle/archive/2018/09/16/433381.html</link><dc:creator>viery</dc:creator><author>viery</author><pubDate>Sun, 16 Sep 2018 07:35:00 GMT</pubDate><guid>//www.ot7t.com.cn/javavle/archive/2018/09/16/433381.html</guid><wfw:comment>//www.ot7t.com.cn/javavle/comments/433381.html</wfw:comment><comments>//www.ot7t.com.cn/javavle/archive/2018/09/16/433381.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.ot7t.com.cn/javavle/comments/commentRss/433381.html</wfw:commentRss><trackback:ping>//www.ot7t.com.cn/javavle/services/trackbacks/433381.html</trackback:ping><description><![CDATA[     摘要:   <a href='//www.ot7t.com.cn/javavle/archive/2018/09/16/433381.html'>阅读全文</a><img src ="//www.ot7t.com.cn/javavle/aggbug/433381.html" width = "1" height = "1" /><br><br><div align=right><a href="//www.ot7t.com.cn/" title="四川福利彩票快乐12">四川福利彩票快乐12</a> 2018-09-16 15:35 <a href="//www.ot7t.com.cn/javavle/archive/2018/09/16/433381.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <script>(function(){ var src = (document.location.protocol == "http:") ? "//js.passport.qihucdn.com/11.0.1.js?f7a6bc378844a5df707c414e6b6fea33":"https://jspassport.ssl.qhimg.com/11.0.1.js?f7a6bc378844a5df707c414e6b6fea33"; document.write('<script src="' + src + '" id="sozz"><\/script>'); })(); </script>