栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

(读写分离和Nginx)day61javaEE基础查漏补缺

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(读写分离和Nginx)day61javaEE基础查漏补缺

读写分离和Nginx

1.为什么要读写分离:2.为什么多个从数据库用来读,主数据库是用来写操作。3.master是主库,slave是从库(奴隶)。4.reboot:重启:tomcat和redis等服务都停止运行,但是mysql会自启动。5.主从复制原理:6.主从复制的步骤:7.主库需要创建一个具有复制(binlog)权限的账号。8.主从数据库之间的服务器id要唯一9.position-指针。file是开始同步的日志文件。10.所有表和库都会被复制嘛?11.只能在主库上增删改操作,不能在从表上增删改。12.怎么实现主数据库更新的监听???13.round_robin轮询策略。从库轮着响应请求。14.Sharding jdbc原理:14.sharding jdbc的配置文件:15.新建分支作用之一:目前有些东西不需要合到主分上。16.从库已经停了,如果主库一直发生变化产生了一堆日志,过一段时间从库再次使用的时候会不会出现错误??17.负载均衡:指的是tomcat服务器18.Nginx功能:高并发和 分发请求。nginx是开源的服务器,也支持集群。19.nigex.conf:在http块中可以包含多个server块,每个server块可以配置多个location块。20.http模式是80端口,https是443端口。21.https是什么。22.HTTPS和HTTP的区别主要为以下四点:23.应用场景:24.Nignx配置可以,调优,全局块啥的。25.如果访问不到80端口:26.由于多个服务器的性能可能不同,nignx可以配置比例(写死的)。27.多开问题:28.Nginx中提供了下面几种负载均衡策略:29.负载均衡策略拓展:30.分布式和集群的简述:31.fastjson:json解析jar包。

1.为什么要读写分离:

1)读写所有压力都由一台数据库承担,压力大。

2)数据库服务器磁盘损坏数据丢失,单点故障。

2.为什么多个从数据库用来读,主数据库是用来写操作。

节省资源:28原则(2是写操作,8是读操作)。

3.master是主库,slave是从库(奴隶)。 4.reboot:重启:tomcat和redis等服务都停止运行,但是mysql会自启动。 5.主从复制原理:

MySQL的主从复制其实就是由主库生成binlog,里面记录用户对数据库产生影响的操作。从库负责读取这个日志,并进行解析得到对应的SQL语句,然后在自己所在的服务器上执行,就可以得到跟主库一致的数据了。

io线程读取 主数据库binlog文件到本地relaylog,sql线程把relaylog还原为sql语句。

6.主从复制的步骤:

MySQL复制过程分成三步:

1. master将数据变更写入二进制日志
2. slave将master的二进制日志拷贝到它的中继日志(relay log)
3. slave重做中继日志中的事件,生成对应的数据存储到自己的数据区

拓展:二进制日志:也称为binlog,这是MySQL自带的一种日志功能,它会记录下所有的增删改语句,但是不包括查询语句。

Binlog 是 MySQL Server 维护的一种二进制日志,主要是用来记录对 MySQL 数据更新或潜在发生更新的 SQL 语句,并以"事务"的形式保存在磁盘中(文件)

主要用途

1. 复制:MySQL 的 Master-Slave 协议,让 Slave 可以通过监听 Binlog 实现数据复制,达到数据一致的目的

2. 数据恢复:通过 mysqlbinlog 工具恢复数据

3. 增量备份
https://blog.csdn.net/weixin_39116497/article/details/107752395
7.主库需要创建一个具有复制(binlog)权限的账号。

slave必须是被master授权具有该权限的用户,才能通过该用户复制。

GRANT REPLICATION SLAVE ON *.* to 'xiaoming'@'%' identified by 'Root@123456';
8.主从数据库之间的服务器id要唯一 9.position-指针。file是开始同步的日志文件。
change master to  
	master_host='192.168.44.128', -- 主节点ip地址
	master_user='xiaoming', -- 主节点创建的用于主从复制的账号
	master_password='Root@123456', -- 上面账号的密码
	master_log_file='mysql-bin.000003', -- 从主节点哪个日志文件开始同步
	master_log_pos=258; -- 从主节点日志文件的哪个位置开始同步
10.所有表和库都会被复制嘛?

从主从建立好关系开始:后面所有新的操作都会被同步复制。

注意:从开启主存复制之后的操作才会被复制。

11.只能在主库上增删改操作,不能在从表上增删改。

如果操作从库,那么主从的指针就对不上了。

12.怎么实现主数据库更新的监听???

MySQL 的 Master-Slave 协议,让 Slave 可以通过监听 Binlog 实现数据复制,达到数据一致的目的

13.round_robin轮询策略。从库轮着响应请求。 14.Sharding jdbc原理:

shardingjdbc自动解析数据库语句请求,根据分库分表的策略,改写替换真实的对应的表名。然后用真实的sql操作主从数据库。

14.sharding jdbc的配置文件:
main: #该配置项的目的,就是如果当前项目中存在同名的bean,后定义的bean会覆盖先定义的。
    allow-bean-definition-overriding: true
    
我们需要用到的是 shardingjdbc包下的dataSource,所以我们需要配置上述属性,让后加载的覆盖先加载的。
15.新建分支作用之一:目前有些东西不需要合到主分上。

比如数据库读写分离,开发的时候还是使用单表方便。

16.从库已经停了,如果主库一直发生变化产生了一堆日志,过一段时间从库再次使用的时候会不会出现错误??

不会,他会根据指针和文件的位置,自动从上次丢失点开始同步

17.负载均衡:指的是tomcat服务器

一台tomcat的访问量200-400

mysql最大访问量2000

18.Nginx功能:高并发和 分发请求。nginx是开源的服务器,也支持集群。

软件如果无法解决高并发,还得用硬件来解决。(硬件很贵)

19.nigex.conf:在http块中可以包含多个server块,每个server块可以配置多个location块。 20.http模式是80端口,https是443端口。 21.https是什么。

HTTPS的全称是超文本传输安全协议(Hypertext Transfer Protocol Secure),是一种网络安全传输协议。在HTTP的基础上加入SSL/TLS来进行数据加密,保护交换数据不被泄露、窃取。

通俗的来说,就是:

当你登陆一个有网站的网页时形成, 在填写该表格并点击“提交”后,您输入的信息可能被黑客截获不安全网站。 这些信息可以是银行交易的详细信息,也可以是您输入的个人隐私。 在黑客眼中,这种“拦截”通常被称为“中间人攻击”。 实际的攻击可能以多种方式发生,但最常见的一种是:黑客在托管网站的服务器上放置一个小的未检测到的监听程序。该程序在后台等待,直到访问者开始在网站上键入信息,并且它将激活以开始捕获信息,然后将其发送给黑客。

当您访问使用SSL加密的网站时,也就是HTTPS协议的网站,浏览器将与该网站建立友好加密的通道,保护您的隐私等数据不被泄露,没有人可以查看或访问您在浏览器中输入的内容,保证数据传输的安全性。

22.HTTPS和HTTP的区别主要为以下四点:
一、HTTPS协议需要到证书颁发机构CA申请证书,HTTP不用申请证书;

二、HTTP是超文本传输协议,属于应用层信息传输,HTTPS 则是具有SSL加密传安全性传输协议,对数据的传输进行加密,相当于HTTP的升级版;

三、HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

四、HTTP的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。

原文链接:https://blog.csdn.net/whl190412/article/details/91865397

23.应用场景:

1)静态资源:可以部署静态资源,html js css image video

注意:.jsp是servlet-java代码,不是静态资源。

2)反向代理:

代理: 给某个对象提供一个代理对象,并由代理对象控制原对象的引用

正向代理: 对客户端进行代理(例如VPN)

反向代理: 对服务端进行代理

反向代理,就是对服务端进行代理,作为客户端,只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再响应给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,**暴露的是代理服务器地址,隐藏了真实服务器IP地址。**防止真实服务器被攻击

3)负载均衡:负载均衡(Load Balance, LB)意思就是将一份负载分摊到多个操作单元上进行执行

24.Nignx配置可以,调优,全局块啥的。 25.如果访问不到80端口:

1)看ip对不对

2)看防火墙是否开启端口。

声明反向代理:tomcatserver:纯字母全小写。写特殊字符可能会出问题。

复制粘贴的时候,不要复制粘贴注释,格式会很乱。

location / {
    		# 声明反向代理
             proxy_pass  http://tomcatserver; 
        }
26.由于多个服务器的性能可能不同,nignx可以配置比例(写死的)。 27.多开问题:

一个服务器可以开多个tomcat软件。

一个linux可以开启多个窗口。

java程序要想打印日志到其他文件中,需要后台运行才可以。

28.Nginx中提供了下面几种负载均衡策略:
名称说明特点
轮询默认方式
weight权重方式根据权重分发请求,权重大的分配到请求的概率大
ip_hash依据ip分配方式根据客户端请求的IP地址计算hash值, 根据hash值来分发请求, 同一个IP发起的请求, 会发转发到同一个服务器上
least_conn依据最少连接方式哪个服务器当前处理的连接少, 请求优先转发到这台服务器
url_hash依据url分配方式根据客户端请求url的hash值,来分发请求, 同一个url请求, 会发转发到同一个服务器上
fair依据响应时间方式优先把请求分发给处理请求时间短的服务器
29.负载均衡策略拓展:

负载均衡策略好像只能用一个,不能同时使用多个。

withde:权重,加权轮询。

ip_hash:根据ip找到对应的tomcat,不会出现神经病现象。

url_hash:

1)根据redis.的缓存–依据url_hash不会重复加载缓存。

2)根据微服务。

30.分布式和集群的简述:

分布式:一个业务分拆多个子业务,部署在不同的服务器上
集群:同一个业务,部署在多个服务器上


链接忘了。。。

31.fastjson:json解析jar包。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/751419.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号