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有个致命缺点:

数据读写最慢.


.这样,MemcacheMysql成为互补的关系:

Memcache提升Mysql的读写速度

Mysql为Memcache妥善保存数据


.只要实现MysqlMemcache同步就可以解决问题


.这样就有了整个逻辑(有两种情况):


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的风骚的主要内容,如果未能解决你的问题,请参考以下文章

沉浸式夜游带你领略夜间旅游的魅力

如何做到十五分钟领略PowerBI的DAX精华及框架

手把手带你领略双十一背后的核心技术Sentinel之热点参数限流

20个经典数据结构与算法,300多幅算法手绘图解,带你领略算法之美

领略Kotlin的力量,效率提升不止一点点

OpenResty与nginx结合执行lua脚本