1.Eureka的初步认识
Eureka是一个服务注册和发现中心,Eureka是分布式微服务中典型的AP,保证了可用性,降低了一致性。
2.Eureka的服务端和客户端配置文件
每一个服务端都是一个实例,每一个客户端也是一个实例,配置Eureka服务端和客户端时,需要注意主机名称、项目名称、项目端口。
客户端注册到服务端时,会缓存服务列表到本地,这个缓存存在刷新机制。
每一个服务端既是服务端也是客户端。服务端会定时清除没有注册的客户端。但是当在一定时间内超多规定百分比没有注册,则会触发保护机制
3.Eureka服务注册的简单原理
Eureka使用了ConcurrenHashMap,将配置文件中的信息,写入到对应的对象当中。ConcurrenHashMap当中还第一个k是服务名称,第一个v是一个map,第二个k是实例名称,第二个v是配置信息。
服务注册之间通过http请求的方式,get、post、put、delete等方式完成了服务注册。
每一次服务注册或者服务剔除都是在内存中的CRUD。
4.Eureka的服务发现
客户端之间的服务发现,就是通过DiscoverClient类(springframework自带的类)去通过服务名称(项目名称)找到实例的信息。
5.负载均衡
Eureka通过ribbon的负载均衡去访问服务,ribbon通过restTemplate发起请求,用的是HttpUrlConnection发的请求,但该组件不支持连接池。
ribbon是承上启下的作用,承上Eureka,启下IRule