XRZZYW带领你领略Nginx的强大,结合MM的风骚
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XRZZYW带领你领略Nginx的强大,结合MM的风骚相关的知识,希望对你有一定的参考价值。
@font-face { font-family: "Times New Roman"; }@font-face { font-family: "宋体"; }@font-face { font-family: "Calibri"; }@font-face { font-family: "DejaVu Sans"; }@font-face { font-family: "方正黑体_GBK"; }@font-face { font-family: "幼圆"; }p.MsoNormal { margin: 0pt 0pt 0.0001pt; text-align: justify; font-family: Calibri; font-size: 10.5pt; }h2 { margin-top: 13pt; margin-bottom: 13pt; page-break-after: avoid; text-align: justify; line-height: 172%; font-family: "DejaVu Sans"; font-weight: bold; font-size: 16pt; }h3 { margin-top: 13pt; margin-bottom: 13pt; page-break-after: avoid; text-align: justify; line-height: 172%; font-family: Calibri; font-weight: bold; font-size: 16pt; }span.msoIns { text-decoration: underline; color: blue; }span.msoDel { text-decoration: line-through; color: red; }div.Section0 { }
nginx反向代理与MM数据库集群
前言:
距离上一篇博文已经N多年了,今天小弟学习到了有关Nginx的更多详细内容,想要跟大家分享一下,但是具体的配置步骤我就不一一罗列出来了,因为毕竟你了解了他的整个逻辑与思路,那么那些配置套路对于你来说就是小case啦.不外忽就是三步:装包配置起服务
上面的标题是我自定义的,其中MM代表的是mysql与Memcache;
不得不说这是个很简陋的图,比那些高可用高负载什么的实在简陋太多.但毕竟是提供一种思路,所以越简洁越好.
上面的(1)(2)(3)(4)在下面的第六部分上有说到.
一.正常逻辑:
Client访问Nginx调度器
调度器转发给后端Web服务器
Web通过动态语言(如php)以读写方式访问Mysql
Mysql返回结果给Web,Web -> Proxy -> Client
二.弊端:
以下是读写速度的对比
CPU缓存 > 内存 > 磁盘 > 数据库
数据库读写速度是最慢的,影响客户体验
三.分析:
Nosql上场,常见的Nosql有Mencache,Big,MongoDB
Nosql与传统关系型数据库不同的地方在于:
Nosql采用Key-Value 和 Ducument 形式存储数据,具有高并发,高扩展,由于他是缓存在计算机内存中的,读写速度极高.但有个致命缺点:
过段时间会清空缓存,数据会丢失.
这时关系型数据库可以很好的解决这个问题,他采用关系型存储,数据与数据之间必然有关联,有主键等规范用法.查询数据便利,有规范的SQL语句.数据不易丢失,,Mysql读写分离与主从同步可实现高可用;但关系型sql有个致命缺点:
数据读写最慢.
四.这样,Memcache与Mysql成为互补的关系:
Memcache提升Mysql的读写速度
Mysql为Memcache妥善保存数据
五.只要实现Mysql与Memcache同步就可以解决问题
六.这样就有了整个逻辑(有两种情况):
1.当Mencache缓存并未清空时:
Client第一次以写访问Nginx调度器
调度器转发给后端Web服务器
Web通过动态语言(如PHP)缓存写入Memcache
(3)Memcache同时将数据备份到Mysql
Client以读访问Nginx调度器
调度器转发给后端Web服务器
(2)Web通过动态语言(如PHP)读取Memcache
(1)Memcache返回结果给Web,Web -> Proxy -> Client
2.当他清空了缓存:
Client第一次以写访问Nginx调度器
调度器转发给后端Web服务器
Web通过动态语言(如PHP)缓存写入Memcache
(3)Memcache同时将数据备份到Mysql
Client以读访问Nginx调度器
调度器转发给后端Web服务器
(2)Web通过动态语言(如PHP)读取Memcache
(4)Memcache发现无缓存,从Mysql读取备份数据后并缓存
(1)Memcache返回结果给Web,Web -> Proxy -> Client
以上是关于XRZZYW带领你领略Nginx的强大,结合MM的风骚的主要内容,如果未能解决你的问题,请参考以下文章
手把手带你领略双十一背后的核心技术Sentinel之热点参数限流