07 2020 档案

摘要: 从上面的日志中可以了解到redis做快照存储时,它会启动一个线程去存储快照,即便发生错误它也会每隔几秒去重复的执行存储快照的操作;其实上面的错误的原因是我们开启了stop-writes-on-bgsave-error这个选项,所以为了避免这种错误发生,我们可以把stop-writes-on-bgsave-error这个选项设置为no,但是这样设置以后我们还需要,通过监控来监控redis的日志,及时发现问题避免丢失数据; 阅读全文
posted @ 2020-07-29 00:00 Linux-1874 阅读(873) 评论(0) 推荐(0) 编辑
摘要: 很多开源软件都支持include这个指令,把某个目录下的文件导入到指定位置做配置文件的方式(最常见的就是把某个目录下的以点conf结尾的文件导入到当前位置);以上红框中的内容表示把/usrlocal/reds/conf.d/test.conf文件都导入到此处;这里需要注意一点redis好像不支持以模式匹配的方式导入多个文件,必须单个导入,除此之外导入的文件必须得存在可访问;对于include指令放在哪个位置,需要自行定义,因为include以下的配置文件如果和include指定的文件配置有重复,以include之下的内容为准;也就说导入配置会覆盖导入配置之前的配置; 阅读全文
posted @ 2020-07-27 20:02 Linux-1874 阅读(1658) 评论(0) 推荐(0) 编辑
摘要: Redis是什么?redis是一款基于BSD协议,开源的非关系型数据库(nosql数据库),作者是意大利开发者Salvatore Sanfilippo在2009年发布,使用C语言编写;redis是基于内存存储,而且是目前比较流行的键值数据库(key-value database),它提供将内存通过网络远程共享的一种服务,提供类似功能的还有memcache,但相比 memcache,redis 还提供了易扩展、高性能、具备数据持久性等功能。主要的应用场景有session共享,常用于web集群中的tomcat或PHP中多web服务器的session共享;消息队列,ELK的日志缓存,部分业务的订阅发布系统;计数器,常用于访问排行榜,商品浏览数等和次数相关的数值统计场景;缓存,常用于数据查询、电商网站商品信息、新闻内容等; 阅读全文
posted @ 2020-07-26 10:49 Linux-1874 阅读(2358) 评论(0) 推荐(0) 编辑
摘要: session复制集群的原理就是通过多播通信的方式,把节点的session信息发送给集群其他节点;这种session复制集群有一个缺陷,如果后端tomcat server 一旦增多,那么对于后端用于发送session信息的网络会非常拥挤,到达一定的量以后,后端网络就可能瘫痪,这样一来session复制集群就失效了;这其中的原因就是因为各个节点通过多播通信的方式发送session;为了解决这样的问题,我们需要重新想办法把用户的session存起来; 阅读全文
posted @ 2020-07-23 17:51 Linux-1874 阅读(873) 评论(0) 推荐(1) 编辑
摘要: 会话是识别用户,跟踪用户访问行为的一个手段,通过cookie(存在客户端)或session(存在服务端)来判断本次请求是那个客户端发送过来;常用的会话保持有绑定会话,就是前边我们聊的在代理上通过算法或通过给客户端响应首部加cookie这种方式来保持同一cookie或同一ip地址的请求始终发送到同一后端server进行响应;但是这样的会话绑定的方式存在一个问题,就是当后端某一server宕机,那么之前上面的所有会话信息将消失,那么后续的客户端来请求,代理是否要把请求调度到后端宕机的server呢?如果说调度上去呢,那么用户之前的会话信息又没有了,如果说不调度呢,那么用户将不能够得到服务;所以对于这种情况我们需要把会话都同步到后端所有server上,即便某一台或几台后端server宕机了,不会导致用户的会话信息丢失,同样服务也是可用的; 阅读全文
posted @ 2020-07-22 22:43 Linux-1874 阅读(1228) 评论(0) 推荐(3) 编辑
摘要:Nginx/Httpd负载均衡tomcat配置 在前一篇博客中我们聊了下用Nginx和httpd对后端tomcat服务做反代相关配置,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13334180.html;今天我们来聊一聊用Nginx和httpd对tomcat集群做负载均衡的配置以及需要注意的点;在前边的 阅读全文
posted @ 2020-07-20 23:27 Linux-1874 阅读(1018) 评论(0) 推荐(0) 编辑
摘要: 通常tomcat作为应用服务器,我们不建议也不应该让tomcat直接面向客户端提供服务;因此进入tomcat的访问就只有其他反代服务器的请求了;如果说tomcat使用其他反代服务器对外提供服务,那么对于https的访问就应该由代理服务器端来实现,从代理服务器到tomcat的访问,我们应该还是使用http或者ajp协议,综上所述常用的连接器也就http和ajp;http是一个文本格式协议,对于浏览器来说是支持的;ajp协议是二进制格式协议,对于浏览器是不支持的;所以对于反代服务器来讲,面向客户端它提供http协议访问,面向服务端它提供ajp协议去访问;这样去反代tomcat,相对要安全一点,至少客户端不能绕过代理直接访问tomcat; 阅读全文
posted @ 2020-07-18 12:26 Linux-1874 阅读(1117) 评论(0) 推荐(0) 编辑
摘要: connector连接器组件:主要作用负责接收请求,常见的连接器有三种,分别是http连接器,https连接器,和ajp连接器;进入tomcat的请求可分为两类,一类是来自客户端浏览器的访问,一类是来自其他web server反代访问;如果想配置tomcat只能通过代理来访问,并且不能绕过代理来访问,我们可以选择把http和https连接器给禁用了,只留一个ajp连接器,这样一来tomcat就只能通过httpd的ajp反代来访问,因为浏览器不支持ajp协议; 阅读全文
posted @ 2020-07-17 09:01 Linux-1874 阅读(930) 评论(0) 推荐(0) 编辑
摘要: 所谓部署就是把webapp的源文件放置于目标目录(网页程序文件存放目录,类似httpd中的documentroot指定的目录),然后配置tomcat服务器能够基于web.xml和context.xml文件中定义的路径来访问webapp;然后将其特有的类和依赖的类通过类加载器(class loader)装载至jvm的这一过程;部署第方式有两种,一种是自动部署(auto deploy),自动部署就是我们直接把webapp文件放置对应目录下就可以实现访问,不需要人为手动的去配置部署;另外一种就是手动部署,手动部署又可以分为冷部署和热部署;所谓冷部署就是把webapp源码文件放到指定位置,然后启动tomcat这种方式叫冷部署;热部署指的是在不停止tomcat的前提下进行部署的方式; 阅读全文
posted @ 2020-07-16 09:41 Linux-1874 阅读(1009) 评论(0) 推荐(0) 编辑
摘要: 总结一点,部署tomcat环境,首先要安装jdk,因为tomcat本身就是java语言编写,我们要在服务器上安装好java程序运行环境和标准类库等组件,tomcat才可以服务器上正常的运行起来;其实从上面的演示我们大概也能知道tomcat就是为Java jsp程序提供一个运行环境,后续的jsp代码主要就是在tomcat上运行,而非jdk上;jdk是运行Java程序(tomcat)而必须有的组件; 阅读全文
posted @ 2020-07-15 09:20 Linux-1874 阅读(2028) 评论(0) 推荐(1) 编辑
摘要: 在mariadb的主从复制集群中,读的能力被扩展了,而写的能力始终没有被扩展;这样一来对于主服务器就存在单点的问题,通常除了做双主可解决主节点单点的问题,我们还可以给主节点做高可用;而对于mariadb的主从复制集群来讲,虽然读的能力提升了,但通常情况后端数据库服务器是直接面向程序,这意味着程序要知道读请求和写请求该发往不同的数据库服务器上;在用户发来读请求,这个程序它会分析用户的请求,然后把用户的请求代理到后端server上;也就是说我们需要一个程序能够解析用户的读写操作,把对应的操作代理到后端不同的节点上;这样一来用户的读操作始终均衡的被调度到从节点,写操作调度到主节点; 阅读全文
posted @ 2020-07-12 10:48 Linux-1874 阅读(1065) 评论(1) 推荐(0) 编辑
摘要: mariadb的主从复制集群,默认情况下是把主库上的所有库进行复制,只要在主库上产生写操作,从库基于主库的二进制日志做重放,从而实现把主库的上的库表复制到从库;复制过滤器指的是我们仅复制一个或几个数据库相关的数据,而非所有;过滤器的作用就是来定义我们要复制那些库,那些表,这种定义过滤器的方式叫白名单机制;除了这种告诉服务器我们要复制的库表的,当然我们也可以告诉服务器我们不需要复制的库或表,或者需要忽略的库表的机制叫黑名单;在定义我们需要复制的库或者表,我们可以在主库上定义,也可以在从库上定义;不同的是在主库上定义,我们只能定义需要复制的那些库,忽略那些库; 阅读全文
posted @ 2020-07-06 13:36 Linux-1874 阅读(735) 评论(0) 推荐(0) 编辑
摘要: 半同步指的是在主节点发生写操作事件后,它会把该操作的事件发送给从节点,当从节点接收到主节点发送过来的事件后,就立刻告诉主节点,从节点已经接收到主节点发送过来的事件,此时主机点并不会等到从节点重放完成,而是接收到从节点接收到主节点发送过去的的事件确认消息后,就返回给客户端;而在mariadb/mysql主从复制集群中的半同步,并不是我们刚才说的这种半同步机制;在mariadb/mysql主从复制集群中的半同步指的是,一主多从的复制集群中,一个从节点或一部分从节点和主节点是同步复制,一部分从节点是异步复制; 阅读全文
posted @ 2020-07-05 14:32 Linux-1874 阅读(768) 评论(0) 推荐(0) 编辑