这两年在博客园看了不少大牛的分享,一直打算能写点什么东西。 之前偶然看见一个利用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)的更多相关文章

  1. 使用nginx搭建一个简单的负载均衡

    在windows系统上使用IIS模拟出两个不同服务器的站点: 然后再NGINX使用轮询机制配置两个服务器以及虚拟服务器的端口: 需要注意的是,配置虚拟代理域名的话需要找到windowsC盘下的host ...

  2. Docker+nginx+tomcat7配置简单的负载均衡

    本文为原创,原始地址为:http://www.cnblogs.com/fengzheng/p/4995513.html 本文介绍在Docker上配置简单的负载均衡,宿主机为Ubuntu 14.04.2 ...

  3. Windows下nginx+tomcat实现简单的负载均衡

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请 ...

  4. Nginx+proxy实现简单的负载均衡

    环境说明:操作系统centos6.6 64位web操纵系统是:web1=192.168.10.10(LAMP) web2=192.168.10.11(LNMP),这里只是测试nginx实现负载均衡效果 ...

  5. nginx+tomcat实现简单的负载均衡

    host1:10.0.0.10(部署nginx和tomcat) host2:10.0.0.11(部署tomcat) 平台环境(2主机一样) [root@smp ~]# uname -r3.10.0-8 ...

  6. nginx的反向代理和负载均衡的一个总结

    之前一直觉的nginx的反向代理和负载均衡很厉害的样子,最近有机会接触了一下公司的这方面的技术,发现技术就是一张窗户纸呀,捅破了啥都明白了! 接下来先看一下nginx的反向代理: 简单的来说就是ngi ...

  7. Nginx的反向代理和负载均衡服务

    Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行. ...

  8. 通过Nginx实现一个简单的网站维护通知页面

    原文:https://www.zhyd.me/article/106 在网站发版时,总会有那么一小段时间服务是访问不通的,一般用户看到的都会是一个502的错误页面 那么可以通过nginx实现一个简单的 ...

  9. nginx Win下实现简单的负载均衡(1)nginx搭建部署

    快速目录: 一.nginx Win下实现简单的负载均衡(1)nginx搭建部署 二.nginx Win下实现简单的负载均衡(2)站点共享Session 三.nginx Win下实现简单的负载均衡(3) ...

随机推荐

  1. Android开发 - 掌握ConstraintLayout(九)分组(Group)

    使用ConstraintLayout后我们的布局是没有层级关系的,各个View之间都是平级关系,但是如果根据某个业务条件来控制多个View的显示与否,我们需要分别对每个View进行控制,需要调用多次s ...

  2. springDatasolr 排序

    String sortValue = (String) searchMap.get("sort");// ASC DESC String sortField = (String) ...

  3. Akka-CQRS(2)- 安装部署cassandra cluster,ubuntu-16.04.1-LTS and MacOS mojave

    对于akka-cluster这样的分布式软件系统来说,选择配套的数据库类型也是比较讲究的,最好也是分布式的,如cassandra,能保证良好的HA特性.前面的例子里示范akka-persistence ...

  4. 网络编程懒人入门(九):通俗讲解,有了IP地址,为何还要用MAC地址?

    1.前言 标题虽然是为了解释有了 IP 地址,为什么还要用 MAC 地址,但是本文的重点在于理解为什么要有 IP 这样的东西.本文对读者的定位是知道 MAC 地址是什么,IP 地址是什么. (本文同步 ...

  5. 使用HOG特征+BP神经网络进行车标识别

    先挖个坑,快期末考试了,有空填上w 好了,今晚刚好有点闲,就把坑填上吧. //-------------------------------开篇---------------------------- ...

  6. MySQL-8.0.11 在 Windows10 上的安装

    下载 MySQL8.0 For Windows zip包下载地址:https://dev.mysql.com/downloads/file/?id=476233. 进入页面后可以不登录,点击底部“No ...

  7. Spark基础-scala学习(七、类型参数)

    类型参数是什么 类似于java泛型,泛型类 泛型函数 上边界Bounds 下边界 View Bounds Context Bounds Manifest Context Bounds 协变和逆变 Ex ...

  8. Hadoop面试题

    1.把数据仓库从传统关系数据库转到hadoop有什么优势? 原关系存储方式昂贵 空间有限 hadoop支持结构化(例如 RDBMS),非结构化(例如 images,PDF,docs )和半结构化(例如 ...

  9. Kubernetes集群搭建之CNI-Flanneld部署篇

    本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复[K8s实战]获取 Flannel是CoreOS提供用于解决Dokcer集群跨主机通讯的覆盖网络工具.它的主要思路 ...

  10. 解决运行nodejs代码Error: listen EADDRINUSE

    问题是什么 EADDRINUSE其实拆分来看就是error address use表示错误地址的使用,也代表着端口占用. 如何解决问题 那讲道理来说,接下来你就需要找到你要用的端口被哪一个进程所占用了 ...