springcloud
zhurhyme
比较斋
展开
-
如何学习mysql数据库-mysql学习总结
最近在学习mysql数据库,对于不明白的问题翻阅了不少的博客,在此总结一下。mysql数据库学习首推的当然是 mysql reference关于mysq 的协议,当然是 mysql inner reference但是这两个参考文档都太长,很少有人能够将其看完,我也是将其作为参考。如果想了解mysql 的复制原理,可以参考一下canal 的源代码,canal源码分析。看canal 源码时结合mysql inner reference 文档,能够很快明白其基本原理。对于mysql 的redo log原创 2020-10-28 22:41:26 · 337 阅读 · 0 评论 -
feignclient的实现原理(二)-code demo
在前一篇文档中简单的描述了feignclient的实现原理,这一篇我们就将其核心原理用简单代码描述一下。这里使用的java知识就是代理。在这篇文档中,我只是将如何构建代理的那一部分简单实现一下,为的是能够更好的理解其本质,因为spring cloud 框架帮我封装的太深以致于无法了解其本质。下面就以一个例子来简要描述一下。接口定义package com.test;public interface HelloService { String sayHello(String name);}为了在原创 2020-10-26 21:44:12 · 754 阅读 · 0 评论 -
feignclient的实现原理的理解
最近在阅读 feignclient的代码,但是一入代码深似海,所以需要跳出三界外不在代码中来梳理一下feignclient的实现原理。所以后面写的内容不是对于源码的真实描述,而是一个综合性的描述,并不一定准确。但是有助于后面去梳理这整个框架。feignclient实现原理对于feignclient是如何实现的呢?对于个问题,简单的回答就是反射代理。xi在java中实现即只能通过java.lang.reflect.Proxy实现一个代理对象Instance,有了这个instance之后业务代码就可以使用了原创 2020-10-16 22:20:28 · 2529 阅读 · 0 评论 -
spring.application.name改名引发的bug
spring.application.name改名引发的bug背景因为系统进行技术组件迁移,需要占用spring.application.name 这个配置名称。而原系统所使用技术栈为spring cloud,注册中心为eureka,业务系统所提供的服务名称在注册中心的名字所使注册的名字即为spring.application.name所配置的内容,下游业务所使用的feignclient通过服务名进行调用服务要么一起该,要么服务端要做到平滑升级。作为技术人员,当然是选择平滑升级了。如何做到平滑升级呢?原创 2020-10-11 11:35:00 · 22649 阅读 · 0 评论