- 博客(11)
- 收藏
- 关注
原创 Disruptor(3)
5. 通过ProcessingSequenceBarrier#waitFor来获取可以消费的下标。检查警告标志是否正常,public long waitFor(final long sequence) throws AlertException, InterruptedException, TimeoutException { checkAlert()...
2018-11-29 18:28:13 533
原创 Disruptor(2)
3. RingBuffer#addGatingSequences=》AbstractSequencer#addGatingSequencespublic void addGatingSequences(Sequence... gatingSequences) { sequencer.addGatingSequences(gatingSequences); }...
2018-11-29 17:12:28 155
原创 Disruptor(1)
1. Disruptor的核心是解决伪共享,通过给填充整个缓存行来达到提高缓存命中率以及提高并发。通过一个环状数据结构实现RingBuffer。主要使用的方式如下,一个存储数据的RingBuffer,一个执行消费的线程生成器public Disruptor(final EventFactory<T> eventFactory, final int ringBufferSize, ...
2018-11-29 16:18:28 467
原创 Eureka注册流程(2)
4. AcceptorExecutor#AcceptorRunner线程和TaskExecutors#BatchWorkerRunnable线程在初始化时作为守护线程启动,这里处理请求有批量和单个,但是共用一个AcceptorExecutor,只是参数maxBatchingSize不一样,AcceptorRunner#run,先判断线程有没有被强制停止, public void run() ...
2018-11-19 18:48:28 1464
原创 Eureka注册流程(1)
1. 客户端发起注册本机信息请求JerseyApplicationClient父类AbstractJerseyEurekaHttpClient#registerpublic EurekaHttpResponse<Void> register(InstanceInfo info) { String urlPath = "apps/" + info.getAppNam...
2018-11-16 18:58:12 851
原创 Eureka服务端初始化(2)
4. 注册中心初始化registry.init(peerEurekaNodes);public void init(PeerEurekaNodes peerEurekaNodes) throws Exception { this.numberOfReplicationsLastMin.start(); this.peerEurekaNodes = peerEu...
2018-11-16 17:08:10 413
原创 Eureka服务端初始化(1)
1. 服务启动时会执行ServletContextListener即EurekaBootStrap,初始化通用配置的属性,再初始化服务上下文initEurekaServerContext,最后保存在ServletContext中public void contextInitialized(ServletContextEvent event) { try { ...
2018-11-16 10:40:58 1127
原创 Eureka客户端初始化(4)
10. 上接RetryableEurekaHttpClient#execute,继续执行clientFactory.newClient(currentEndpoint);返回的是new RedirectingEurekaHttpClient(endpoint.getServiceUrl(), delegateFactory, dnsService);requestExecutor.execute(...
2018-11-12 20:01:52 458
原创 Eureka客户端初始化(3)
6. 根据配置clientConfig.shouldRegisterWithEureka()生成eurekaTransport的注册客户端工厂newRegistrationClientFactorystatic EurekaHttpClientFactory canonicalClientFactory(final String name, ...
2018-11-12 17:38:52 588
原创 Eureka客户端初始化(2)
4. 上接Jersey1TransportClientFactories#newTransportClientFactory,构造收集监控信息的工厂metricsFactory public static TransportClientFactory createFactory(final TransportClientFactory delegateFactory) { f...
2018-11-12 14:54:12 639
原创 Eureka客户端初始化(1)
1. 基于1.X版本的源码ExampleEurekaService的main函数启动。通过配置中间件Archaius获取全局通用配置实例,实例化MyDataCenterInstanceConfig,父类PropertiesInstanceConfig以及AbstractInstanceConfig,拼接命名空间以及获取对应文件配置实例,返回实例配置instanceConfigpublic P...
2018-11-12 11:51:38 906 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人