2019年1月

sed -i "s#OPTIONS='#OPTIONS='-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock #" /etc/sysconfig/docker
systemctl restart docker

PS:
-H tcp://0.0.0.0:2375表示开启远程客户端API
-H unix:///var/run/docker.sock表示开启本地客户端API
如果OPTIONS中两个都不添加,则默认会开启本地客户端API,如果OPTIONS中只添加了远程客户端API,则只会开启远程客户端API,而不会开启本地客户端API,这样在本地无法使用docker命令操作docker服务,所以OPTIONS添加远程客户端API的时候,也要同时添加本地客户端API

创建镜像
docker build -t xxx/cloud-eureka:1.0.0 .

删除镜像
docker rmi ${IMAGE_ID}

删除所有临时镜像
docker rmi `docker images -f "dangling=true" -q`

删除指定关键字的镜像
docker images|grep 'xxx'|grep '1.0.0'|awk '{print $3}'|xargs docker rmi

- 阅读剩余部分 -

Spring Cloud在使用Feign的情况下,shutdown时会提示如下错误:
org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'eurekaAutoServiceRegistration': Singleton bean creation not allowed while singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)

- 阅读剩余部分 -

eureka.client.registryFetchIntervalSeconds(默认值:30),eureka client每隔多少秒从eureka server获取最新的已注册的实例信息,实例信息会缓存在eureka client
eureka.client.eurekaServiceUrlPollIntervalSeconds(默认值:5*60),eureka client每隔多少秒动态更新eureka server的信息,比如动态删除或新增eureka server的url,执行此任务的时候日志中会打印:Resolving eureka endpoints via configuration
ribbon.serverListRefreshInterval(默认值:30000,单位:毫秒),ribbon缓存服务器实例的时间,ribbon缓存数据来源于eureka client缓存,如果用了ribbon,想缩短客户端的缓存时间,除了修改eureka.client.registryFetchIntervalSeconds参数,还要修改ribbon.serverListRefreshInterval参数

- 阅读剩余部分 -

RestTemplate通过ClientHttpRequestFactory来创建ClientHttpRequest,常用的ClientHttpRequestFactory为SimpleClientHttpRequestFactory(底层使用jdk的HttpURLConnection,HttpURLConnection底层会使用长连接,详情参见:HttpURLConnection长连接详解)和HttpComponentsClientHttpRequestFactory(底层使用Apache的HttpClient),默认使用SimpleClientHttpRequestFactory。

- 阅读剩余部分 -

简介

Zuul是Spring Cloud中的网关,整个系统对外提供服务的统一入口。由于Spring Cloud中,一个服务有多个实例,并且实例还可以动态增加和减少,外部服务如果想要调用Spring Cloud中的内部服务,根本不知道内部服务具体的IP和端口是多少,所以没办法直接调用内部服务。使用Zuul就可以解决这个问题,外部服务只需要调用Zuul,告诉Zuul他想要调用哪个服务的哪个接口,根本不关心这个服务的IP和端口是多少,由Zuul作为代理向内部服务发请求,并将内部服务的响应内容返回给外部服务,由于Zuul也是一个Eureka Client,所以他会向Eureka Server获取所有服务的注册表,Zuul知道每个服务的每个实例的具体的IP和端口。使用Zuul还可以做统一鉴权、安全认证,将非法的请求直接拒之门外,不需要经过内部服务。

- 阅读剩余部分 -

简介

Hystrix是Spring Cloud中的熔断器,一个容错工具,相当于电路中的断路器,当电路中的负载过高,为了防止出现火灾事故,断路器会自动打开。在Spring Cound中,B服务调用C服务,当C服务出现故障,长时间不能响应,导致B服务也会变慢,而A服务调用B服务时,B服务也不能正常响应,导致整个系统出现雪崩。使用Hystrix后,B服务调用C服务,当请求失败率达到一定的阈值,B服务就会打开C服务的断路器,将C服务降级,同时启用备用机制,从而防止整个系统出现雪崩。

- 阅读剩余部分 -