标签:retry

编程技术

『互联网架构』软件架构-zookeeper之curator详解(36)

3

wenming.gapo 发布于 2019-03-16

为了更好的实现java操作zookeeper服务器,后来出现Curator框架,非常的强大,目前已经是apache的顶级项目,里面提供了更多丰富的操作。例如:session超时重连,主从选举,分布式计数器,分布式锁等适用于各种复杂的zookeeper场景的API封装。 源码:ht...

阅读(14)评论(0)赞 (0)

Java

一文带你快速掌握AQS

13

likai 发布于 2019-03-15

AbstractQueuedSynchronizer 抽象队列同步器 ,简称为 AQS ,可用于构建 阻塞锁 或者其他相关 同步器 的基础框,是Java并发包的基础工具类。通过 AQS 这个框架可以对 同步状态原子性管理、线程的阻塞和解除阻塞、队列的管理 进行统一管理。 AQS ...

阅读(18)评论(0)赞 (0)

Java

Kafka连接器深度解读之JDBC源连接器 原 荐

2

hellas 发布于 2019-03-13

在现实业务中,Kafka经常会遇到的一个集成场景就是,从数据库获取数据,因为关系数据库是一个非常丰富的事件源。数据库中的现有数据以及对该数据的任何更改都可以流式传输到Kafka主题中,在这里这些事件可用于驱动应用,也可以流式传输到其它数据存储(比如搜索引擎或者缓存)用于分析等。 ...

阅读(32)评论(0)赞 (0)

编程技术

filecoin技术架构分析之十五:filecoin源码分析之节点运行逻辑

Harries 发布于 2019-03-12

我是先河系统CTO杨尉,欢迎大加关注的的Github: waynewyang ,本文是 filecoin技术架构分析系列文章 第十五章源码分析之节点运行逻辑。 分析基于的源码版本:go-filecoin master a0598a54(2019年3月9日) 前提 我们在前面的章节...

阅读(37)评论(0)赞 (0)

Java

OkHttp 源码分析(一)—— 请求流程

1

小丁 发布于 2019-03-12

这篇文章主要梳理一下 OkHttp 的请求流程,对 OkHttp 的实现原理有个整体的把握,再深入细节的实现会更加容易。 建议将 OkHttp 的源码下载下来,使用 IDEA 编辑器可以直接打开阅读。我这边也将最新版的源码下载下来,进行了注释,有需要的可以直接从 这里 下载查看。...

阅读(23)评论(0)赞 (0)

Java

OkHttp 开源库使用与源码解析

xubiao.zhuang 发布于 2019-03-11

Android 开发只需添加依赖,如下: implementation("com.squareup.okhttp3:okhttp:3.13.1") 官方示例1:获取一个 url 上的内容并输出 //Http 客户端 OkHttpClient client = ...

阅读(26)评论(0)赞 (0)

Spring

SpringCloud注册中心Eureka

21

songhua.gao 发布于 2019-03-10

本篇概论 在上一篇中我们介绍了微服务相关的内容。微服务的本质就是让服务与服务之间进行互相调用。那么在调用之前需要有一个前提。就是不同的服务与服务之间怎么知道彼此的存在的呢?因为服务都是独立部署的,根本没有任何关联。如果都不知道要调用的服务地址,那还怎么进行互相调用呢?为了解决这样...

阅读(54)评论(0)赞 (0)

Spring

190306-SpringCloud之Feign请求参数包装异常问题定位

4

wenming.gapo 发布于 2019-03-09

通过Feign包装rpc的调用姿势,在使用的版本中发现一个奇怪的bug,大部分场景下请求正常,少数情况下请求返回400,记录下原因 场景复现 1. 环境相关版本 Spring版本如 <spring.boot.version>2.0.1.RELEASE</spri...

阅读(29)评论(0)赞 (0)

编程技术

『互联网架构』软件架构-分布式系列并发编程(29)

9

yanxinchi 发布于 2019-03-09

说说JMM,线程,线程池。一切都为了分布式而行动! JMM 理解下面的图 java的文件,需要进行编译,通过java编译编程class文件,class文件变成字节码,装载到类装载器中,通过类装载器进行执行,执行的过程中的一个模型就是下面这个图。 特性 1.可见性 >可见性是...

阅读(44)评论(0)赞 (0)

Spring

集成源码深度剖析:Fescar x Spring Cloud

2

likai 发布于 2019-03-08

Fescar 简介 常见的分布式事务方式有基于 2PC 的 XA (e.g. atomikos),从业务层入手的 TCC( e.g. byteTCC)、事务消息 ( e.g. RocketMQ Half Message) 等等。XA 是需要本地数据库支持的分布式事务的协议,资源锁...

阅读(44)评论(0)赞 (0)

编程技术

用consul做grpc的服务发现

xiaoli.he 发布于 2019-03-07

用consul做grpc的服务发现与健康检查 consul 服务发现与负载均衡 当server端是集群部署时,client调用server就需要用到服务发现与负载均衡。通常有两总方式: 一种方式是在client与server之间加代理,由代理来做负载均衡 一种方式是将服务注册到一...

阅读(31)评论(0)赞 (0)

Java

设计模式(四)OkHttp的责任链模式

1

尖兵 发布于 2019-03-07

多个对象都有机会处理请求,将这些对象连成一个链,将请求沿着这条链传递,直到有对象处理为止。 2、使用场景 多个对象处理同一请求,具体哪个对象处理需要动态决定 需要指定一组对象处理请求 3、优点 将处理者和请求者进行解耦 4、缺点 需要对处理者进行遍历,处理者过多会影响性能 5、类...

阅读(30)评论(0)赞 (0)

编程技术

AWS Shuffle Sharding

4

hellas 发布于 2019-03-04

Colm MacCárthaigh 是 AWS 的 Senior Principal Engineer,如果常在追他的 Twitter 帳號 會看到很多有趣的 AWS 內部的 architecture 設計,像是最近有人在 og-aws.slack.com 的討論區...

阅读(28)评论(0)赞 (0)

Java

重试利器之Guava Retrying

4

xubiao.zhuang 发布于 2019-03-01

目录 如何优雅地设计重试实现 guava-retrying基础用法 guava-retrying实现原理 guava-retrying高级用法 重试的使用场景 在很多业务场景中,为了排除系统中的各种不稳定因素,以及逻辑上的错误,并最大概率保证获得预期的结果,重试机制都是必不可少的...

阅读(47)评论(0)赞 (0)

编程技术

使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集

3

zhuangli 发布于 2019-02-28

本博客是深入研究Envoy Proxy和Istio.io 以及它如何实现更优雅的方式来连接和管理微服务系列文章的一部分。 这是接下来几个部分的想法(将在发布时更新链接): 断路器(第一部分) 重试/超时(第二部分) 分布式跟踪(第三部分) Prometheus的指标收集(第四部分...

阅读(49)评论(0)赞 (0)

编程技术

单体应用微服务改造实践

16

xirruiqiang 发布于 2019-02-28

微服务的本质是弹性架构,动态适应业务规模增长,符合业务成长规律。在确定是否投资某一个业务领域或者产品的时候,刚开始都是探索,碰到各种问题,并经过多轮迭代,做成一个可用的产品,随着用户使用的越来越多,产品迭代的持续推进,产品越做越好。评估一个单体应用是否值得采用微服务架构进行演进,...

阅读(64)评论(0)赞 (0)

Java

Java高级特性增强-锁

1

wenming.gapo 发布于 2019-02-28

请戳GitHub原文: https://github.com/wangzhiwub… 大数据成神之路系列: 请戳GitHub原文: https://github.com/wangzhiwub… Java高级特性增强-集合 Java高级特性增强-多线程 Ja...

阅读(37)评论(0)赞 (0)

编程技术

我们如何在Linkerd 2.2里设计重试

1

darida 发布于 2019-02-27

作者:Alex Leong 重试是处理分布式系统中的部分或瞬态故障的基本机制。但重试也可能是危险的,如果做得不好,他们可以迅速将一个小错误升级为系统范围的中断。在这篇文章中,我们描述了我们如何在Linkerd 2.2里设计重试,使Linkerd能够在最小化风险的同时,自动提高系统...

阅读(62)评论(0)赞 (0)