![](https://csdnimg.cn/release/download_crawler_static/87500505/bg4.jpg)
a.
当一个服务实例启动,会将它的ip地址等信息注册到eureka;
b. 当a服务调用b服务,a服务会通过Ribbon检查本地是否有b服务实例信息的缓存;
c. Ribbon会定期从eureka刷新本地缓存。
10. eureka的缺点。
a.
某个服务不可用时,各个Eureka
Client不能及时的知道,需要1~3个心跳周期才能感知,但是,由于基于Netflix的服务调用端
都会使用Hystrix来容错和降级,当服务调用不可用时Hystrix也能及时感知到,通过熔断机制来降级服务调用,因此弥补了基于
客户端服务发现的时效性的缺点。
11. eureka缓存机制?
a. 第一层缓存:readOnlyCacheMap,本质上是ConcurrentHashMap:这是一个JVM的CurrentHashMap只读缓存,这个主要是
为了供客户端获取注册信息时使用,其缓存更新,依赖于定时�的更新,通过和readWriteCacheMap 的值做对比,如果数据不一
致,则以readWriteCacheMap 的数据为准。readOnlyCacheMap 缓存更新的定时�时间间隔,默认为30秒
b. 第二层缓存:readWriteCacheMap,本质上是Guava缓存:此处存放的是最终的缓存, 当服务下线,过期,注册,状态变
更,都会来清除这个缓存里面的数据。 然后通过CacheLoader进行缓存加载,在进行readWriteCacheMap.get(key)的时候,首
先看这个缓存里面有没有该数据,如果没有则通过CacheLoader的load方法去加载,加载成功之后将数据放入缓存,同时返回数
据。 readWriteCacheMap 缓存过期时间,默认为 180 秒 。
c. 缓存机制:设置了一个每30秒执行一次的定时任务,定时去服务端获取注册信息。获取之后,存入本地内存。
12. rpc和http的区别,使用场景?
a. 区别:
传输协议
RPC,可以基于TCP协议,也可以基于HTTP协议
HTTP,基于HTTP协议
传输效率
RPC,使用自定义的TCP协议,可以让请求报文体积更小,或者使用HTTP2协议,也可以很好的减少报文的体积,提