01 2018 档案
摘要:原博客:http://shift-alt-ctrl.iteye.com/blog/2020182 https://mp.weixin.qq.com/s/h74d6LtGB5M8VF0oLrXdCA 我们先看一消息的声明周期如下图: 图片中简单的描述了一条消息的生命周期,不过在不同的架构环境中,mes
阅读全文
摘要:Zookeeper到底能干什么? 1.配置管理:这个好理解。分布式系统都有好多机器,Zookeeper提供了这样的一种服务:一种集中管理配置的方法,我们在这个集中的地方修改了配置,所有对这个配置感兴趣的都可以获得变更。这样就省去手动拷贝配置了,还保证了可靠和一致性。 在分布式系统中,常会遇到这样的场
阅读全文
摘要:我们知道Zookeeper的一致性是解决分布式事务的。 那么分布式事务代表的是强一致性。 强一致性解决的代表有以下协议(注意这几个协议跟zookeeper是没任何关系的,这是分布式的理论基础): 1. 2PC(二阶提交),顾名思义它分成两个阶段,先由一方进行提议(propose)并收集其他节点的反馈
阅读全文
摘要:分布式系统八大谬论: 1.网络相当可靠 2.延迟为0 3.传输带宽是无限的 4.网络相当安全。 5.拓扑结构不会改变 6.必须要有一名管理员 7.传输成本为0 8.网络同质化。 分布式最常出现的问题: 1.通信异常。表现为网络通信成功,失败,超时这三种。 2.节点故障。表现为宕机,OOM 因此我们不
阅读全文
摘要:1.轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。2.weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。3.ip_hash每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决sessi
阅读全文
摘要:1动静分离演示: 将笔记3的Demo改造一下,如图所示: 改造完成后,其实就是在网页上显示一张图片 现在启动Tomcat运行起来,如图: 可以看到图片的请求是请求Tomcat下的图片。 现在,通过把静态资源放在nginx的html目录下(必须和原来工程请求路径一样,如下第一张图),实现动静分离,首先
阅读全文
摘要:接着笔记3,将笔记三的改造一下,现在分别启动两个Tomcat,在页面获取session。如图所示: tomcat2的session: tomcat1的session: 根据上图发现,每个tomcat取到的session不一样。因此nginx负载均衡带来的问题就是session不一致,假设用户登陆后请
阅读全文
摘要:1.nginx测试:先从官网下载nginx 官网网址为:http://nginx.org/ 然后找到stable version的版本下载,因为这版本是最稳定的,不要去下载最新,因为不稳定,如下图: 下载解压后即可 这里还要对解压后的nginx的conf目录下的nginx.conf配置如下图: 上图
阅读全文
摘要:负载均衡实现方式分为两类:1硬件类,2软件类。 硬件类:F5(这是一种硬件,并不是刷新啊,不要误解) 优点:非常快,可靠性高,并发量大。缺点:太贵,成本高,不方便,最致命的是不能将动态请求和静态请求分离。 软件类:1.apache http server:可靠性高,可以动静请求分离,但是,效率低。(
阅读全文
摘要:上图是单版的架构,理论一个tomcat并发就200到300,经过优化后的最多500,这很明显容量低,而且出现单点故障后应用服务就不可以访问了,比如tomcat,这样明显对于多并发是不行的。 那么如果我们从域名提供商哪里一个域名映射多个IP呢?下图,每一个IP对应一个tomcat,通过IP轮询来到底要
阅读全文
摘要:1. ActiveMQ 1.1. 什么是ActiveMQ ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中
阅读全文