1.nacos宕机,provider还可以读取信息吗?
可以,nacos宕机时,provider可以读取内存中的配置信息。
2.nacos使用长轮询,短轮询与客户端交互数据?
长轮询:服务端收到客户端发来的请求后不直接响应,而是将请求hold住29.5s,在这段时间内如果数据有变化,服务端才会响应,如果没有变化则在到达一定的时间后才返回请求,客户端处理完响应后会继续重发请求…这种方式能够大幅减少请求次数,减少服务端压力,同时能够增加响应的实时性,做的好的话基本上是即时响应的。
短轮询:客户端每隔一段时间向服务端发送请求,服务端收到请求即响应客户端请求,这种方式实现起来最简单,也比较实用,但缺点显而易见,实时性不高,而且频繁的请求在用户量过大时对服务器会造成很大压力。
nacos使用的是长轮询的方式。
3.nacos使用pull还是push与客户端交互数据?
Pull 表示客户端从服务端主动拉取数据。
Push 表示服务端主动把数据推送给客户端。
nacos使用的是Pull的方式,因为不会给服务器端造成太大的压力。
4.使用本地缓存需要考虑的问题?
(1)内存是否够用,(2)缓存与数据信息不匹配
5.四大引用:
强引用:如果一个对象具有强引用,它就不会被垃圾回收器回收。即使当前内存空间不足,JVM也不会回收它,而是抛出 OutOfMemoryError 错误,使程序异常终止。
软引用:
软引用:如果一个对象具有软引用,它就不会被垃圾回收器回收。只有在内存空间不足时,软引用才会被垃圾回收器回收。这种引用常常被用来实现缓存技术。因为缓存区里面的东西,之后在内存不足的时候才会被清空。
弱引用:如果一个对象具有弱引用,在垃圾回收时候,一旦发现弱引用对象,无论当前内存空间是否充足,都会将弱引用回收。不过由于垃圾回收器是一个优先级较低的线程,所以并不一定能迅速发现弱引用对象。
虚引用:如果一个对象具有弱引用,就相当于没有引用,在任何时候都有可能被回收。虚引用是使用PhantomReference创建的引用,虚引用也称为幽灵引用或者幻影引用,是所有引用类型中最弱的一个。使用虚引用的目的就是为了得知对象被GC的时机,所以可以利用虚引用来进行销毁前的一些操作,比如说资源释放等。
6.tomcat服务器的简单创建
(1)其实在通过IO读取消息
7.Sentinel添加依赖的作用
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
当添加完sentinel依赖之后,对浏览器发来的请求拦截到Sentinel拦截器种,分析是否符合Sentinel控制台规则,如果符合则会放行,如果不符合,则请求不会通过。