目录
跨域请求中JSONP和HttpClient的区别
1.JSONP是基于浏览器的,解决跨域问题的;
httpClient是基于代码模拟http请求,获取服务端的参数的,功能上类似,但是经过的环节不同。
2.安全性不同JSONP的全部信息都可以通过浏览器进行监控;
但是HttpClient浏览器不能监控.
3.代码调用层级不同:
- Jsonp需要调用服务端业务逻辑,最多三层;
- httpClient需要调用5层。
4.适用场景:
- 如果从服务端获取数据,js可以直接解析,使用JSONP;
- 如果服务端的程序返回值需要进一步处理,这时候使用httpClient。
哨兵机制怎么实现的,实现了什么功能
- 哨兵机制
Redis的哨兵(sentinel) 系统用于管理多个 Redis 服务器,该系统执行以下三个任务:
监控(Monitoring): 哨兵(sentinel) 会不断地检查你的Master和Slave是否运作正常。
提醒(Notification):当被监控的某个 Redis出现问题时, 哨兵(sentinel) 可以通过 API 向管理员或者其他应用程序发送通知。
自动故障迁移(Automatic failover):当一个Master不能正常工作时,哨兵(sentinel) 会开始一次自动故障迁移操作,它会将失效Master的其中一个Slave升级为新的Master, 并让失效Master的其他Slave改为复制新的Master; 当客户端试图连接失效的Master时,集群也会向客户端返回新Master的地址,使得集群可以使用Master代替失效Master。 - 功能:实现redis高可用
- 机制:心跳检测
注册中心的运行原理
1.当服务器提供者启动时,将自己的ip/端口号/数据一起注册到注册中心;
2.当消费者启动时,会拉取注册中心的数据;
3.当用户需要业务操作时,消费者会根据服务列表获取ip:端口号,利用远程过程调用进行远程访问。
4.注册中心有心跳检测机制,当发现有服务器发生宕机时,更新自己的服务列表,全网通知。
Nginx实现负载均衡和反向代理的配置
- 配置域名代理
server{
listen 80;
server_name manage.jt.com;
location / {
#代理反向代理服务器地址
proxy_pass http://jtw
}
}
#轮询策略
upstream jtw{
server localhost:8081;
server localhost:8082;
server localhost:8083;
}
- 负载均衡策略
ip_hash策略:用户与后端服务器进行绑定。
down标识: 标识故障机
backup属性:标识备用机
max_fails=1:允许访问失败的最多次数
fail_timeout=60s:失败的超时时间
Redis配置
- 导入jar包
- 编辑配置文件 :配置host和port
redis.host=192.168.126.129
redis.port=6379
3.编辑配置类:添加@Bean注解交给spring容器管理
@Configuration:定义配置类注解,一般与@bean连用
Redis持久化
- RDB模式
- AOF模式
Mycat配置
- 在Linux上传安装包
- 修改server.xml文件
(1)定义用户标签
<!--用户标签-->
<user name="root">
<property name="password">root</property>
<!--与schema.xml中的配置相同 注意数据库的大小写-->
<property name="schemas">jtdb</property>
</user>
<user name="user">
<property name="password">user</property>
<property name="schemas">jtdb<