- 博客(16)
- 资源 (5)
- 收藏
- 关注
原创 sharding-jdbc系列之 数据源配置(一)
spring boot Yaml方式@Bean(name="testDataSource")publicDataSourcetestDataSource()throwsIOException{Stringyml="jdbc/testDataSource.yaml";ResourcecertResource=newClassPa...
2018-07-31 12:09:21 15494 5
转载 Redis的五种对象类型及其底层实现
Redis对象类型简介Redis是一种key/value型数据库,其中,每个key和value都是使用对象表示的。比如,我们执行以下代码: redis>SET message "hello redis"其中的key是message,是一个包含了字符串"message"的对象。而value是一个包含了"hello redis"的对象。Redis共有五种对象的类型,分别是...
2018-07-25 16:34:21 515
原创 Eureka知识总结
Eureka工作流程图注册 Eureka在应用启动时,会在EurekaAutoServiceRegistration这个类初始化的时候,主动去Eureka Server端注册。 Eureka在启动完成之后会启动一个40秒执行一次的定时任务,该任务会去监测自身的 IP信息以及自身的配置信息是否发生改变,如果发生改变,则会重新发起注册,详情可见:深入理解lastDirty...
2018-07-20 10:18:46 917
原创 Eureka控制台参数说明
Home进入Eureka控制台首页,首先看HOME页的头部System StatusEnvironment : 环境,默认为test, 该参数在实际使用过程中,可以不用更改Data center : 数据中心,使用的是默认的是 “MyOwn”Current time:当前的系统时间Uptime : 已经运行了多少时间Lease expiration enabled :是...
2018-07-19 10:16:11 11646
原创 Eureka常见问题解答
什么情况下会开启自我保护机制?前提说明Eureka Server 内部维护了两个变量 :expectedNumberOfRenewsPerMin :每分钟最大的续约数量,由于客户端是每30秒续约一次,一分钟就是续约2次, count代表的是客户端数量所以这个变量的计算公式 : 客户端数量*2 numberOfRenewsPerMinThreshold : 每分钟最小续约数...
2018-07-18 10:05:57 2690
原创 Eureka Client监听启动状态
在Eureka Client 端,通过@PostConstruct注解去做一些初始化工作,有时候会涉及到调用其他微服务,这个时候,由于Eureka Client尚未启动完成,注册信息还没有从Eureka Server上拉取下来,因此ribbon是获取不到client信息的,在使用Fegin调用的过程中,如果开启了熔断器,那么,服务调用会快速失败feign: hystrix:...
2018-07-16 10:13:40 3207
原创 Eureka Rest接口文档
版本说明Eureka1.6.2服务注册接口地址: /eureka/v2/apps/appID调用方式:POST源码地址:com.netflix.eureka.resources.ApplicationResource.addInstance()返回接口:HTTPCode: 204 为成功接口说明:据官方文档介绍,该接口是为了注册一个全局应用,目前暂未发现在哪里使用。...
2018-07-13 10:30:02 9070 2
原创 Eureka Server集群重启问题追踪
问题在生产环境重启Eureka Server集群的时候,发现订单客户端调用分布式Id生成服务出错,Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client: IDGfor client: IDG显示订单服务调不到IDG服务了问题...
2018-07-12 08:18:21 3156 2
原创 Eureka强制下线
Eureka强制下线强制下线可以通过调用stateUpdate接口,更改实例的状态为OUT_OF_SERVICE 。实现方式调用接口:/eureka/apps/appID/instanceID/status?value=OUT_OF_SERVICE调用示例:http://101.37.33.252:8083/eureka/apps/EUREKA-1/10.28.144.1...
2018-07-11 10:18:12 6943
原创 Erueka状态变更说明(十三)
状态说明STARTING : 表示服务正在启动中DOWN: 表示服务已经宕机,无法继续提供服务UP : 服务正常运行OUT_OF_SERVICE : 不再提供服务,其他的Eureka Client将调用不到该服务,一般有人为的调用接口设置的,如:强制下线。UNKNOWN: 未知状态状态变更容器启动在容器刚刚启动,实例化instance信息的时候,默认状态为START...
2018-07-10 10:14:16 1563
原创 深入理解lastDirtyTimestamp(十二)
简介lastDirtyTimestamp在Eureka中承载了比较重要的作用,在续约,设置覆盖状态,删除覆盖状态的时候都有用到。定义: 实例的最后修改时间Eureka ClientEurekaClient在系统启动的时候,会启动一个定时任务,每40秒执行一次,该定时任务负责比对客户端的信息,如果发生改变则更新lastDirtyTimestamp的值,同时对Eureka Se...
2018-07-09 10:29:30 2091
原创 深入理解Eureka Server状态计算规则(十一)
简要在深入理解Eureka Server覆盖状态(九)这一篇文章中,我们介绍了Eureka Server的覆盖状态,但是覆盖状态设置了之后Eureka在使用的时候都会通过getOverriddenInstanceStatus()这个方法来计算实例的最终状态,那么他计算的规则是什么呢,本篇文章主要讲的就是这个。代码回顾在注册的时候,计算实例的最终状态的代码如下,public ...
2018-07-06 11:03:42 1642
原创 深入理解Eureka Server集群同步(十)
集群启动同步protected void initEurekaServerContext() throws Exception { // ....省略N多代码 // 同步信息 int registryCount = this.registry.syncUp(); // ....省略N多代码} void initEurekaServerContext() ...
2018-07-05 10:03:23 5679
原创 深入理解Eureka覆盖状态(九)
应用场景在实际开发使用过程当中,在Eureka Admin控制台上,我们想强制下线某个服务 ,就需要用到覆盖状态的概念,其实说白了,就是在给实例存储另外一个状态,当续约,注册的时候,以这个覆盖状态为准 。覆盖状态设置覆盖状态程序入口: com.netflix.eureka.resources.InstanceResource@PUT@Path("status")pub...
2018-07-04 10:16:26 1197
原创 深入理解Eureka缓存机制(八)
Eureka Server缓存机制Eureka Server的缓存机制依赖于谷歌的gauva cache , 在Eureka中通过com.netflix.eureka.registry.ResponseCacheImpl , 这个操作类来实现缓存的机制。ResponseCacheImplResponseCacheImpl(EurekaServerConfig serverConf...
2018-07-03 10:00:36 5759
原创 深入理解Eureka获取注册信息(七)
Eureka-Client获取信息启动获取在客户端应用启动时,初始化DiscoverClient的时候,会主动去获取一次注册信息@InjectDiscoveryClient(ApplicationInfoManager applicationInfoManager, EurekaClientConfig config, AbstractDiscoveryClientOptional...
2018-07-02 12:18:27 3535 1
sharding-jdbc按月分表样例
2018-10-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人