记录使用Redis和nginx 实现一个简单的负载均衡(FB)
这两年在博客园看了不少大牛的分享,一直打算能写点什么东西。 之前偶然看见一个利用Redis 当作 Session数据宿主的demo,出处我已经找不到了。后来没事看了看nginx相关的东西。其中负载均衡在多站点的Session同步是需要解决的一个问题。所以就想试试将二者结合使用的效果。当然得写个demo
添加RedisSessionProvider相关

添加之后会自动生成web.config 相关设置模板

然后 把host 设为本地ip 127.0.0.1 accessKey 设为 Redis端口 默认的设为 6379
ssl 改为false
然后测试一下

然后退出IIS Express 再重新打开一次 时间没变 OK。
然后是nginx 负载均衡部分
我们把之前的例子丰富一下。
public partial class demo : System.Web.UI.Page
{
public bool IsLogin { get; private set; }
/// <summary>
/// 将session 数据宿主设置为redis
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
IsLogin = Session["user"] != null;
if (Session["record"] == null) {
Session["record"] = DateTime.Now; } // Session.Timeout = 1;
Response.Write(Session.SessionID);
Response.Write(Session["record"]);
}
} protected void Button1_Click(object sender, EventArgs e)
{
Session["user"] = "tanzhaoyao";
IsLogin = true;
}
}
页面显示代码
<div>
<%if(IsLogin){ %>
<h1><%=Session["user"].ToString() %></h1>
<%}else{ %> <asp:Button ID="Button1" OnClick="Button1_Click" runat="server" Text="Login" />
<%} %>
</div>
然后将这个项目文件复制一份 发布成2个站点 在其中一个加上标记来验证nginx 是否起到了作用

然后让我们来配置一下nginx 并且试图启动它


然后测试一下效果

第一个图片多了nginx标志 说明 nginx 起到作用,而且多刷新几次会发现是平均分配的
然后模拟一下登陆,看看效果

大功告成
第一次写博客,排版不怎么会、组织得也比较凌乱。如果有人不幸看到,请谅解。后续会不断修改一下来锻炼自己写博客的能力。效果展示也会找一个录制gif的工具和给这个该死的Open live writer 装一个代码的插件。谢谢。
记录使用Redis和nginx 实现一个简单的负载均衡(FB)的更多相关文章
- 使用nginx搭建一个简单的负载均衡
在windows系统上使用IIS模拟出两个不同服务器的站点: 然后再NGINX使用轮询机制配置两个服务器以及虚拟服务器的端口: 需要注意的是,配置虚拟代理域名的话需要找到windowsC盘下的host ...
- Docker+nginx+tomcat7配置简单的负载均衡
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng/p/4995513.html 本文介绍在Docker上配置简单的负载均衡,宿主机为Ubuntu 14.04.2 ...
- Windows下nginx+tomcat实现简单的负载均衡
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请 ...
- Nginx+proxy实现简单的负载均衡
环境说明:操作系统centos6.6 64位web操纵系统是:web1=192.168.10.10(LAMP) web2=192.168.10.11(LNMP),这里只是测试nginx实现负载均衡效果 ...
- nginx+tomcat实现简单的负载均衡
host1:10.0.0.10(部署nginx和tomcat) host2:10.0.0.11(部署tomcat) 平台环境(2主机一样) [root@smp ~]# uname -r3.10.0-8 ...
- nginx的反向代理和负载均衡的一个总结
之前一直觉的nginx的反向代理和负载均衡很厉害的样子,最近有机会接触了一下公司的这方面的技术,发现技术就是一张窗户纸呀,捅破了啥都明白了! 接下来先看一下nginx的反向代理: 简单的来说就是ngi ...
- Nginx的反向代理和负载均衡服务
Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行. ...
- 通过Nginx实现一个简单的网站维护通知页面
原文:https://www.zhyd.me/article/106 在网站发版时,总会有那么一小段时间服务是访问不通的,一般用户看到的都会是一个502的错误页面 那么可以通过nginx实现一个简单的 ...
- nginx Win下实现简单的负载均衡(1)nginx搭建部署
快速目录: 一.nginx Win下实现简单的负载均衡(1)nginx搭建部署 二.nginx Win下实现简单的负载均衡(2)站点共享Session 三.nginx Win下实现简单的负载均衡(3) ...
随机推荐
- 浅析B/S架构数据库连接方式
前言 在许许多多的B/S架构系统中都涉及到了数据库的链接,那么对于数据库连接的方式有哪些?可能出现的问题是什么? 目录 1.普通连接方式 2.单例模式 3.连接池 分析 普通连接: 下面是我们 ...
- Source优化
优化Source主要包括以下几方面: 1 优化sqlquery 在mapping中,通常会在Source Qualifier组件中使用sqlquery读取数据,则优化通常包括以下几点: 1) 如果在 ...
- express脚手架的安装,以及ejs的语法
express 1.建一个项目 npm init -y 初始化一下项目 2.cnpm install express -S 安装express模块 3.cnpm init 安装依赖 !ejs模板是后 ...
- Xamarin.Android 开发中遇到旋转屏幕错误
错误信息 : System.NotSupportedException: Unable to find the default constructor on type App5.MyFragment. ...
- Android--UI之Button
前言 最近一直在讲androidUI控件的使用方式,这篇博客讲解一下基本上属于用处最广泛的控件之一的Button控件.如果有过其他平台开发经验的程序员,对按钮是不会陌生的.本篇博客首先讲解一下Andr ...
- Netty源码分析(一):Netty总览
作为当前最流行的网络通信框架,Netty在互联网领域大放异彩,本系列将详细介绍Netty(4.1.22.Final). 代码事例 服务端 public final class EchoServer { ...
- 10 Tensorflow模型保存与读取
我们的模型训练出来想给别人用,或者是我今天训练不完,明天想接着训练,怎么办?这就需要模型的保存与读取.看代码: import tensorflow as tf import numpy as np i ...
- 【原创+整理】简述何为调用约定,函数导出名以及extern C
何为调用约定 调用约定指的是函数在调用时会按照不同规则,翻译成不同的汇编代码.这和参数的压栈顺序和栈的清理方式相关,也就是说不同的调用约定,这些方式会做相应改变.一般编译器是以默认的调用约定编译一份代 ...
- Go内建函数copy
Go内建函数copy: func copy(dst, src []Type) int 用于将源slice的数据(第二个参数),复制到目标slice(第一个参数). 返回值为拷贝了的数据个数,是len( ...
- 踏上编程大道 从 Python 开始成为神级 Coder
电脑科学,或说计算机科学,是个在美国不断成长的产业,薪资报酬也很高.市场上永远存在著对天赋异禀的新锐工程师的需求,这就是为什麽「学习程式语言」一直是一件有魅力的事情. 但是,就跟任何技能一样,我们常常 ...