摘要: 随着业务发展,很多系统需要经历服务拆分的过程。微服务化过程踩坑也是很正常的事。如果在服务拆分之前做好充分准备,能帮我们少走很多弯路。本文主要从服务依赖,接口版本,隔离,数据一致等方面说说微服务化过程应该注意的点 循环依赖问题 微服务化之后服务之间会存在各种依赖关系,不过依赖需要遵循一定的规则,不能太 阅读全文
posted @ 2021-06-06 17:58 ppjj 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 这也是rest api相对高级用法,也就是URL里面没有动词,都是用put,get,delete,post(replace),patch表示动作 在使用Spring boot 开发restful 风格的项目,put、delete方法不起作用,解决办法。 实体类Student @Data public 阅读全文
posted @ 2021-06-06 17:56 ppjj 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 如果你用过Dubbo,但是没碰到过什么坑,那只能说明你还没有深交Dubbo,看看笔者那些年使用Dubbo踩过的坑! 父子类有相同属性时值丢失 假设Provider提供的服务中某个服务的参数是WordDTO,并且WordDTO继承自BaseDTO,两个类的定义如下: @Datapublic class 阅读全文
posted @ 2021-06-06 17:52 ppjj 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 1,不变性 当满足以下条件时,对象才是不可变的: - 对象创建以后其状态就不可修改 - 对象的所有域都是 final 类型 - 对象是正确创建的(在对象的构造期间,this 引用没有逸出) 从技术上来看,不可变对象并不需要将其所有的域都声明为 final 类型,例如 String 就是这种情况,这就 阅读全文
posted @ 2021-06-06 17:41 ppjj 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 线上实战问题 问题 1:想要请问一下,我这边需求是每分钟利用 sparksteaming 插入按天的索引 150 万条数据。一般情况下还好,索引 7 个分片,1 副本,但是偶尔会出现延迟很高的情况。比如:一般情况下 1 分钟插入 150 万能正常插入,可能突然就出现了需要 5 分钟才能插入成功,然后 阅读全文
posted @ 2021-06-06 17:37 ppjj 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 介绍先来看下Dubbo的整体架构图。Exchange在倒数第三层。我用黄色线框框出来的区域。 Exchange层,属于信息交换层,是对Request和Response的抽象。 为什么要单独抽象出一个Exchange层,而不是在Protocol层直接对Netty或者Mina引用?这个问题其实不难理解, 阅读全文
posted @ 2021-06-06 17:32 ppjj 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 集群容错顶层抽象类AbstractClusterInvoker详解AbstractClusterInvoker 上一篇文章已经介绍了Cluster接口有10个实现类。每个Cluster实现类都会创建一个对应的Cluster Invoker对象。MockClusterWrapper是包装类,ZoneA 阅读全文
posted @ 2021-06-06 17:25 ppjj 阅读(113) 评论(0) 推荐(1) 编辑
摘要: 通过上一遍文章整体架构中已经详细了描述了Dubbo框架的整体设计结构和调用流程,接下来,我还是深入源码,详细分析各个层的实现原理,这一篇主要讲述Config层。 由整体的设计可以知道,Config层抽象了外部配置,各个模块的配置都会在Config层来体现。先看一下它的核心实现为org.apache. 阅读全文
posted @ 2021-06-06 17:15 ppjj 阅读(86) 评论(0) 推荐(0) 编辑